Think back to the start of what some refer to as “the COVID-19 era.” It was early 2020 and prep for IETF 107 was in full swing. The wiki for the IETF 107 Hackathon already boasted an exciting list of projects. Then COVID-19 hits and, in the midst of tremendous uncertainty, we hoped for the best and planned accordingly.
Fortunately, the IETF leadership was working on contingency plans. Once it became clear the IETF meeting could not occur in person, tremendous work was done to hold the IETF meeting online.
Video conferencing offered a promising alternative to meeting in person for at least some parts of a typical IETF agenda. But what about the hackathon?
By the time of the official announcement of the cancellation of the onsite meeting and the switch to IETF being completely online, the hackathon had 23 projects and 176 registrations. With only 10 days until the anticipated start of the hackathon, a survey went out to the hackathon community, including all project champions and registered participants, to see if they wanted to participate in the hackathon exactly as planned except with everyone participating remotely rather than in person.
A relatively small number of people expressed interest in participating, with even fewer wanting to continue to champion their projects. The fact that the hackathon was planned for the weekend before the IETF meeting and in the Vancouver time zone, two things which were generally very convenient and attractive to hackathon participants, suddenly became huge obstacles. How could people all across the globe with special networking requirements and the need for close, long duration collaboration work effectively entirely online.
The answer …? You tell me. We could not find one.
Consequently, the IETF 107 Hackathon was cancelled, making IETF 107 the first since IETF 92 to not have a hackathon and reminding me of, “The Year Without a Santa Claus”, one of my favorite childhood holiday specials on TV.
Image credit to https://www.google.com
The IETF community learned a great deal from IETF 107 and its first experience with an online meeting. In the lead up to IETF 108, many changes were made. It was much clearer, and much more in advance, that IETF 108 would likely need to be online as well.
When the official announcement arrived on May 14 that IETF 108 would be online, we had more time to consider options. And on June 2, we announced plans for the first ever IETF Hackathon Online.
IETF 108 was held completely online and so was the hackathon.
The biggest changes to the hackathon format were to address the key challenges that led to the cancellation of the IETF 107 Hackathon,
- occurring on a weekend,
- restrictions due to different time zones
We moved and expanded the schedule to run the entire work week before the IETF 108 meeting. The hackathon kickoff was set for Monday, the closing for Friday, with all the time in between left for individual project teams to arrange to meet how and when was most convenient for them. The kickoff and closing sessions were schedule for 14:00-15:00 UTC, which was the middle of the time frame established for the IETF 108 meeting. All of this was, of course, not ideal. And, it worked much better for some people than for others. But at least everyone knew the plan and corresponding time commitment well in advance and had the ability to plan accordingly.
The Community responds
The response …? It was much greater than I believe anyone expected. We ultimately had 19 projects and almost 300 registrations. It is hard to say how many people actually participated and for how long, but many projects were able to get substantial work done. For the closing, 10 teams produced and shared presentations summarizing their findings and achievements. All presentations as well as the agenda and a recording of the closing session are available via the IETF 108 Hackathon wiki.
We tried several new things to facilitate better online collaboration:
We added a Team Schedule, where teams were encouraged to inform others how and when to collaborate with their team.
We created a space in gather.town to facilitate hallway conversations and meeting around virtual tables.
And perhaps most significantly (and something we plan to use going forward for online and in person hackathons) we added the ability for members of a team to connect to a virtual IETF network specifically for their team.
With a Raspberry Pi 2 or newer, a team could be virtually connected to the IETF network with IPv4 and IPv6 addresses and have access to many networking options (IPv6ONLY, a closed user group, NAT64, IPv6PD, and more) specifically for use for their project.
Feed back cycle leads to higher quality specifications in less time
A key benefit of the hackathon, and of running code in general, is that it provides an opportunity to gain implementation experience and validate if what is being proposed and documented works as expected. For example, any attempt to implement an internet draft is a great way to identify ambiguities, conflicts, and things that are missing from the draft. Doing so within the context of the hackathon has the unique advantage of bringing those implementing the draft together with those writing the draft. This enables fast discovery and resolution of issues.
Furthermore, the ability to share what is learned with relevant working groups, and the IETF community at large throughout the rest of the IETF meeting, greatly accelerates IETF efforts. It also leads to higher quality specifications in less time.
What follows are just a couple examples of the outstanding presentations from the IETF 108 Hackathon.
Network Management Research Group (NMRG)
These were followed by a presentation by Korian Edeline that summarized the goals and results of a hackathon project that added support for what were the current version of each draft to an open source SAIN agent. This implementation effort identified several issues in the draft that were quickly addressed in an updated version that emerged by the end of the hackathon. This not only validated the overall approach outlined in the drafts but also helped improve the completeness and correctness of the drafts.
Next on the agenda were reports on two other hackathon projects led by other NMRG participants,
These included accounts by first time hackathon participants and code that would be contributed back to the OpenStack project. The successful integration of newcomers and collaboration with open source communities highlight two additional key benefits of the IETF Hackathon.
A Semantic Definition Format (ASDF)
During the week of the IETF meeting, there is an opportunity to make proposals for areas of new work. These proposals are typically made in what are referred to as BoFs, short for Birds of Feather sessions. One such proposal was in the ASDF BoF. The stated goal was to harmonize data models across many Internet of Things (IoT) devices and their respective communities. This proposal was met with strong support by device vendors and other SDOs including Bluetooth, OCF, OMA, and Zigbee. One important requirement of the proposal is to be able to easily translate between a common semantic definition format and other community specific formats. As a great example, a toolkit developed at an IETF Hackathon, ipso-odm, provides automated translation between IPSO/LwM2M models and One Data Model SDF. In this case, a hackathon project helped validate the feasibility and usability of the approach proposed in the BoF.
Thank you, thank you, thank you
Special thanks to 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 we welcome and encourage additional sponsors. By sponsoring the hackathon you can help ensure it remains a free event accessible to everyone.
We also thank Cisco DevNet, who sponsored and ran the first several hackathons and continue to be big supporters. Networking standards are critical to Cisco’s business, and the IETF hackathons provides a great way to engage with end users, not only with product APIs but also in support of standards that enhance interoperability and serve as integration points.
Finally, transitioning to an online hackathon was unprecedented and not an easy task. Tremendous thanks and kudos to the Secretariat, NOC, LLC, Tools Team, MeetEcho, and Gather developers.
Despite its success, there is no mistaking that an online IETF Hackathon is not a replacement for an in-person experience. An IETF Hackathon Co-Chair once wrote,
“IETF Hackathons are collaborative events with a shared goal of moving IETF work forward. T-shirts and laptop stickers are prized takeaways from the event. IETF veterans work side by side with newcomers, exchanging ideas and collaborating on code. This is a great way for newcomers, especially developers interested in networking, security, and other IETF technologies, to have a welcoming introduction to the IETF and start making significant contributions immediately.” — Charles Eckel, IETF Hackathon Co-Chair
Perhaps even more important than the work that gets done during the hackathon are the connections and relationships that get established working closely together on common goals and code. The social time during coffee breaks, over lunch, or really any time during the course of a typical hackathon, are extremely valuable on personal and professional levels. Unfortunately, much of that is lost in translation to an online only event.
The next IETF meeting is IETF 109, originally scheduled 14-20 November in Bangkok. Whether the meeting can occur in person or will be switched to online will be determined in the coming weeks. But two things are already certain, there will be a hackathon as part of IETF 109, and we will use what we have learned from our past experience to make the IETF 109 Hackathon the best it can be. To get the latest info, subscribe to firstname.lastname@example.org.
Hope you will join us!
We’d love to hear what you think. Ask a question or leave a comment below.
And stay connected with Cisco DevNet on social!
Visit the new Developer Video Channel