Filter by topic and date
IETF 110 Hackathon: The fruit of our labor
- Charles Eckel IETF Hackathon Co-chair
2 Apr 2021
I use the Internet almost every day. If you are reading this, you probably do too. The Internet provides access to information and to each other in ways that are ingrained in our daily routines and on which we rely for both work and play.
The ease of access and integration into so many aspects of our lives can lead to taking it for granted. Sometimes one needs to lose something, at least temporarily, to realize its importance. When COVID-19 hit, we lost the ability to safely interact with each other in person and to congregate in large groups. This has been difficult for most people, myself included. However, I cannot help but wonder how life would have been had we lost access to the Internet for the past year? COVID-19 has been devastating, but our access to the Internet has helped us limit and cope with the damage.
IETF Hackathons encourage the IETF community to collaborate on running code related to existing and evolving Internet standards. Such collaboration can and does happen all the time, but the IETF Hackathons provide a dedicated time and place for hundreds of people to gather for this specific purpose. The space is typically a large room at the same venue as the corresponding IETF meeting. In light of COVID-19, such gatherings are obviously not possible. Fortunately, the ability to gather virtually and collaborate online makes it possible for IETF meeting and IETF Hackathons to continue to occur. While most would agree that meeting in person is still preferred and more productive and rewarding, it should not be lost on anyone that the same Internet standards that we come together to create and improve are what make online gathering and collaboration possible. The recently published WebRTC standards are great examples, and there are countless others.
IETF Hackathons are free to attend and open to everyone. Software developers are the primary audience, but participation by subject matter experts who are not necessarily developers is encouraged and very important as well. While the Hackathon aims to attract newcomers and those who do not typically view themselves as standards professionals, long time IETF contributors, including Internet-Draft authors, working group chairs, and subject matter experts, are key participants as well. Group dynamics and blending of skillsets and perspectives are important aspects of IETF Hackathons. Running code created and improved as a result of each Hackathon is valuable, but so is the exchange of ideas, extensions of human networks, and establishment of new friendships, respect, and trust.
Past IETF Hackathons have taught us that code is often more illustrative and less confrontational than text in a draft or an email. Working together to find common understanding of proposals, concerns, and solutions that result in improvements to evolving Internet-Drafts is as important as the development of code that implements or validates the correctness of these same drafts. Consequently, IETF Hackathons are collaborative events, not competitions. Any competitiveness among participants is friendly and in the spirit of advancing the pace and relevance of new and evolving Internet standards.
Gathering in "Prague"
IETF 110 was originally scheduled for March 6-10 in Prague. It was known well in advance that meeting in person for the IETF meeting and the Hackathon would not be possible. This made preparations easier in that we planned for an online Hackathon right from the start. Experience from IETF 108 and IETF 109 guided our decision to have the IETF 110 Hackathon run the entire week before the IETF 110 meeting. The kickoff on Monday, March 1 and the closing on Friday, March 5 were held at 14:00 – 16:00 CET to align with the “local” time zone. The time in between was left for individual project teams to meet how and when was most convenient for them.
Almost 300 people registered. They were able to choose from a diverse set of more than 20 projects that encompassed nearly every corner of IETF standardization efforts. The new and improved Gather space of IETF 110 (left), with the Hackathon area enlarged (right), facilitated social interaction and provided convenient mechanisms for project teams to collaborate online.
Sharing results
All teams participating in the Hackathon are encouraged to share their results during the Hackathon closing. The results summaries are brief presentation by each team of what problem they tried to solve, what they achieved, and highlights that include lessons learned, feedback to associated IETF working groups, and collaboration with open source communities and other standards organizations. They also highlight individuals who participated in their first IETF Hackathon or first IETF event. This is done to facilitate their introduction into the IETF community. The production and presentation of results summaries is optional. Fortunately, despite the lack of awards and prizes, most teams participate.
All the presentations are available via the IETF-Hackathon GitHub, and the recording of their delivery is available via the Meetecho session for the Hackathon closing. All teams did amazing work. I recommend you watch them all. A couple examples are below.
I was at the first IETF Hackathon at IETF 92 in Dallas in 2015, and I have participated in many more since, in person and remote, working on a lot of different topics: SPUD, ACME STAR, NQB, DTLS, EAT, CoSWID, traffic synthesizers, etc. Basically every spec I've touched, either from an editor perspective or as a consumer, I've always tried to give it a spin at the Hackathon - checking assumptions, discussing with other implementers - and having a platform to do that in a consistent way has been fantastic.
A final note. Remote hackathons can be productive, even exceptionally productive, but the a-synchronicity due to different time zones and the lack (or very reduced) random bumping into other folks at the beer and food line make them a pretty different experience. You still come out of a remote Hackathon quite exhausted and at the same time filled with bliss and energy, but beating the "real stuff" is not possible. In fact, I'm looking forward to resume "Hackathon normalcy" ASAP :-)
- Thomas Fossati, RATS and friends project
We were able to get 5 or 6 QUIC implementations to interop with the new perf protocol and use that to get some performance numbers. [Some fixes have already been pushed as a result of these tests.] I believe this hackathon helped encourage awareness of the performance implications of the various QUIC stacks, and the complexities that interop adds to performance.
- Nick Banks, QUIC performance project
Thank you sponsors
On behalf of everyone who participated, I would like to thank ICANN for sponsoring the Hackathon. Many of our typical expenses were reduced or eliminated as a result of not meeting in person, but new and expanded tools to facilitate increased collaboration online resulted in new expenses elsewhere. We greatly appreciate this sponsorship and welcome and encourage additional sponsors. By sponsoring the Hackathon, you help ensure it remains a free event accessible to everyone. More information is available online at IETF Running Code Sponsors.
And of course, special thanks to the IETF Secretariat, NOC, LLC, Tools Team, Meetecho, and Gather developers for all their efforts to make online IETF Hackathons possible and successful.
Next Time
As productive as the IETF 110 Hackathon was, and with all the improvements made to facilitate richer online collaboration, online IETF Hackathons still do not replace meeting in person, gathering around the same table with your teammates, and being in the same physical room with hundreds of other Internet standards enthusiasts. The next IETF meeting, IETF 111, is scheduled for July 24 – 30 in San Francisco. There will be an IETF Hackathon, it will include fantastic mechanisms for remote participation, and soon we will know if it is safe and possible to participate in person as well. Until then, stay safe, healthy, and subscribed to hackathon@ietf.org for updates.