rfc9311.original | rfc9311.txt | |||
---|---|---|---|---|
Stay Home Meet Occasionally Online C. Eckel | Internet Engineering Task Force (IETF) C. Eckel | |||
Internet-Draft Cisco Systems | Request for Comments: 9311 Cisco Systems | |||
Intended status: Informational 23 July 2022 | Category: Informational September 2022 | |||
Expires: 24 January 2023 | ISSN: 2070-1721 | |||
Running an IETF Hackathon | Running an IETF Hackathon | |||
draft-ietf-shmoo-hackathon-08 | ||||
Abstract | Abstract | |||
IETF Hackathons encourage the IETF community to collaborate on | IETF Hackathons encourage the IETF community to collaborate on | |||
running code related to existing and evolving Internet standards. | running code related to existing and evolving Internet standards. | |||
This document provides a set of practices that have been used for | This document provides a set of practices that have been used for | |||
running IETF Hackathons. These practices apply to Hackathons in | running IETF Hackathons. These practices apply to Hackathons in | |||
which both in-person and remote participation are possible with | which both in-person and remote participation are possible, with | |||
adaptations for Hackathons that are online only. | adaptations for Hackathons that are online only. | |||
Discussion Venues | ||||
This note is to be removed before publishing as an RFC. | ||||
Discussion of this document takes place on the Stay Home Meet | ||||
Occasionally Online Working Group mailing list | ||||
(manycouches@ietf.org), which is archived at | ||||
https://mailarchive.ietf.org/arch/browse/manycouches/. | ||||
Source for this draft and an issue tracker can be found at | ||||
https://github.com/eckelcu/draft-ietf-shmoo-hackathon. | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This document is not an Internet Standards Track specification; it is | |||
provisions of BCP 78 and BCP 79. | published for informational purposes. | |||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Not all documents | |||
approved by the IESG are candidates for any level of Internet | ||||
Standard; see Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on 24 January 2023. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9311. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2022 IETF Trust and the persons identified as the | Copyright (c) 2022 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
in the Revised BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
2. Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2. Timing | |||
2.1. Agenda . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2.1. Agenda | |||
2.2. Hackdemo Happy Hour . . . . . . . . . . . . . . . . . . . 7 | 2.2. Hackdemo Happy Hour | |||
2.3. Code Lounge . . . . . . . . . . . . . . . . . . . . . . . 7 | 2.3. Code Lounge | |||
2.4. Code Sprint . . . . . . . . . . . . . . . . . . . . . . . 7 | 2.4. Code Sprint | |||
2.5. Online Only . . . . . . . . . . . . . . . . . . . . . . . 8 | 2.5. Online Only | |||
3. Funding . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 3. Funding | |||
3.1. Sponsorship . . . . . . . . . . . . . . . . . . . . . . . 9 | 3.1. Sponsorship | |||
3.2. Expenses . . . . . . . . . . . . . . . . . . . . . . . . 9 | 3.2. Expenses | |||
3.2.1. In-person Event Expenses . . . . . . . . . . . . . . 9 | 3.2.1. In-Person Event Expenses | |||
3.2.2. Remote Participation Expenses . . . . . . . . . . . . 11 | 3.2.2. Remote Participation Expenses | |||
4. Project Presentations . . . . . . . . . . . . . . . . . . . . 12 | 4. Project Presentations | |||
4.1. Project Pitches . . . . . . . . . . . . . . . . . . . . . 12 | 4.1. Project Pitches | |||
4.2. Project Results Presentations . . . . . . . . . . . . . . 12 | 4.2. Project Results Presentations | |||
4.2.1. Templates . . . . . . . . . . . . . . . . . . . . . . 13 | 4.2.1. Templates | |||
4.3. Upload to GitHub . . . . . . . . . . . . . . . . . . . . 13 | 4.3. Upload to GitHub | |||
4.4. Presenting in Person . . . . . . . . . . . . . . . . . . 14 | 4.4. Presenting in Person | |||
4.5. Presenting Remotely . . . . . . . . . . . . . . . . . . . 14 | 4.5. Presenting Remotely | |||
5. Tooling . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 5. Tooling | |||
5.1. Datatracker . . . . . . . . . . . . . . . . . . . . . . . 14 | 5.1. Datatracker | |||
5.2. IETF Website . . . . . . . . . . . . . . . . . . . . . . 14 | 5.2. IETF Website | |||
5.2.1. Hackathon Website . . . . . . . . . . . . . . . . . . 14 | 5.2.1. Hackathon Website | |||
5.2.2. Meeting Website . . . . . . . . . . . . . . . . . . . 15 | 5.2.2. Meeting Website | |||
5.3. Registration . . . . . . . . . . . . . . . . . . . . . . 15 | 5.3. Registration | |||
5.3.1. Participant List . . . . . . . . . . . . . . . . . . 15 | 5.3.1. Participant List | |||
5.3.2. Caps on Registrations . . . . . . . . . . . . . . . . 15 | 5.3.2. Caps on Registrations | |||
5.4. Meeting Wiki . . . . . . . . . . . . . . . . . . . . . . 15 | 5.4. Meeting Wiki | |||
5.4.1. Hackathon . . . . . . . . . . . . . . . . . . . . . . 16 | 5.4.1. Hackathon | |||
5.4.2. Lost and Found . . . . . . . . . . . . . . . . . . . 16 | 5.4.2. Lost and Found | |||
5.4.3. Results Presentation Schedule . . . . . . . . . . . . 16 | 5.4.3. Results Presentation Schedule | |||
5.4.4. In Person Only . . . . . . . . . . . . . . . . . . . 16 | 5.4.4. In Person Only | |||
5.4.5. Online Only . . . . . . . . . . . . . . . . . . . . . 17 | 5.4.5. Online Only | |||
5.5. Email List . . . . . . . . . . . . . . . . . . . . . . . 17 | 5.5. Email List | |||
5.5.1. Hackathon Chairs Email Alias . . . . . . . . . . . . 17 | 5.5.1. Email Alias for Hackathon Chairs | |||
5.6. GitHub . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 5.6. GitHub | |||
5.7. Meetecho . . . . . . . . . . . . . . . . . . . . . . . . 18 | 5.7. Meetecho | |||
5.8. Network . . . . . . . . . . . . . . . . . . . . . . . . . 18 | 5.8. Network | |||
5.8.1. Remote Networking . . . . . . . . . . . . . . . . . . 19 | 5.8.1. Remote Networking | |||
5.9. Webex . . . . . . . . . . . . . . . . . . . . . . . . . . 19 | 5.9. Webex | |||
5.10. Gather . . . . . . . . . . . . . . . . . . . . . . . . . 19 | 5.10. Gather | |||
6. Statistics and Metrics . . . . . . . . . . . . . . . . . . . 20 | 6. Statistics and Metrics | |||
6.1. IETF Survey Results . . . . . . . . . . . . . . . . . . . 20 | 6.1. IETF Survey Results | |||
6.2. Hackathon Survey Results . . . . . . . . . . . . . . . . 20 | 6.2. Hackathon Survey Results | |||
7. Roles and Responsibilities . . . . . . . . . . . . . . . . . 20 | 7. Roles and Responsibilities | |||
7.1. Hackathon Chair(s) . . . . . . . . . . . . . . . . . . . 21 | 7.1. Hackathon Chair(s) | |||
7.2. Secretariat . . . . . . . . . . . . . . . . . . . . . . . 21 | 7.2. Secretariat | |||
7.3. Sponsor . . . . . . . . . . . . . . . . . . . . . . . . . 22 | 7.3. Sponsor | |||
7.4. Champions of Projects . . . . . . . . . . . . . . . . . . 22 | 7.4. Champions of Projects | |||
7.5. IETF LLC, Director of Communications and Operations (was | 7.5. IETF LLC, Director of Communications and Operations (was | |||
ISOC) . . . . . . . . . . . . . . . . . . . . . . . . . . 23 | ISOC) | |||
7.6. Judges . . . . . . . . . . . . . . . . . . . . . . . . . 23 | 7.6. Judges | |||
8. Implementation Status . . . . . . . . . . . . . . . . . . . . 24 | 8. Implementation Status | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 24 | 9. Security Considerations | |||
9.1. Privacy Considerations . . . . . . . . . . . . . . . . . 24 | 9.1. Privacy Considerations | |||
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 | 10. IANA Considerations | |||
11. Informative References . . . . . . . . . . . . . . . . . . . 24 | 11. Informative References | |||
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 28 | Acknowledgments | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 28 | Author's Address | |||
1. Introduction | 1. Introduction | |||
IETF Hackathons encourage the IETF community to collaborate on | IETF Hackathons encourage the IETF community to collaborate on | |||
running code related to existing and evolving Internet standards. | running code related to existing and evolving Internet standards. | |||
IETF Hackathons aim to: | IETF Hackathons aim to: | |||
* Advance the pace and relevance of IETF standards activities by | * advance the pace and relevance of IETF standards activities by | |||
bringing the speed and collaborative spirit of open source | bringing the speed and collaborative spirit of open source | |||
development into the IETF | development into the IETF | |||
* Bring developers and early career professionals into IETF and get | * bring developers and early career professionals into the IETF and | |||
them exposed to and interested in the IETF | get them exposed to and interested in the IETF | |||
IETF Hackathons are free to attend and open to everyone. Software | IETF Hackathons are free to attend and open to everyone. Software | |||
developers are the primary audience, but participation by subject- | developers are the primary audience, but participation by subject- | |||
matter experts who are not necessarily developers is encouraged and | matter experts who are not necessarily developers is encouraged and | |||
very important as well. Similarly, while the Hackathon is meant to | very important as well. Similarly, while the Hackathon is meant to | |||
attract newcomers and people who do not typically attend standards | attract newcomers and people who do not typically attend standards | |||
meetings, long time IETF contributors, including Internet-Draft | meetings, long-time IETF contributors, including Internet-Draft | |||
authors, working group chairs, and subject-matter experts, are key | authors, working group chairs, and subject-matter experts, are key | |||
participants as well. Collaboration and blending of skill sets and | participants as well. Collaboration and blending of skill sets and | |||
perspectives are extremely valuable aspects of IETF Hackathons. | perspectives are extremely valuable aspects of IETF Hackathons. | |||
In addition to the running code created and improved as a result of | In addition to the running code created and improved as a result of | |||
each Hackathon, the exchange of ideas, extensions of human networks, | each Hackathon, the exchange of ideas, extensions of human networks, | |||
and establishment of trust, respect, and friendships are some of the | and establishment of trust, respect, and friendships are some of the | |||
most valuable outputs of each Hackathon. Code written in a | most valuable outputs of each Hackathon. Code written in a | |||
programming language is often more illustrative and constructive than | programming language is often more illustrative and constructive than | |||
opinions expressed during a meeting or in an email. Working together | opinions expressed during a meeting or in an email. Working together | |||
skipping to change at page 4, line 38 ¶ | skipping to change at line 157 ¶ | |||
in the spirit of advancing the pace and relevance of new and evolving | in the spirit of advancing the pace and relevance of new and evolving | |||
Internet standards. IETF Hackathons are inclusive, not only in terms | Internet standards. IETF Hackathons are inclusive, not only in terms | |||
of who can participate but also in terms of the projects included in | of who can participate but also in terms of the projects included in | |||
each Hackathon. All projects should be related to existing or | each Hackathon. All projects should be related to existing or | |||
proposed Internet standards in some way. Examples include, but are | proposed Internet standards in some way. Examples include, but are | |||
not limited to, interoperability of implementations, proof of | not limited to, interoperability of implementations, proof of | |||
concepts, and tools that help implement, monitor, or deploy network | concepts, and tools that help implement, monitor, or deploy network | |||
protocols. | protocols. | |||
IETF Hackathons foster an open environment, with much of the code | IETF Hackathons foster an open environment, with much of the code | |||
being open source and projects results typically shared publicly. | being open source and results of projects typically shared publicly. | |||
The Hackathon operates under the [NOTE-WELL]; however, the rules and | The Hackathon operates under the [NOTE-WELL]; however, the rules and | |||
terms around code are those of the license associated with the code. | terms around code are those of the license associated with the code. | |||
Although code is often and preferably open source, it may be | Although code is often and preferably open source, it may be | |||
proprietary as well. | proprietary as well. | |||
This document provides a set of practices that have been used for | This document provides a set of practices that have been used for | |||
running IETF Hackathons. | running IETF Hackathons. | |||
2. Timing | 2. Timing | |||
The first IETF Hackathon was held the weekend before the start of the | The first IETF Hackathon was held the weekend before the start of the | |||
IETF 92 meeting. The rationale was to avoid conflicts yet make it | IETF 92 meeting. The rationale was to avoid conflicts yet make it | |||
relatively convenient for those attending the IETF meeting to | relatively convenient for those attending the IETF meeting to | |||
participate in the Hackathon as well. Holding the Hackathon on the | participate in the Hackathon as well. Holding the Hackathon on the | |||
weekend was also viewed as making it more accessible to non IETF | weekend was also viewed as making it more accessible to those who are | |||
meeting participants, including students and working professionals | not IETF meeting participants, including students and working | |||
who would have other commitments during the week. The weekend before | professionals who would have other commitments during the week. The | |||
was viewed as better than the weekend after so that things learned | weekend before was viewed as better than the weekend after so that | |||
during the Hackathon could be shared and discussed with the rest of | things learned during the Hackathon could be shared and discussed | |||
the IETF community during working group sessions and the like. This | with the rest of the IETF community during working group sessions and | |||
worked well at IETF 92, was repeated at IETF 93, and quickly became | the like. This worked well at IETF 92, was repeated at IETF 93, and | |||
an established norm with the IETF meeting being officially extended | quickly became an established norm with the IETF meeting being | |||
to include the Hackathon at the start. An additional benefit of this | officially extended to include the Hackathon at the start. An | |||
timing noted and appreciated by participants is that it serves as a | additional benefit of this timing noted and appreciated by | |||
more informal and social way to physically and mentally acclimate to | participants is that it serves as a more informal and social way to | |||
changes in time zones and surroundings. | physically and mentally acclimate to changes in time zones and | |||
surroundings. | ||||
2.1. Agenda | 2.1. Agenda | |||
The IETF Hackathon is a strenuous event. Though not a competition, | The IETF Hackathon is a strenuous event. Though not a competition, | |||
participants want to make the most of their time together, much as | participants want to make the most of their time together, much as | |||
with the IETF meeting in general. Competitive Hackathons typically | with the IETF meeting in general. Competitive Hackathons typically | |||
run non-stop for on the order of 40 hours. There is a strict | run nonstop for on the order of 40 hours. There is a strict | |||
deadline and teams are judged and winners declared at the end. | deadline, teams are judged, and winners are declared at the end. | |||
Afterward, participants are wiped out and head off to briefly | Afterward, participants are wiped out and head off to briefly | |||
celebrate or commiserate, but mainly to recuperate. As the IETF | celebrate or commiserate but mainly to recuperate. As the IETF | |||
Hackathon serves as the start of the overall IETF meeting, we aim to | Hackathon serves as the start of the overall IETF meeting, we aim to | |||
strike a compromise that provides time to get valuable work | strike a compromise that provides time to get valuable work | |||
accomplished without exhausting everyone before the main IETF meeting | accomplished without exhausting everyone before the main IETF meeting | |||
even starts. While some people participate in the Hackathon only, | even starts. While some people participate in the Hackathon only, | |||
the majority of people remain and plan to be actively engaged in the | the majority of people remain and plan to be actively engaged in the | |||
rest of the IETF meeting. | rest of the IETF meeting. | |||
The typical agenda is as follows: | The typical agenda is as follows: | |||
Saturday before IETF meeting week | Saturday before IETF meeting week | |||
08:30: Room open for setup by project champions | 08:30: Room open for setup by project champions | |||
09:00: Room open for all - Pastries and coffee provided | 09:00: Room open for all - pastries and coffee provided | |||
09:30: Hackathon kickoff | 09:30: Hackathon kickoff | |||
09:45: Form Teams | 09:45: Form teams | |||
12:30: Lunch provided | 12:30: Lunch provided | |||
15:30: Afternoon break - Snacks provided | 15:30: Afternoon break - snacks provided | |||
19:00: Dinner provided | 19:00: Dinner provided | |||
22:00: Room closes | 22:00: Room closes | |||
Sunday before IETF meeting week | Sunday before IETF meeting week | |||
08:30: Room opens - Pastries and coffee provided | 08:30: Room opens - pastries and coffee provided | |||
12:30: Lunch provided | 12:30: Lunch provided | |||
13:30: Hacking stops, prepare brief presentation of project results | 13:30: Hacking stops; prepare brief presentation of project | |||
14:00: Project results presentations to other participants | results | |||
15:45: Closing remarks and opportunities for next time | 14:00: Present project results to other participants | |||
16:00: Hackathon ends | 15:45: Closing remarks and opportunities for next time | |||
17:00: Tear down complete | 16:00: Hackathon ends | |||
17:00: Tear down complete | ||||
The time on Saturday morning provides team champions time for setup | The time on Saturday morning provides the opportunity for team | |||
and participants time to socialize and learn more about projects and | champions to set up and participants to socialize and learn more | |||
teams they might want to join. The kickoff presentation and | about projects and teams they might want to join. The kickoff | |||
formalities are kept to a minimum to leave as much time as possible | presentation and formalities are kept to a minimum to leave as much | |||
for teams to work together on their projects. The proximity of teams | time as possible for teams to work together on their projects. The | |||
to each other fosters communication and collaboration across teams as | proximity of teams fosters communication and collaboration between | |||
well. | them as well. | |||
Lunch and dinner are provided as a convenience and an incentive to | Lunch and dinner are provided as a convenience and an incentive to | |||
remain at the Hackathon. Participants are free to come and go as | remain at the Hackathon. Participants are free to come and go as | |||
they like. It is well understood and accepted that there are other | they like. It is well understood and accepted that there are other | |||
things vying for time and that meeting with friends and colleagues | things vying for time and that meeting with friends and colleagues | |||
outside of the Hackathon is an entirely reasonable thing to do. | outside of the Hackathon is an entirely reasonable thing to do. | |||
The room closes Saturday evening to give hotel staff unfettered | The room closes Saturday evening to give hotel staff unfettered | |||
access to the room and to encourage people to pace and take care of | access to the room and to encourage people to pace and take care of | |||
themselves. There are no rules against continuing work on projects | themselves. There are no rules against continuing work on projects | |||
outside of the Hackathon room. Similarly, working on projects long | outside of the Hackathon room. Similarly, working on projects long | |||
before and after the Hackathon is allowed and encouraged. | before and after the Hackathon is allowed and encouraged. | |||
The end of the Hackathon on Sunday is driven by other IETF meeting | The end of the Hackathon on Sunday is driven by other IETF meeting | |||
events. There typically are Newcomer events that start at 16:00. | events. Typically, there are Newcomer events that start at 16:00. | |||
The IETF Hackathon typically includes many newcomers in its list of | The IETF Hackathon typically includes many newcomers in its list of | |||
participants and it is important to provide them time to participate | participants, and it is important to provide them time to participate | |||
in the Newcomer events. The opening reception for the IETF typically | in the Newcomer events. The opening reception for the IETF typically | |||
start at 17:00, and we want to make it easy for all Hackathon | starts at 17:00, and we want to make it easy for all Hackathon | |||
participants to join that as well. | participants to join that as well. | |||
Hackdemo Happy Hour (Section 2.2) and the Code Lounge (Section 2.3) | Hackdemo Happy Hour (Section 2.2) and the Code Lounge (Section 2.3) | |||
exist to facilitate ongoing discussion and work on projects beyond | exist to facilitate ongoing discussion and work on projects beyond | |||
the official end of the Hackathon weekend. | the official end of the Hackathon weekend. | |||
2.2. Hackdemo Happy Hour | 2.2. Hackdemo Happy Hour | |||
Hackdemo Happy Hour provides an opportunity for more in depth sharing | Hackdemo Happy Hour provides an opportunity for more in-depth sharing | |||
and discussion than is possible within the time constraints of the | and discussion than is possible within the time constraints of the | |||
result presentations that occur at the end of the Hackathon. This | results presentations that occur at the end of the Hackathon. This | |||
opportunity is made available to all teams. As with the results | opportunity is made available to all teams. As with the results | |||
presentations, participation is optional. | presentations, participation is optional. | |||
Initially, something similar was done as part of [BITS-N-BITES]. | Initially, something similar was done as part of [BITS-N-BITES]. | |||
This worked well for the Hackathon but the Bits-N-Bites event was | This worked well for the Hackathon, but the Bits-N-Bites event was | |||
eventually abandoned for other reasons. Hackdemo Happy Hour was | eventually abandoned for other reasons. Hackdemo Happy Hour was | |||
created as a low cost, informal event to provide a venue for the IETF | created as a low-cost, informal event to provide a venue for the IETF | |||
community to engage with the Hackathon teams in more in depth | community to engage with the Hackathon teams in more in-depth | |||
discussions related to their projects. | discussions related to their projects. | |||
Hackdemo Happy Hour is typically Monday evening, roughly from 18:00 - | Hackdemo Happy Hour is typically Monday evening, roughly from 18:00 - | |||
19:30, often overlapping a bit with the last working group session of | 19:30, often overlapping a bit with the last working group session of | |||
the day but continuing long enough to allow everyone an opportunity | the day but continuing long enough to allow everyone an opportunity | |||
to join. The goal is to make it convenient to attend by not | to join. The goal is to make it convenient to attend by not | |||
conflicting with other meetings but also no running too late into the | conflicting with other meetings and also by not running too late into | |||
night. | the night. | |||
Light snacks and beverages are provided, and a cash bar is available | Light snacks and beverages are provided, and a cash bar is available | |||
to align with the spirit of a happy hour. | to align with the spirit of a happy hour. | |||
2.3. Code Lounge | 2.3. Code Lounge | |||
The Code Lounge provides space for groups to gather and continue to | The Code Lounge provides space for groups to gather and continue to | |||
collaborate on running code after the Hackathon. It is typically in | collaborate on running code after the Hackathon. It is typically in | |||
the IETF Lounge and open the same hours as the IETF Lounge. | the IETF Lounge and open the same hours as the IETF Lounge. | |||
Champions are encouraged to look at the final agenda and determine | Champions are encouraged to look at the final agenda and determine | |||
time slots best suited to ensure attendance of Code Lounge sessions | which time slots are best suited to ensure attendance of Code Lounge | |||
as well as any related working group sessions. It is okay for | sessions, as well as any related working group sessions. It is okay | |||
multiple teams to sign up for the same time slots. This is in fact | for multiple teams to sign up for the same time slots. This is in | |||
encouraged for work that spans multiple working groups or projects. | fact encouraged for work that spans multiple working groups or | |||
projects. | ||||
2.4. Code Sprint | 2.4. Code Sprint | |||
The [CODE-SPRINT] develops tools that support the work of the IETF. | The [CODE-SPRINT] develops tools that support the work of the IETF. | |||
The Code Sprint existed long before the Hackathon and benefitted from | The Code Sprint existed long before the Hackathon and benefited from | |||
being a focused event in a quiet space with few interruptions. | being a focused event in a quiet space with few interruptions. | |||
However, there is a great deal of synergy between the Code Sprint and | However, there is a great deal of synergy between the Code Sprint and | |||
the Hackathon, and they attract some of the same participants. For | the Hackathon, and they attract some of the same participants. For | |||
example, some Hackathon projects, such as those related to YANG model | example, some Hackathon projects, such as those related to YANG model | |||
validation, involve the creation or modification of IETF tools. It | validation, involve the creation or modification of IETF tools. It | |||
is therefore advantageous to co-locate these two events when | is therefore advantageous to co-locate these two events when | |||
practical, and when separate space is deemed helpful, to allocate | practical and, when separate space is deemed helpful, to allocate | |||
spaces that are physically close to each other to make it easy for | spaces that are physically close to each other to make it easy for | |||
participants to switch back and forth between the two events. | participants to switch back and forth between the two events. | |||
2.5. Online Only | 2.5. Online Only | |||
The IETF 107 Hackathon was originally scheduled to be the weekend at | The IETF 107 Hackathon was originally scheduled to be the weekend at | |||
the start of the IETF meeting in Vancouver. When COVID-19 hit and it | the start of the IETF meeting in Vancouver. When COVID-19 hit and it | |||
became clear the IETF meeting could not occur in person, the | became clear the IETF meeting could not occur in person, the | |||
Hackathon already had 23 projects and 176 registrations. With only | Hackathon already had 23 projects and 176 registrations. With only | |||
10 days until the anticipated start of the Hackathon, a [SURVEY] went | 10 days until the anticipated start of the Hackathon, a [SURVEY] went | |||
out to the Hackathon community, including all project champions and | out to the Hackathon community, including all project champions and | |||
registered participants, to see if they wanted to participate in the | registered participants, to see if they wanted to participate in the | |||
Hackathon exactly as planned except with everyone participating | Hackathon exactly as planned except with everyone participating | |||
remotely rather than in person. A relatively small number of people | remotely rather than in person. A relatively small number of people | |||
expressed interest in participating, with even fewer wanting to | expressed interest in participating, with even fewer wanting to | |||
continue to champion their projects. The fact that the Hackathon was | continue to champion their projects. The fact that the Hackathon was | |||
planned for the weekend before the IETF meeting and in the local time | planned for the weekend before the IETF meeting and in the local time | |||
zone, both of which were historically very convenient and attractive | zone, both of which were historically very convenient and attractive | |||
to Hackathon participants, suddenly became huge obstacles. | to Hackathon participants, suddenly became huge obstacles. | |||
Consequently, the IETF 107 Hackathon was cancelled. | Consequently, the IETF 107 Hackathon was canceled. | |||
We knew more in advance that IETF 108 would be an online only | We knew more in advance that IETF 108 would be an online-only | |||
meeting. We moved and expanded the schedule to run the entire work | meeting. We moved and expanded the schedule to run the entire work | |||
week before the rest of the IETF meeting. The Hackathon kickoff was | week before the rest of the IETF meeting. The Hackathon kickoff was | |||
set for Monday, the closing for Friday, with all the time in between | set for Monday and the closing set for Friday, with all the time in | |||
left for individual project teams to arrange to meet how and when was | between left for individual project teams to arrange to meet how and | |||
most convenient for them. The kickoff and closing sessions were | when was most convenient for them. The kickoff and closing sessions | |||
scheduled to align with the time frame established for the IETF 108 | were scheduled to align with the time frame established for the IETF | |||
meeting. All of this was, of course, not ideal, and it worked much | 108 meeting. All of this was, of course, not ideal, and it worked | |||
better for some people than for others, but at least everyone knew | much better for some people than for others, but at least everyone | |||
the plan and corresponding time commitment well in advance and had | knew the plan and corresponding time commitment well in advance and | |||
the ability to plan accordingly. | had the ability to plan accordingly. | |||
We ultimately had 19 projects and almost 300 registrations. It is | We ultimately had 19 projects and almost 300 registrations. It is | |||
hard to say how many people actually participated and for how long, | hard to say how many people actually participated and for how long, | |||
but many projects were able to get substantial work done. For the | but many were able to get substantial work done on their projects. | |||
closing, 10 teams produced and shared presentations summarizing their | For the closing, 10 teams produced and shared presentations | |||
findings and achievements. All results presentations as well as the | summarizing their findings and achievements. All results | |||
agenda and a recording of the closing session are available via the | presentations, as well as the agenda and a recording of the closing | |||
[IETF-108-HACKATHON-WIKI]. This level of participation was strong | session, are available via the [IETF-108-HACKATHON-WIKI]. This level | |||
enough to be considered a success and justify including the Hackathon | of participation was strong enough to be considered a success and | |||
in future online only IETF meetings. | justifies including the Hackathon in future online-only IETF | |||
meetings. | ||||
Hackdemo Happy Hour and the Code Lounge are not applicable for online | Hackdemo Happy Hour and the Code Lounge are not applicable for | |||
only Hackathons. | online-only Hackathons. | |||
3. Funding | 3. Funding | |||
The Hackathon requires funding, and that funding increases with the | The Hackathon requires funding, and that funding increases with the | |||
number of participants. Participating has always been free; | number of participants. Participating has always been free; | |||
therefore, funding from other sources than participant fees is | therefore, funding from sources other than participant fees is | |||
required. | required. | |||
3.1. Sponsorship | 3.1. Sponsorship | |||
The initial funding model was to have Hackathon sponsors sign up to | The initial funding model was to have Hackathon sponsors sign up to | |||
sponsor and fund the Hackathon for one year. As part of starting the | sponsor and fund the Hackathon for one year. As part of starting the | |||
Hackathon, Cisco volunteered to sponsor and fund the Hackathon for | Hackathon, Cisco volunteered to sponsor and fund it for the first | |||
its first year (i.e., three Hackathons, one at each IETF meeting | year (i.e., three Hackathons, one at each IETF meeting during a | |||
during a calendar year). This sponsorship was to rotate. Huawei | calendar year). This sponsorship was to rotate. Huawei volunteered | |||
volunteered to sponsor the second year of the Hackathon. After the | to sponsor the second year of the Hackathon. After the second year, | |||
second year, a sponsor for the 3rd year was not found. However, the | a sponsor for the third year was not found. However, the Hackathon | |||
Hackathon had become a proven success. Consequently, the IETF | had become a proven success. Consequently, the IETF decided to fund | |||
decided to fund the Hackathon as part of the IETF meeting, with | the Hackathon as part of the IETF meeting, with Hackathon sponsorship | |||
Hackathon sponsorship being on a best effort basis. | being on a best-effort basis. | |||
Online only Hackathons in response to the COVID-19 pandemic, and | Online-only Hackathons in response to the COVID-19 pandemic and | |||
increased remote participating in general, result in increased cloud | increased remote participating in general result in increased cloud | |||
infrastructure requirements that make Hackathon sponsorship more | infrastructure requirements that make Hackathon sponsorship more | |||
attractive to cloud infrastructure providers. | attractive to cloud infrastructure providers. | |||
Hackathon sponsorship is available at different levels as part of | Hackathon sponsorship is available at different levels as part of | |||
being an [IETF-RUNNING-CODE-SPONSOR]. | being an IETF [RUNNING-CODE-SPONSOR]. | |||
3.2. Expenses | 3.2. Expenses | |||
The primary expenses associated with the Hackathon are those for | The primary expenses associated with the Hackathon are those for | |||
hosting an in-person event, e.g., meeting space, food and beverage, | hosting an in-person event, e.g., meeting space, food and beverage, | |||
etc. It is often challenging to quantify the portion of this | etc. It is often challenging to quantify what portions of this are | |||
associated with the Hackathon from that incurred for the IETF meeting | associated with the Hackathon versus what is incurred for the IETF | |||
overall. | meeting overall. | |||
3.2.1. In-person Event Expenses | 3.2.1. In-Person Event Expenses | |||
The following expenses are associated with in-person participation in | The following expenses are associated with in-person participation in | |||
a Hackathon. When the IETF meeting is online only, these expenses | a Hackathon. When the IETF meeting is online only, these expenses | |||
are eliminated. | are eliminated. | |||
3.2.1.1. Meeting Space | 3.2.1.1. Meeting Space | |||
The meeting space for the Hackathon is sometimes included as part of | The meeting space for the Hackathon is sometimes included as part of | |||
the overall contract for the IETF meeting. Other times, additional | the overall contract for the IETF meeting. Other times, an | |||
expense is incurred to secure a large enough space earlier than would | additional expense is incurred to secure a large enough space earlier | |||
otherwise have been required. Typically, the space is needed for | than would otherwise have been required. Typically, the space is | |||
setup from Friday afternoon before the start of the IETF meeting | needed for setup from Friday afternoon before the start of the IETF | |||
until Sunday afternoon. After the Hackathon, the space is typically | meeting until Sunday afternoon. After the Hackathon, the space is | |||
repurposed for the IETF Lounge. If the size of the Hackathon | typically repurposed for the IETF Lounge. If the size of the | |||
continues to increase, it might be necessary to use the same space as | Hackathon continues to increase, it might be necessary to use the | |||
is later used for the IETF plenary. | same space as is later used for the IETF plenary. | |||
3.2.1.2. Food and Beverage | 3.2.1.2. Food and Beverage | |||
Some portion of the food and beverage expense is often included as | Some portion of the food and beverage expense is often included as | |||
part of a minimum spend the IETF is obligated to make. When a | part of a minimum spend the IETF is obligated to make. When a | |||
Hackathon sponsor is identified, funds resulting from this | Hackathon sponsor is identified, funds resulting from this | |||
sponsorship are typically used to offset food and beverage expenses, | sponsorship are typically used to offset food and beverage expenses | |||
or to increase the food and beverage budget. | or to increase the food and beverage budget. | |||
The minimum food and beverage for the Hackathon has been, | The minimum food and beverage requirements for the Hackathon have | |||
been: | ||||
* coffee, tea, and water Saturday and Sunday morning | * coffee, tea, and water Saturday and Sunday morning | |||
* lunch Saturday and Sunday | * lunch Saturday and Sunday | |||
Additional items, in order of importance, include, | Additional items, in order of importance, include: | |||
* beer Saturday evening | * beer Saturday evening | |||
* dinner Saturday evening | * dinner Saturday evening | |||
* continental breakfast Saturday and Sunday | * continental breakfast Saturday and Sunday | |||
* afternoon snacks Saturday and Sunday | * afternoon snacks Saturday and Sunday | |||
3.2.1.3. T-shirts | 3.2.1.3. T-Shirts | |||
Hackathon t-shirts are an important part of the Hackathon. They have | Hackathon T-shirts are an important part of the Hackathon. They have | |||
been provided for all in-person Hackathons and greatly appreciated by | been provided for all in-person Hackathons and greatly appreciated by | |||
many participants. They also serve as great advertising for the | many participants. They also serve as great advertising for the | |||
IETF, the Hackathon, and sponsors. Cisco or other event sponsors | IETF, the Hackathon, and sponsors. Cisco or other event sponsors | |||
have often covered expenses associated with t-shirts. The current | have often covered expenses associated with T-shirts. The current | |||
model is that the secretariat covers the expenses using whatever | model is that the Secretariat covers the expenses using whatever | |||
funding is available. | funding is available. | |||
The number of size distribution of t-shirts for IETF 107 is provided | The number of size distribution of T-shirts for IETF 107 is provided | |||
here as an example. | here as an example. | |||
* 380 t-shirts at a cost of roughly $10 USD / t-shirt with shipping | * 380 T-shirts at a cost of roughly $10 USD each, with shipping to | |||
to the Secretariat included | the Secretariat included: | |||
- 50 Small | - 50 Small | |||
- 120 Medium | - 120 Medium | |||
- 110 Large | - 110 Large | |||
- 75 XL | - 75 XL | |||
- 25 XXL | - 25 XXL | |||
The t-shirts are all standard cut. We previously tried providing | The T-shirts are all standard cut. We previously tried providing | |||
fitted cut t-shirts as an option for Hackathon participants, but | fitted cut T-shirts as an option for Hackathon participants, but | |||
these were not well received. | these were not well received. | |||
3.2.1.4. Stickers | 3.2.1.4. Stickers | |||
Laptop stickers are popular with developers. Stickers have been made | Laptop stickers are popular with developers. Stickers have been made | |||
available at the Hackathon for those that want them. Expenses have | available at the Hackathon for those that want them. Expenses have | |||
been covered by the IETF LLC, Director of Communications and | been covered by the IETF LLC, which oversees the communications and | |||
Operations. | operations budget. | |||
3.2.2. Remote Participation Expenses | 3.2.2. Remote Participation Expenses | |||
The following expenses are associated things done primarily to | The following expenses are associated things done primarily to | |||
facilitate remote participation in a Hackathon. This includes | facilitate remote participation in a Hackathon. This includes | |||
participation when the Hackathon is online only as well as remote | participation when the Hackathon is online only, as well as remote | |||
participation when the Hackathon is in-person. | participation when the Hackathon is in person. | |||
* Meetecho: cost associated with Hackathon kickoff and closing | * Meetecho: cost associated with the Hackathon kickoff and closing | |||
* Gather: costs associated with premium service, required to enable | * Gather: costs associated with premium service, required to enable | |||
more than 25 concurrent users. This has not been necessary, but | more than 25 concurrent users. This has not been necessary but | |||
will almost certainly be if Gather becomes a valuable way for | will almost certainly be if Gather becomes a valuable way for | |||
Hackathon participants to meet within and across teams. | Hackathon participants to meet within and across teams. | |||
* Webex: IETF Webex accounts are made available to champions for the | * Webex: IETF Webex accounts are made available to champions for the | |||
duration of the Hackathon and some period beyond that encompasses | duration of the Hackathon and some period beyond that encompasses | |||
at least the rest of the IETF meeting. These accounts are | at least the rest of the IETF meeting. These accounts are | |||
available at no additional cost to the IETF at present | presently available at no additional cost to the IETF. | |||
* Network: setup and support of the IETF network, and remote access | * Network: setup and support of the IETF network and remote access | |||
to it | to it | |||
The change in timing and extended duration of the Hackathon at an | The change in timing and extended duration of the Hackathon at an | |||
online only IETF meeting increases the duration and use of remote | online-only IETF meeting increases the duration and use of remote | |||
participation facilities from 7 days to 12 days. This may result in | participation facilities from 7 days to 12 days. This may result in | |||
increases to the cost of providing these facilities. | increases to the cost of providing these facilities. | |||
4. Project Presentations | 4. Project Presentations | |||
Project presentations are an important mechanism for capturing what | Project presentations are an important mechanism for capturing what | |||
each team intends to accomplish, what they actually accomplished, and | each team intends to accomplish, capturing what they actually | |||
sharing the results and findings with the IETF community. | accomplished, and sharing the results and findings with the IETF | |||
community. | ||||
For the first few Hackathons, we had two very distinct types of | For the first few Hackathons, we had two very distinct types of | |||
presentations: | presentations: | |||
1. Presentations that served as project pitches at the start of the | 1. presentations that served as project pitches at the start of the | |||
Hackathon | Hackathon | |||
2. Presentations that summarized results at the end of the | 2. presentations that summarized results at the end of the Hackathon | |||
Hackathon. | ||||
4.1. Project Pitches | 4.1. Project Pitches | |||
The project pitches were 5-10 minute presentations by a champion of a | The project pitches were 5-10 minute presentations by a champion of a | |||
project describing what they wanted to do and how they proposed to | project describing what they wanted to do and how they proposed to | |||
accomplish it. This gave everyone in the room a better understanding | accomplish it. This gave everyone in the room a better understanding | |||
of all the projects and helped participants match themselves with | of all the projects and helped participants match themselves with | |||
appropriate projects. This worked well when we had few projects, but | appropriate projects. This worked well when we had few projects, but | |||
it became unwieldy as the number of projects increased. As knowledge | it became unwieldy as the number of projects increased. As knowledge | |||
of the Hackathon grew and advanced planning became more common, many | of the Hackathon grew and advanced planning became more common, many | |||
participants knew exactly which team they planned to join and wanted | participants knew exactly which team they planned to join and wanted | |||
to get to work as quickly as possible rather than spend time | to get to work as quickly as possible rather than spend time | |||
listening to presentations. Project pitches were dropped from the | listening to presentations. Project pitches were dropped from the | |||
Hackathon. Champions are encouraged to share this type of | Hackathon. Champions are encouraged to share this type of | |||
information in advance via the Meeting Wiki (Section 5.4) instead. | information in advance via the IETF Meeting Wiki (Section 5.4) | |||
instead. | ||||
4.2. Project Results Presentations | 4.2. Project Results Presentations | |||
The project results presentations were brief presentations by each | The project results presentations were brief presentations by each | |||
team of what problem they tried to solve, what they achieved, and | team of what problem they tried to solve, what they achieved, and | |||
highlights that included lessons learned, feedback to associated | highlights that included lessons learned, feedback to associated | |||
working groups, and collaboration with open source communities and | working groups, and collaboration with open source communities and | |||
other standards organizations. They also highlight individuals who | other standards organizations. They also highlight individuals who | |||
participated in their first IETF Hackathon or first IETF event, which | participated in their first IETF Hackathon or first IETF event, which | |||
helps facilitate the introduction of such individuals to the IETF | helps facilitate the introduction of such individuals to the IETF | |||
community. The production and presentation of results summaries is | community. The production and presentation of summaries of results | |||
optional. Fortunately, despite the lack of awards and prizes, most | is optional. Fortunately, despite the lack of awards and prizes, | |||
teams participate. | most teams participate. | |||
As with the project pitches, project results presentations can become | As with the project pitches, project results presentations can become | |||
unwieldy as the number of projects increases. With this in mind, the | unwieldy as the number of projects increases. With this in mind, the | |||
total time for all results presentations is limited to 2 hours. The | total time for all results presentations is limited to 2 hours. The | |||
maximum duration of each presentation is calculated based on the | maximum duration of each presentation is calculated based on the | |||
number teams that indicate the desire to present. This maximum is | number of teams that indicate the desire to present. This maximum is | |||
strictly enforced to ensure all teams have the opportunity to present | strictly enforced to ensure all teams have the opportunity to present | |||
their results. Maximum durations of 3-5 minutes are typical. | their results. Maximum durations of 3-5 minutes are typical. | |||
4.2.1. Templates | 4.2.1. Templates | |||
Project results presentation templates provides guidance on what to | Project results presentation templates provides guidance on what to | |||
cover. The use of these templates is optional. They are made | cover. The use of these templates is optional. They are made | |||
available in various formats in a GitHub repo created specifically | available in various formats in a GitHub repo created specifically | |||
for the presentations for each IETF Hackathon, e.g., | for the presentations for each IETF Hackathon, e.g., | |||
[RESULTS-PRESENTATIONS]. | [RESULTS-PRESENTATIONS]. | |||
4.2.1.1. PPTX | 4.2.1.1. Microsoft PowerPoint Open XML (PPTX) | |||
For portability, presentations that use this template should be made | For portability, presentations that use the PPTX template should be | |||
exported into PDF format as well. | exported into a PDF format as well. | |||
4.2.1.2. HTML format | 4.2.1.2. HTML Format | |||
This template should render within any browser. It can be rendered | The HTML format template should render within any browser. It can be | |||
as a slideshow using [REMARK]. | rendered as a slideshow using [REMARK]. | |||
4.3. Upload to GitHub | 4.3. Upload to GitHub | |||
All project results presentations are uploaded to the GitHub repo | All project results presentations are uploaded to the GitHub repo | |||
created the Hackathon, e.g., [RESULTS-PRESENTATIONS]. The contents | created for the Hackathon, e.g., [RESULTS-PRESENTATIONS]. The | |||
of this repo are used as the source for all results presentations at | contents of this repo are used as the source for all results | |||
the end of the Hackathon and remain as a reference after the | presentations at the end of the Hackathon and remain as a reference | |||
Hackathon. | after the Hackathon. | |||
One must be a member of the [IETF-HACKATHON-GITHUB] organization to | One must be a member of the [IETF-HACKATHON-GITHUB] organization to | |||
upload a new presentation or update/replace an existing presentation. | upload a new presentation or update/replace an existing presentation. | |||
To be added as a member, presenters are asked to: | To be added as a member, presenters are asked to: | |||
* include the name by which they are known in their GitHub profile | * include the name by which they are known in their GitHub profile | |||
* enable two-factor authentication (2FA) | * enable 2-factor authentication (2FA) | |||
* send your GitHub username to the Chair(s) | * send their GitHub username to the Hackathon Chair(s) | |||
Presenters are asked to do this at their earliest convenience as the | Presenters are asked to do this at their earliest convenience, as the | |||
Chair(s) typically get very busy as the start of presentations | Chair(s) typically gets very busy as the start of presentations | |||
approaches. | approaches. | |||
4.4. Presenting in Person | 4.4. Presenting in Person | |||
Presentations are run from a shared Chromebook at the front of the | Presentations are run from a shared Chromebook at the front of the | |||
Hackathon room. This Chromebook is provided by the Secretariat. | Hackathon room. This Chromebook is provided by the Secretariat. | |||
4.5. Presenting Remotely | 4.5. Presenting Remotely | |||
Remote presenters are welcome to run their own presentations using | Remote presenters are welcome to run their own presentations using | |||
the screen sharing functionality in Meetecho. Alternatively, the | the screen-sharing functionality in Meetecho. Alternatively, the | |||
Hackathon Chairs can share the presentation and advance slides for | Hackathon Chair(s) can share the presentation and advance slides for | |||
the presenter. | the presenter. | |||
5. Tooling | 5. Tooling | |||
The IETF Hackathon uses the same tooling used by the IETF community | The IETF Hackathon uses the same tooling used by the IETF community | |||
for its work and meetings. | for its work and meetings. | |||
5.1. Datatracker | 5.1. Datatracker | |||
The [DATATRACKER] supports the notion of Teams that are not part of | The [DATATRACKER] supports the notion of teams that are not part of | |||
the standards development process. The Hackathon exists as one such | the standards development process. The Hackathon exists as one such | |||
Team. From the Datatracker menu, navigate to "Groups" -> "Other" -> | team. From the Datatracker menu, navigate to "Groups" -> "Other" -> | |||
"Active Teams" -> "hackathon". Here exists a Datatracker space for | "Active Teams" -> "hackathon". Here exists a Datatracker space for | |||
the Hackathon similar to what is available for working groups, | the Hackathon similar to what is available for working groups, | |||
including meeting materials, agendas, etc. Initially, there was some | including meeting materials, agendas, etc. Initially, there was some | |||
attempt to copy materials hosted in the [IETF-HACKATHON-GITHUB] to | attempt to copy materials hosted in the [IETF-HACKATHON-GITHUB] to | |||
the Datatracker. Now this is done only when required for integration | the Datatracker. Now, this is done only when required for | |||
with other IETF tooling, including to: | integration with other IETF tooling, including: | |||
* [REQUEST-SESSIONS] for the Hackathon kickoff and closing, and for | * requesting sessions for the Hackathon kickoff and closing and for | |||
Hackdemo Happy Hour | Hackdemo Happy Hour, e.g., [REQUEST-SESSIONS] | |||
* post [AGENDAS] | * posting agendas (e.g., see [AGENDAS]) | |||
5.2. IETF Website | 5.2. IETF Website | |||
5.2.1. Hackathon Website | 5.2.1. Hackathon Website | |||
The IETF website includes a [HACKATHON-WEBSITE]. This website | The IETF website includes a [HACKATHON-WEBSITE]. This website | |||
contains information about the Hackathon in general as well as links | contains information about the Hackathon in general, as well as links | |||
to past, present, and future Hackathons. The relevant links are | to past, present, and future Hackathons. The relevant links are | |||
updated after each IETF meeting. Other content on the website is | updated after each IETF meeting. Other content on the website is | |||
updated on a more ad hoc basis. | updated on a more ad hoc basis. | |||
5.2.2. Meeting Website | 5.2.2. Meeting Website | |||
Each IETF [MEETING-WEBSITE] contains information about the | Each IETF [MEETING-WEBSITE] contains information about the | |||
corresponding Hackathon, including the dates of the Hackathon in the | corresponding Hackathon, including the dates of the Hackathon in the | |||
header and a link to the Hackathon website in the "Additional Events" | header and a link to the Hackathon website in the "Additional Events" | |||
section. | section. | |||
skipping to change at page 15, line 39 ¶ | skipping to change at line 665 ¶ | |||
An active list of all registered participants, e.g., [PARTICIPANTS], | An active list of all registered participants, e.g., [PARTICIPANTS], | |||
is maintained by the Secretariat. Important information displayed | is maintained by the Secretariat. Important information displayed | |||
for each registrant includes the set of projects and technologies in | for each registrant includes the set of projects and technologies in | |||
which each participant is interested and an email address. This | which each participant is interested and an email address. This | |||
information is optional at the time of registration and may be | information is optional at the time of registration and may be | |||
updated or removed by editing one's registration. | updated or removed by editing one's registration. | |||
5.3.2. Caps on Registrations | 5.3.2. Caps on Registrations | |||
Registrations were capped for the first several Hackathons. This was | Registrations were capped for the first several Hackathons. This was | |||
done both for space and costs considerations. The cap was hit | done for both space and costs considerations. The cap was hit | |||
multiple times, each time resulting in temporary confusion and | multiple times, each time resulting in temporary confusion and | |||
frustration among would be registrants, followed by the cap being | frustration among would-be registrants, which led to the cap being | |||
increased. Currently, there are no caps enforced by the registration | increased. Currently, there are no caps enforced by the registration | |||
system. In the event the number of participants exceeds the capacity | system. In the event the number of participants exceeds the capacity | |||
of the main Hackathon room, designated overflow areas within the | of the main Hackathon room, designated overflow areas within the | |||
meeting venue are made available. | meeting venue are made available. | |||
5.4. Meeting Wiki | 5.4. Meeting Wiki | |||
The [MEETING-WIKI] serves as the primary source of information for | The [MEETING-WIKI] serves as the primary source of information for | |||
each Hackathon. | each Hackathon. | |||
5.4.1. Hackathon | 5.4.1. Hackathon | |||
A page within the meeting wiki, e.g., [IETF-110-HACKATHON-WIKI], is | A page within the meeting wiki, e.g., [IETF-110-HACKATHON-WIKI], is | |||
created by the Secretariat for each Hackathon and initialized with | created by the Secretariat for each Hackathon and initialized with | |||
information that is based largely on the information from the | information that is based largely on the information from the | |||
previous Hackathon. Once created, the Hackathon Chairs update and | previous Hackathon. Once created, the Hackathon Chair(s) updates and | |||
moderate this page. Champions are requested and responsible for | moderates this page. Champions are requested and are responsible for | |||
adding information about projects for which they are a champion. | adding information about projects for which they are a champion. | |||
Anyone can edit the wiki by logging in using their Datatracker login | Anyone can edit the wiki by logging in using their Datatracker login | |||
credentials. Credentials can be obtained by creating a | credentials. Credentials can be obtained by creating a | |||
[DATATRACKER-ACCOUNT]. | [DATATRACKER-ACCOUNT]. | |||
5.4.2. Lost and Found | 5.4.2. Lost and Found | |||
A Lost and Found wiki page, e.g., [LOST-AND-FOUND], is created by the | A Lost and Found wiki page, e.g., [LOST-AND-FOUND], is created by the | |||
Chairs for each Hackathon. Participants looking for a team are | Chair(s) for each Hackathon. Participants looking for a team are | |||
encouraged to add themselves to the "Skills to Offer" table, | encouraged to add themselves to the "Skills to Offer" table, | |||
providing some information about their skills and interests. This | providing some information about their skills and interests. This | |||
will help others with matching needs and/or interests find them. | will help others with matching needs and/or interests find them. | |||
Champions wanting help on their projects are encouraged to add their | Champions wanting help on their projects are encouraged to add their | |||
teams to the "Skills Needed" table, providing some information about | teams to the "Skills Needed" table, providing some information about | |||
the skills they seek. | the skills they seek. | |||
5.4.3. Results Presentation Schedule | 5.4.3. Results Presentation Schedule | |||
A Results Presentation Schedule wiki page, e.g., | A Results Presentation Schedule wiki page, e.g., | |||
[RESULTS-PRESENTATION-SCHEDULE], is created by the Chairs for each | [RESULTS-PRESENTATION-SCHEDULE], is created by the Chair(s) for each | |||
Hackathon. Hackathon teams are welcome and encouraged to present | Hackathon. Hackathon teams are welcome and encouraged to present | |||
their results during the Hackathon Closing. Hackathon teams add the | their results during the Hackathon closing. Hackathon teams add the | |||
name of their project and the name of the presenter to the table at | name of their project and the name of the presenter to the table at | |||
the bottom of this page. | the bottom of this page. | |||
5.4.4. In Person Only | 5.4.4. In Person Only | |||
The following wiki pages are applicable for in-person Hackathons | The following wiki pages are applicable for in-person Hackathons | |||
only. | only. | |||
5.4.4.1. Hackdemo Happy Hour | 5.4.4.1. Hackdemo Happy Hour | |||
A Hackdemo Happy Hour wiki page, e.g., [HACKDEMO], is created by the | A Hackdemo Happy Hour wiki page, e.g., [HACKDEMO], is created by the | |||
Chairs for each Hackathon. Champions are welcome and encouraged to | Chair(s) for each Hackathon. Champions are welcome and encouraged to | |||
add their project by entering the project name/acronym and a contact | add their project by entering the project name/acronym and a contact | |||
name and email address in the table displayed on the page. | name and email address in the table displayed on the page. | |||
5.4.4.2. Code Lounge | 5.4.4.2. Code Lounge | |||
A Code Lounge wiki page, e.g., [CODE-LOUNGE], is created by the | A Code Lounge wiki page, e.g., [CODE-LOUNGE], is created by the | |||
Chairs for each Hackathon. Champions are welcome and encouraged to | Chair(s) for each Hackathon. Champions are welcome and encouraged to | |||
add their project by entering the project name/acronym and a contact | add their project by entering the project name/acronym and a contact | |||
name and email address in the table displayed on the page. | name and email address in the table displayed on the page. | |||
5.4.5. Online Only | 5.4.5. Online Only | |||
The following wiki pages are applicable for online Hackathons only. | The following wiki pages are applicable for online-only Hackathons. | |||
5.4.5.1. Team Schedule | 5.4.5.1. Team Schedule | |||
A Team Schedule wiki page, e.g., [TEAM-SCHEDULE], is created by the | A Team Schedule wiki page, e.g., [TEAM-SCHEDULE], is created by the | |||
Chairs for each online only Hackathon. Online only Hackathons take | Chair(s) for each online-only Hackathon. Online-only Hackathons take | |||
place globally for an entire week. It is up to individual project | place globally for an entire week. It is up to individual project | |||
teams to determine the preferred dates, times, and ways to meet to | teams to determine the preferred dates, times, and ways to meet to | |||
work on their project within the context of that week (e.g., Zoom, | work on their project within the context of that week (e.g., Zoom, | |||
Webex, Slack). This page is meant to help facilitate coordination of | Webex, or Slack). This page is meant to help facilitate coordination | |||
schedules within and across teams. | of schedules within and across teams. | |||
5.5. Email List | 5.5. Email List | |||
The Hackathon email list, [EMAIL-LIST], is used for all email | The Hackathon [EMAIL-LIST] is used for all email communication and | |||
communication and announcements related to the Hackathon. All | announcements related to the Hackathon. All registrants are given | |||
registrants are given the option to subscribe to the list. Anyone | the option to subscribe to the list. Anyone interested in staying up | |||
interested in staying up to date on the Hackathon is able to | to date on the Hackathon is able to subscribe at any time. Once | |||
subscribe at any time. Once subscribed, anyone can send and respond | subscribed, anyone can send and respond to emails via the list. The | |||
to emails to the list. The same list is used for each Hackathon. | same list is used for each Hackathon. Anyone wishing to receive | |||
Anyone wishing to receive email for a specific Hackathon only can | emails for a specific Hackathon only can unsubscribe after that | |||
unsubscribe after that Hackathon has concluded. | Hackathon has concluded. | |||
5.5.1. Hackathon Chairs Email Alias | 5.5.1. Email Alias for Hackathon Chairs | |||
The email alias, [EMAIL-ALIAS], was created and is maintained by the | The email alias <hackathon-chairs@ietf.org> was created and is | |||
Secretariat. It is used on Hackathon webpages and wiki pages to | maintained by the Secretariat. It is used on Hackathon web pages and | |||
provide a single point of contact for the Hackathon. | wiki pages to provide a single point of contact for the Hackathon. | |||
5.6. GitHub | 5.6. GitHub | |||
The [IETF-HACKATHON-GITHUB] is used to share code, presentations, and | The [IETF-HACKATHON-GITHUB] is used to share code, presentations, and | |||
other artifacts at IETF Hackathons. The Hackathon Chairs are | other artifacts at IETF Hackathons. The Hackathon Chair(s) is | |||
responsible for administering the GitHub organization. | responsible for administering the GitHub organization. | |||
Code for Hackathon projects often exist elsewhere, which is perfectly | Code for Hackathon projects often exist elsewhere, which is perfectly | |||
fine. Anyone needing a place to host code for the Hackathon can | fine. Anyone needing a place to host code for the Hackathon can | |||
request the creation of a repository for their project. | request the creation of a repository for their project. | |||
A repository is created and maintained by the Chairs for each | A repository is created and maintained by the Chair(s) for each | |||
Hackathon, e.g., [RESULTS-PRESENTATIONS]. This repo is for | Hackathon, e.g., [RESULTS-PRESENTATIONS]. This repo is for | |||
participants to upload project results presentations. The contents | participants to upload project results presentations. The contents | |||
of this repo are used as the source for all presentations at the end | of this repo are used as the source for all presentations at the end | |||
of the Hackathon and remain as a reference after the Hackathon. | of the Hackathon and remain as a reference after the Hackathon. | |||
5.7. Meetecho | 5.7. Meetecho | |||
[MEETECHO] is used for the kickoff and closing sessions of the | [MEETECHO] is used for the kickoff and closing sessions of the | |||
Hackathon. This provides many capabilities, including the following: | Hackathon. This provides many capabilities, including the following: | |||
* allows participants to join Hackathon sessions in person or | * allows participants to join Hackathon sessions in person or | |||
remotely | remotely | |||
* validates registration of participants at time of joining | * validates the registration of participants at the time of joining | |||
Hackathon sessions | Hackathon sessions | |||
* enables remote presenters of project results presentations | * enables remote presenters of project results presentations | |||
* captures recording of Hackathon kickoff and closing | * captures recordings of the Hackathon kickoff and closing | |||
5.8. Network | 5.8. Network | |||
Access to the IETF network is an important aspect of the Hackathon. | Access to the IETF network is an important aspect of the Hackathon. | |||
The IETF network provides unfettered Internet access that is not | The IETF network provides unfettered Internet access that is not | |||
typical within many residential, corporate, and university | typical within many residential, corporate, and university | |||
environments. For many of IETF participants and projects, access to | environments. For many IETF participants and projects, access to the | |||
the Internet and each other via wireless access to the IETF network | Internet and each other via wireless access to the IETF network is | |||
is sufficient. However, due to the nature of the work done in the | sufficient. However, due to the nature of the work done in the IETF, | |||
IETF, wired access and special networking capabilities are often | wired access and special networking capabilities are often required. | |||
required. | ||||
The NOC has graciously met the needs of the Hackathon since its | The Network Operations Center (NOC) has graciously met the needs of | |||
inception and continues to add more capabilities over time. | the Hackathon since its inception and continues to add more | |||
Champions are able to request in advance wired access and special | capabilities over time. In advance, champions are able to request | |||
networking functionality, including static IPv4 and IPv6 addresses, | wired access and special networking functionality, including static | |||
IPv6 only networking, a closed user group, NAT64, and IPv6 Prefix | IPv4 and IPv6 addresses, IPv6-only networking, a closed user group, | |||
Delegation. All of this, and the IETF network in general, is made | Network Address and Protocol Translation from IPv6 Clients to IPv4 | |||
available by the start of the Hackathon and in advance for setup to | Servers (NAT64), and IPv6 Prefix Delegation. All of this, and the | |||
the extent possible. | IETF network in general, is made available by the start of the | |||
Hackathon and in advance for setup to the extent possible. | ||||
5.8.1. Remote Networking | 5.8.1. Remote Networking | |||
Online only meetings present both a personal networking challenge and | Online-only meetings present both a personal-networking challenge and | |||
a computer networking challenge. The NOC came to the rescue for the | a computer-networking challenge. The NOC came to the rescue for the | |||
latter with an experimental mechanism to join the IETF network while | latter with an experimental mechanism that was used to join the IETF | |||
attending a meeting remotely. This evolved into what is now known as | network while attending a meeting remotely. This evolved into what | |||
[HACKNET], a global Layer 2 VPN designed to support IETF protocol | is now known as "HackNet" [HACKNET], a global Layer 2 VPN designed to | |||
development across teams within the IETF Hackathon. A limited set of | support IETF protocol development across teams within the IETF | |||
devices for connecting to HackNet are supported. In addition to | Hackathon. A limited set of devices for connecting to HackNet are | |||
layer 2 connectivity, a subset of the networking capabilities | supported. In addition to Layer 2 connectivity, a subset of the | |||
available at in-person meetings are available. Both the set of | networking capabilities available at in-person meetings are | |||
devices and the set of networking capabilities are expected to expand | available. Both the set of devices and the set of networking | |||
and evolve over time. However, it is important to note that HackNet | capabilities are expected to expand and evolve over time. However, | |||
is still an experiment and not a production service. Best effort | it is important to note that HackNet is still an experiment and not a | |||
support is available via email to [TICKET]. | production service. Best-effort support is available via email to | |||
<support@ietf.org>. | ||||
5.9. Webex | 5.9. Webex | |||
Champions can request a [WEBEX-ACCOUNT] they can use to schedule | Champions can request a [WEBEX-ACCOUNT] they can use to schedule | |||
meetings for their team. These are similar to the Webex accounts | meetings for their team. These are similar to the Webex accounts | |||
allocated to working group chairs to be used for virtual interim | that are allocated to and used by the working group chairs for | |||
meetings. An account can be requested by a team champion at any | virtual interim meetings. An account can be requested by a team | |||
time. Accounts remain active and available throughout the duration | champion at any time. Accounts remain active and available | |||
of the Hackathon and the associated IETF meeting. A project name may | throughout the duration of the Hackathon and the associated IETF | |||
be used in place of "Working Group Name" in the request form. | meeting. A project name may be used in place of "Working Group Name" | |||
in the request form. | ||||
5.10. Gather | 5.10. Gather | |||
[GATHER] facilitates virtual hallway interaction during IETF | [GATHER] facilitates virtual hallway interaction during IETF | |||
meetings. A dedicated area within the overall space is created by | meetings. A dedicated area within the overall space is created by | |||
the Secretariat for the Hackathon. The area includes tables, | the Secretariat for the Hackathon. The area includes tables, | |||
identified by letters of the alphabet, that teams are free to self | identified by letters of the alphabet, that teams are free to self- | |||
assign and use as and when they like. Eight to ten seats around each | assign and use as and when they like. Eight to ten seats around each | |||
table facilitate group discussions within the team. A whiteboard or | table facilitate group discussions within the team. A dry erase | |||
shared notes tablet, e.g., [HEDGEDOC], at tables facilitates sharing | board or shared notes tablet, e.g., [HEDGEDOC], at tables facilitates | |||
of information within the team. The tables also facilitate | sharing of information within the team. The tables also facilitate | |||
collaboration across teams. One cautionary note, Gather has relative | collaboration across teams. One cautionary note: Gather has relative | |||
high network bandwidth and CPU requirements, and as such may not be | high-network bandwidth and CPU requirements and, as such, may not be | |||
well suited for some Hackathon participants. | well suited for some Hackathon participants. | |||
The Gather space remains available between IETF meetings, with | The Gather space remains available between IETF meetings, with | |||
incremental improvements and additions made during this time. The | incremental improvements and additions made during this time. The | |||
space is cleaned about a month prior to the start of the next | space is cleaned about a month prior to the start of the next | |||
meeting, removing anything left over from the previous meeting. | meeting, removing anything left over from the previous meeting. | |||
Hackathon teams are encouraged to make a copy of anything they want | Hackathon teams are encouraged to make a copy of anything they want | |||
to retain within a week of the end of the IETF meeting. | to retain within a week of the end of the IETF meeting. | |||
6. Statistics and Metrics | 6. Statistics and Metrics | |||
Statistics for the Hackathon have been gathered informally from the | Statistics for the Hackathon have been gathered informally from the | |||
first Hackathon, at IETF 92, and more formally since IETF 101. | first Hackathon, at IETF 92, and more formally since IETF 101. | |||
Registration is required but it is also free, which can lead to | Registration is required, but it is also free, which can lead to | |||
misleading statistics. Starting with IETF 101, an effort has been | misleading statistics. Starting with IETF 101, an effort has been | |||
made by the Secretariat to validate registrations for all in-person | made by the Secretariat to validate registrations for all in-person | |||
participants by checking registrations at the main entrance to the | participants by checking registrations at the main entrance to the | |||
Hackathon room. Badges similar to those issued for the rest of the | Hackathon room. Badges similar to those issued for the rest of the | |||
IETF meeting are now issued for the Hackathon as well. There is | IETF meeting are now issued for the Hackathon as well. There is | |||
still no good mechanism for determining the number of remote | still no good mechanism for determining the number of remote | |||
participants. | participants. | |||
Hackathon participation has grown from 45 at IETF 92 to a maximum of | Hackathon participation has grown from 45 participants at IETF 92 to | |||
406 at IETF 104. Participation tends to be slightly higher when the | a maximum of 406 participants at IETF 104. Participation tends to be | |||
IETF meeting is located in Europe. Recent in-person Hackathons have | slightly higher when the IETF meeting is located in Europe. Recent | |||
had roughly 30-40% as many participants as the corresponding IETF | in-person Hackathons have had roughly 30-40% as many participants as | |||
meeting. For roughly 20-30% of Hackathon participants, the Hackathon | the corresponding IETF meeting. For roughly 20-30% of Hackathon | |||
is their first experience at any IETF event. | participants, the Hackathon is their first experience at any IETF | |||
event. | ||||
6.1. IETF Survey Results | 6.1. IETF Survey Results | |||
For each IETF meeting, there is a post event survey that often | For each IETF meeting, there is a post-event survey that often | |||
includes a question or two about the Hackathon, e.g., | includes a question or two about the Hackathon, e.g., | |||
[IETF-106-SURVEY] | [IETF-106-SURVEY]. | |||
6.2. Hackathon Survey Results | 6.2. Hackathon Survey Results | |||
Hackathon specific surveys have been used on some occasions to obtain | Hackathon-specific surveys have been used on some occasions to obtain | |||
more detailed feedback about the Hackathon from the IETF community. | more detailed feedback about the Hackathon from the IETF community. | |||
This has been especially useful for feedback on online only | This has been especially useful for feedback on online-only | |||
Hackathons. Survey have been short with most questions being | Hackathons. Surveys have been short with most questions being | |||
optional, e.g., [IETF-110-SURVEY]. | optional, e.g., [IETF-110-SURVEY]. | |||
7. Roles and Responsibilities | 7. Roles and Responsibilities | |||
This section provides a summary of the roles and responsibilities of | This section provides a summary of the roles and responsibilities of | |||
individuals and groups involved in a successful IETF Hackathon. The | individuals and groups involved in a successful IETF Hackathon. The | |||
summary provided here is not meant to be exhaustive. Some | summary provided here is not meant to be exhaustive. Some | |||
responsibilities are described entirely or in more detail throughout | responsibilities are described entirely or in more detail throughout | |||
the rest of the document. | the rest of the document. | |||
7.1. Hackathon Chair(s) | 7.1. Hackathon Chair(s) | |||
The role of a Hackathon chair is similar to that of a working group | The role of a Hackathon Chair is similar to that of a working group | |||
chair. As with working groups, it is typically best to have co- | chair. As with working groups, it is typically best to have co- | |||
chairs share responsibilities and workload. The Chairs work very | chairs share responsibilities and the workload. The Hackathon | |||
closely with the Secretariat on all responsibilities. Key | Chair(s) works very closely with the Secretariat on all | |||
responsibilities include: | responsibilities. Key responsibilities include the following: | |||
* Organize and deliver a Hackathon at each IETF meeting, soliciting | * Organize and deliver a Hackathon at each IETF meeting, which | |||
help from all other roles to do much of the heavy lifting | involves soliciting help from all other roles to do much of the | |||
heavy lifting | ||||
* Encourage and provide guidance to champions who volunteer to lead | * Encourage and provide guidance to champions who volunteer to lead | |||
projects | projects | |||
* Maintain the Hackathon wiki, e.g., [IETF-110-HACKATHON-WIKI], and | * Maintain the Hackathon wiki, e.g., [IETF-110-HACKATHON-WIKI], and | |||
all of its child pages. | all of its child pages. | |||
* Moderate Hackathon email list (Section 5.5) | * Moderate the Hackathon email list (Section 5.5) | |||
* [REQUEST-SESSIONS] for the Hackathon opening and closing in the | * request sessions for the Hackathon opening and closing in the IETF | |||
IETF meeting | meeting, e.g., [REQUEST-SESSIONS] | |||
* Emcee the Hackathon, including the opening and closing sessions | * Emcee the Hackathon, including the opening and closing sessions | |||
and announcements in between | and announcements in between | |||
* Create and manage the GitHub repository used for each Hackathon, | * Create and manage the GitHub repository used for each Hackathon, | |||
e.g.,[RESULTS-PRESENTATIONS] | e.g.,[RESULTS-PRESENTATIONS] | |||
* Serve as main point of contact for all Hackathon questions and | * Serve as the main point of contact for all Hackathon questions and | |||
concerns | concerns | |||
7.2. Secretariat | 7.2. Secretariat | |||
Key responsibilities include: | Key responsibilities include the following: | |||
* Configure and manage Hackathon registration system (Section 5.3) | * Configure and manage the Hackathon registration system | |||
(Section 5.3) | ||||
* Maintain Hackathon website (Section 5.2.1) | * Maintain the Hackathon website (Section 5.2.1) | |||
* Create and maintain web page for each Hackathon, e.g., | * Create and maintain the web page for each Hackathon, e.g., | |||
[IETF-110-HACKATHON-WEBSITE] | [IETF-110-HACKATHON-WEBSITE] | |||
* Create wiki page for each Hackathon, e.g., | * Create a wiki page for each Hackathon, e.g., | |||
[IETF-110-HACKATHON-WIKI]. This is initialized and updated at | [IETF-110-HACKATHON-WIKI]. This is initialized and updated at | |||
times by the Secretariat, but the Chair(s) are ultimately | times by the Secretariat, but the Chair(s) is ultimately | |||
responsible for maintaining it. | responsible for maintaining it. | |||
* Handle venue logistics for Hackathon, Hackdemo Happy Hour, and | * Handle venue logistics for the Hackathon, Hackdemo Happy Hour, and | |||
Code Lounge (e.g., reserve room, food and beverages, AV, etc.) | the Code Lounge (e.g., reserve room, food and beverages, AV, etc.) | |||
* Internal IETF promotion (e.g., email messages to IETF community) | * Handle internal IETF promotion (e.g., via email messages to the | |||
IETF community) | ||||
* Assist with external outreach, as needed, including finding | * Assist with external outreach, as needed, including finding | |||
sponsors | sponsors | |||
* Validate Hackathon registrations for in-person participants, | * Validate Hackathon registrations for in-person participants, | |||
including issuing badges and Hackathon t-shirts (Section 3.2.1.3) | including issuing badges and Hackathon T-shirts (Section 3.2.1.3) | |||
when available | when available | |||
7.3. Sponsor | 7.3. Sponsor | |||
Key responsibilities include: | Key responsibilities include the following: | |||
* Provide some funding to help offset costs of Hackathon (either per | * Provide some funding to help offset costs of the Hackathon (either | |||
meeting or per year, depending on model) | per meeting or per year, depending on the model) | |||
* Optionally provide t-shirts or other giveaways | * Optionally provide T-shirts or other giveaways | |||
* Optionally provide support staff to assist with Hackathon | * Optionally provide support staff to assist with the Hackathon | |||
Key benefits include: | Key benefits include the following: | |||
* Sponsor logo on Hackathon t-shirts | * Sponsor logo on Hackathon T-shirts | |||
* Sponsor logo on Hackathon signage | * Sponsor logo on Hackathon signage | |||
* Sponsor logo on Hackathon webpage and wiki | * Sponsor logo on the Hackathon web page and wiki | |||
* Sponsor logo and call out in Hackathon kickoff and closing | * Sponsor logo and call out in the Hackathon kickoff and closing | |||
presentation | presentations | |||
* Sponsor logo and call out in IETF Plenary presentation | * Sponsor logo and call out in the IETF plenary presentation | |||
* Sponsor logo and call out in Hackathon recap on [IETF-BLOG] | * Sponsor logo and call out in the Hackathon recap on [IETF-BLOG] | |||
* Recognition in IETF community for helping the IETF Hackathon | * Recognition in the IETF community for helping the IETF Hackathon | |||
remain free and open to everyone | remain free and open to everyone | |||
7.4. Champions of Projects | 7.4. Champions of Projects | |||
Champions of projects are the key to a successful Hackathon. Key | Champions of projects are the key to a successful Hackathon. Key | |||
responsibilities for champions include: | responsibilities for champions include the following: | |||
* Volunteer to lead a project at the Hackathon | * Volunteer to lead a project at the Hackathon | |||
* Serve as primary contact for the project | ||||
* Serve as the primary contact for the project | ||||
* Add and manage information on the Hackathon wiki for the project, | * Add and manage information on the Hackathon wiki for the project, | |||
including Hackdemo Happy Hour (Section 2.2), Code Lounge | including the Hackdemo Happy Hour (Section 2.2), Code Lounge | |||
(Section 2.3), and Team Schedule (Section 5.4.5.1) pages | (Section 2.3), and Team Schedule (Section 5.4.5.1) pages | |||
* Promote the project to appropriate groups inside IETF and outside | * Promote the project to appropriate groups inside the IETF and | |||
as well | outside as well | |||
* Welcome and organize members of the team | * Welcome and organize members of the team | |||
* Provide focus, guidance, and leadership for the project | * Provide focus, guidance, and leadership for the project | |||
7.5. IETF LLC, Director of Communications and Operations (was ISOC) | 7.5. IETF LLC, Director of Communications and Operations (was ISOC) | |||
Key responsibilities include: | Key responsibilities include the following: | |||
* Promotion outside of IETF, including web search engine ad words, | * Promote the Hackathon outside of the IETF, including web search | |||
social media posts, and listing on external event calendars such | engine ad words, social media posts, and listing on external event | |||
as [RIPE-CALENDAR] and [NSRC-CALENDAR]. | calendars, such as [RIPE-CALENDAR] and [NSRC-CALENDAR] | |||
* Outreach to local universities | * Handle outreach to local universities | |||
* Provide photographer, including optional team photos and candid | * Provide a photographer, including optional team photos and candid | |||
photos of collaborating during in-person events | photos of collaborating during in-person events | |||
* Laptop stickers (Section 3.2.1.4) at in-person events | * Provide laptop stickers (Section 3.2.1.4) at in-person events | |||
7.6. Judges | 7.6. Judges | |||
The first several Hackathon involved judges who listened to project | The first several Hackathons involved judges who listened to project | |||
results presentations by teams at the closing of each Hackathon and | results presentations by teams at the closing of each Hackathon and | |||
identified winning teams for an arbitrary number of project | identified winning teams for an arbitrary number of project | |||
categories. Prizes were made available to members of winning teams. | categories. Prizes were made available to members of winning teams. | |||
This was done as an incentive to participate in the Hackathon and | This was done as an incentive to participate in the Hackathon and | |||
present results, and to provide a fun yet informative end to the | present results and to provide a fun yet informative end to the | |||
Hackathon that could be appreciated by the entire IETF community. | Hackathon that could be appreciated by the entire IETF community. | |||
Judging and awarding of prizes led to confusion regarding the nature | Judging and the awarding of prizes led to confusion regarding the | |||
of the Hackathon, making it appear to some overly competitive. | nature of the Hackathon, making it appear overly competitive to some. | |||
Procurement of appropriate prizes was financially and logistically | Procurement of appropriate prizes was financially and logistically | |||
challenging. Arrangement of judges, determination of winners, and | challenging. The arrangement of judges, determination of winners, | |||
awarding of prizes all became more time consuming, especially as the | and awarding of prizes all became more time consuming, especially as | |||
number of projects and participants grew. Ultimately, it was deemed | the number of projects and participants grew. Ultimately, it was | |||
best to eliminate judging, awards, and prizes entirely. Apparently | deemed best to eliminate judging, awards, and prizes entirely. | |||
the IETF community has an innate incentive to participate and present | Apparently, the IETF community has an innate incentive to participate | |||
results in the Hackathon. | and present results in the Hackathon. | |||
8. Implementation Status | 8. Implementation Status | |||
The practices described in this document have been established, used, | The practices described in this document have been established, used, | |||
and refined over the course of running numerous IETF Hackathons, | and refined over the course of running numerous IETF Hackathons, | |||
including several at online only IETF meetings. The [GITHUB-REPO] | including several at online-only IETF meetings. The GitHub | |||
GitHub repository has been used to collaborate on this document. The | repository [GITHUB-REPO] has been used to collaborate on this | |||
IETF-Hackathon GitHub (Section 5.6) contains code associated with | document. The IETF-Hackathon GitHub (Section 5.6) contains code | |||
IETF Hackathons. | associated with IETF Hackathons. | |||
9. Security Considerations | 9. Security Considerations | |||
HackNet (Section 5.8.1) enables Hackathon participants to join the | HackNet (Section 5.8.1) enables Hackathon participants to join the | |||
IETF network while attending a meeting remotely. The intent is for | IETF network while attending a meeting remotely. The intent is for | |||
those connecting remotely to have as open a network as possible, just | those connecting remotely to have as open a network as possible, just | |||
like those connecting to the IETF network at an in person meeting. A | like those connecting to the IETF network at an in-person meeting. A | |||
user must have a Datatracker account to access HackNet and is | user must have a Datatracker account to access HackNet and is | |||
expected to respect it just as they are expected to respect the IETF | expected to respect it, just as they are expected to respect the IETF | |||
network at an in person meeting. If HackNet is exploited, it is | network at an in-person meeting. If HackNet is exploited, it is | |||
addressed as an exploitation of the IETF network would be at an in | addressed in the same manner as an exploitation of the IETF network | |||
person meeting. | would be at an in-person meeting. | |||
9.1. Privacy Considerations | 9.1. Privacy Considerations | |||
The Hackathon complies with the [IETF-IRTF-IAB-PRIVACY-STATEMENT]. | The Hackathon complies with the IETF/IRTF/IAB [PRIVACY-STATEMENT]. | |||
Participant names are displayed publicly in the Participant List | Participant names are displayed publicly in the Participant List | |||
(Section 5.3.1). As part of their registration, participants may opt | (Section 5.3.1). As part of their registration, participants may opt | |||
in to display their email address as well. | in to display their email address as well. | |||
The email addresses of individual champions are often shared publicly | The email addresses of individual champions are often shared publicly | |||
by the champions on the wiki. This is done voluntarily by individual | by the champions on the wiki. This is done voluntarily by individual | |||
champions to make it easier for others to contact them. | champions to make it easier for others to contact them. | |||
Photos taken during Hackathon, and during the IETF meeting in | Photos taken during the Hackathon, and during the IETF meeting in | |||
general, are sometimes included in blog posts or on social media. | general, are sometimes included in blog posts or on social media. | |||
Red lanyards are made availale to Hackathon participants to wear to | Red lanyards are made available to Hackathon participants to wear to | |||
indicate that they do not wish to be photographed individually or in | indicate that they do not wish to be photographed individually or in | |||
small groups. | small groups. | |||
10. IANA Considerations | 10. IANA Considerations | |||
This document has no IANA actions. | This document has no IANA actions. | |||
11. Informative References | 11. Informative References | |||
[AGENDAS] "IETF Meeting Agenda", n.d., | [AGENDAS] IETF, "IETF Meeting Agenda", | |||
<https://datatracker.ietf.org/meeting/agenda/>. | <https://datatracker.ietf.org/meeting/agenda/>. | |||
[BITS-N-BITES] | [BITS-N-BITES] | |||
"IETF Bits-N-Bites", n.d., | IETF, "About Bits-N-Bites", | |||
<https://www.ietf.org/how/meetings/98/bits-n-bites/>. | <https://www.ietf.org/how/meetings/98/bits-n-bites/>. | |||
[CODE-LOUNGE] | [CODE-LOUNGE] | |||
"IETF 113 Code Lounge", n.d., | IETF, "IETF 113 Code Lounge", | |||
<https://trac.ietf.org/trac/ietf/meeting/ | <https://trac.ietf.org/trac/ietf/meeting/ | |||
wiki/113hackathon/codelounge>. | wiki/113hackathon/codelounge>. | |||
[CODE-SPRINT] | [CODE-SPRINT] | |||
"IETF Code Sprint", n.d., | IETF, "Code Sprint", | |||
<https://www.ietf.org/how/runningcode/code-sprint/>. | <https://www.ietf.org/how/runningcode/code-sprint/>. | |||
[DATATRACKER] | [DATATRACKER] | |||
"IETF Datatracker", n.d., <https://datatracker.ietf.org/>. | IETF, "IETF Datatracker", <https://datatracker.ietf.org/>. | |||
[DATATRACKER-ACCOUNT] | [DATATRACKER-ACCOUNT] | |||
"IETF Datatracker Account Creation", n.d., | IETF, "IETF Datatracker Account Creation", | |||
<https://datatracker.ietf.org/accounts/create/>. | <https://datatracker.ietf.org/accounts/create/>. | |||
[EMAIL-ALIAS] | ||||
"IETF Hackathon Chairs Email Alias", n.d., | ||||
<mailto:hackathon-chairs@ietf.org>. | ||||
[EMAIL-LIST] | [EMAIL-LIST] | |||
"IETF Hackathon Email List", n.d., | IETF, "IETF Hackathon Mailing List", | |||
<https://www.ietf.org/mailman/listinfo/Hackathon/>. | <https://www.ietf.org/mailman/listinfo/Hackathon/>. | |||
[GATHER] "Gather", n.d., <https://gather.town/>. | [GATHER] "Gather", <https://gather.town/>. | |||
[GITHUB-REPO] | [GITHUB-REPO] | |||
"GitHub Repository for draft-ietf-shmoo-hackathon", n.d., | "draft-ietf-shmoo-hackathon: IETF SHMOO working group | |||
draft on running an IETF Hackathon", commit 6a8aad6, July | ||||
2022, | ||||
<https://github.com/eckelcu/draft-ietf-shmoo-hackathon/>. | <https://github.com/eckelcu/draft-ietf-shmoo-hackathon/>. | |||
[HACKATHON-WEBSITE] | [HACKATHON-WEBSITE] | |||
"IETF Hackathon Website", n.d., | IETF, "IETF Hackathons", | |||
<https://www.ietf.org/how/runningcode/hackathons/>. | <https://www.ietf.org/how/runningcode/hackathons/>. | |||
[HACKDEMO] "IETF 113 Hackdemo Happy Hour", n.d., | [HACKDEMO] IETF, "IETF 113 Hackdemo Happy Hour", | |||
<https://trac.ietf.org/trac/ietf/meeting/ | <https://trac.ietf.org/trac/ietf/meeting/ | |||
wiki/113hackathon/hackdemo>. | wiki/113hackathon/hackdemo>. | |||
[HACKNET] "HackNet", n.d., <https://hacknet.meeting.ietf.org/>. | [HACKNET] IETF, "HackNet", <https://hacknet.meeting.ietf.org/>. | |||
[HEDGEDOC] "HedgeDoc", n.d., <https://notes.ietf.org/>. | [HEDGEDOC] IETF, "HedgeDoc", <https://notes.ietf.org/>. | |||
[IETF-106-SURVEY] | [IETF-106-SURVEY] | |||
"IETF 106 Meeting Survey", n.d., | IETF, "IETF 106 Meeting Survey", | |||
<https://www.ietf.org/media/documents/ | <https://www.ietf.org/media/documents/ | |||
IETF_106_Meeting_Survey.pdf>. | IETF_106_Meeting_Survey.pdf>. | |||
[IETF-108-HACKATHON-WIKI] | [IETF-108-HACKATHON-WIKI] | |||
"IETF 108 Hackathon Wiki", n.d., | IETF, "IETF 108 Hackathon Wiki", | |||
<https://trac.ietf.org/trac/ietf/meeting/ | <https://trac.ietf.org/trac/ietf/meeting/ | |||
wiki/108hackathon/>. | wiki/108hackathon/>. | |||
[IETF-110-HACKATHON-WEBSITE] | [IETF-110-HACKATHON-WEBSITE] | |||
"IETF 110 Hackathon Website", n.d., | IETF, "IETF 110 Hackathon Online", | |||
<https://www.ietf.org/how/runningcode/ | <https://www.ietf.org/how/runningcode/ | |||
hackathons/110-hackathon/>. | hackathons/110-hackathon/>. | |||
[IETF-110-HACKATHON-WIKI] | [IETF-110-HACKATHON-WIKI] | |||
"IETF 110 Hackathon Wiki", n.d., | IETF, "IETF 110 Hackathon Wiki", | |||
<https://trac.ietf.org/trac/ietf/meeting/ | <https://trac.ietf.org/trac/ietf/meeting/ | |||
wiki/110hackathon/>. | wiki/110hackathon/>. | |||
[IETF-110-SURVEY] | [IETF-110-SURVEY] | |||
"IETF 110 Meeting Survey", n.d., <https://ql.tc/8K1JeZ/>. | IETF, "IETF 110 Meeting Survey", <https://ql.tc/8K1JeZ/>. | |||
[IETF-BLOG] | [IETF-BLOG] | |||
"IETF Blog", n.d., <https://www.ietf.org/blog/>. | IETF, "IETF Blog", <https://www.ietf.org/blog/>. | |||
[IETF-HACKATHON-GITHUB] | [IETF-HACKATHON-GITHUB] | |||
"IETF-Hackathon GitHub", n.d., | IETF, "IETF-Hackathon Repositories", | |||
<https://github.com/ietf-hackathon/>. | <https://github.com/ietf-hackathon/>. | |||
[IETF-IRTF-IAB-PRIVACY-STATEMENT] | ||||
"IETF/IRTF/IAB Privacy Statement", n.d., | ||||
<https://www.ietf.org/privacy-statement/>. | ||||
[IETF-RUNNING-CODE-SPONSOR] | ||||
"IETF Running Code Sponsor", n.d., <https://www.ietf.org/ | ||||
support-us/sponsorship/#running-code>. | ||||
[LOST-AND-FOUND] | [LOST-AND-FOUND] | |||
"IETF 110 Hackathon Lost and Found", n.d., | IETF, "IETF 110 Hackathon Lost and Found", | |||
<https://trac.ietf.org/trac/ietf/meeting/ | <https://trac.ietf.org/trac/ietf/meeting/ | |||
wiki/110hackathon/lost&found>. | wiki/110hackathon/lost&found>. | |||
[MEETECHO] "Meetecho", n.d., <https://www.meetecho.com/>. | [MEETECHO] "Meetecho", <https://www.meetecho.com/>. | |||
[MEETING-WEBSITE] | [MEETING-WEBSITE] | |||
"IETF Meeting Website", n.d., | IETF, "Meetings and events", | |||
<https://www.ietf.org/how/meetings/>. | <https://www.ietf.org/how/meetings/>. | |||
[MEETING-WIKI] | [MEETING-WIKI] | |||
"IETF Meeting Wiki", n.d., | IETF, "IETF Meeting Wiki", | |||
<https://trac.ietf.org/trac/ietf/meeting/wiki>. | <https://trac.ietf.org/trac/ietf/meeting/wiki>. | |||
[NOTE-WELL] | [NOTE-WELL] | |||
"IETF Note Well", n.d., | IETF, "Note Well", <https://ietf.org/about/note-well/>. | |||
<https://ietf.org/about/note-well/>. | ||||
[NSRC-CALENDAR] | [NSRC-CALENDAR] | |||
"Network Startup Resource Center Calendar", n.d., | Network Startup Resource Center, "Education Outreach and | |||
Training (EOT) Calendar for Internet Development", | ||||
<https://nsrc.org/calendar/>. | <https://nsrc.org/calendar/>. | |||
[PARTICIPANTS] | [PARTICIPANTS] | |||
"IETF 110 Hackathon Participant List", n.d., | IETF, "IETF 110 Hackathon Participant List", | |||
<https://registration.ietf.org/110/participants/ | <https://registration.ietf.org/110/participants/ | |||
hackathon/>. | hackathon/>. | |||
[PRIVACY-STATEMENT] | ||||
IETF, "IETF/IRTF/IAB Privacy Statement", | ||||
<https://www.ietf.org/privacy-statement/>. | ||||
[REGISTRATION-SYSTEM] | [REGISTRATION-SYSTEM] | |||
"IETF Meeting Registration System", n.d., | IETF, "IETF Meeting Registration System", | |||
<https://registration.ietf.org/>. | <https://registration.ietf.org/>. | |||
[REMARK] "remark GitHub Repository", n.d., | [REMARK] "remark: A simple, in-browser, markdown-driven slideshow | |||
tool", commit 1bbce13, May 2022, | ||||
<https://github.com/gnab/remark/>. | <https://github.com/gnab/remark/>. | |||
[REQUEST-SESSIONS] | [REQUEST-SESSIONS] | |||
"IETF Session Request", n.d., | IETF, "IETF Session Request", | |||
<https://datatracker.ietf.org/secr/sreq/>. | <https://datatracker.ietf.org/secr/sreq/>. | |||
[RESULTS-PRESENTATION-SCHEDULE] | [RESULTS-PRESENTATION-SCHEDULE] | |||
"IETF 110 Hackathon Results Presentation Schedule", n.d., | IETF, "IETF 110 Hackathon Results Presentation Schedule", | |||
<https://trac.ietf.org/trac/ietf/meeting/ | <https://trac.ietf.org/trac/ietf/meeting/ | |||
wiki/110hackathon/resultspresentationschedule>. | wiki/110hackathon/resultspresentationschedule>. | |||
[RESULTS-PRESENTATIONS] | [RESULTS-PRESENTATIONS] | |||
"IETF 110 Hackathon Project Results Presentations", n.d., | IETF, "IETF 110 Hackathon Project Results Presentations", | |||
<https://github.com/ietf-hackathon/ietf110-project- | commit a6a12bd, March 2021, <https://github.com/ietf- | |||
presentations>. | hackathon/ietf110-project-presentations>. | |||
[RIPE-CALENDAR] | [RIPE-CALENDAR] | |||
"RIPE Upcoming Events", n.d., | RIPE NCC, "Upcoming Events", | |||
<https://www.ripe.net/participate/meetings/calendar/>. | <https://www.ripe.net/participate/meetings/calendar/>. | |||
[SURVEY] "IETF 107 Hackathon Participant Survey", n.d., | [RUNNING-CODE-SPONSOR] | |||
IETF, "IETF Meeting Sponsorship: Running Code Sponsors", | ||||
<https://www.ietf.org/support-us/sponsorship/#running- | ||||
code>. | ||||
[SURVEY] IETF, "IETF 107 Hackathon Results: Participant Survey", | ||||
<https://www.surveymonkey.com/results/SM-9HLRXN8M7/>. | <https://www.surveymonkey.com/results/SM-9HLRXN8M7/>. | |||
[TEAM-SCHEDULE] | [TEAM-SCHEDULE] | |||
"IETF 110 Hackathon Team Schedule", n.d., | IETF, "IETF 110 Hackathon Team Schedule", | |||
<https://trac.ietf.org/trac/ietf/meeting/ | <https://trac.ietf.org/trac/ietf/meeting/ | |||
wiki/110hackathon/teamschedule>. | wiki/110hackathon/teamschedule>. | |||
[TICKET] "IETF Support Email Alias", n.d., | ||||
<mailto:tickets@meeting.ietf.org>. | ||||
[WEBEX-ACCOUNT] | [WEBEX-ACCOUNT] | |||
"IETF Webex Account", n.d., | IETF, "IETF Webex Account", | |||
<https://ietf.webex.com/webappng/sites/ietf/ | <https://ietf.webex.com/webappng/sites/ietf/ | |||
dashboard?siteurl=ietf/>. | dashboard?siteurl=ietf/>. | |||
Acknowledgments | Acknowledgments | |||
The IETF Secretariat, notably Alexa Morris and Stephanie McCammon, | The IETF Secretariat, notably Alexa Morris and Stephanie McCammon, | |||
contributed significantly to the creation of the IETF Hackathon and | contributed significantly to the creation of the IETF Hackathon and | |||
the practices in this document. Among other things, Alexa drafted | the practices in this document. Among other things, Alexa drafted | |||
the initial breakdown of Roles and Responsibilities (Section 7), and | the initial breakdown of "Roles and Responsibilities" (Section 7), | |||
Stephanie McCammon created the initial Hackathon website and wiki. | and Stephanie created the initial Hackathon website and wiki. These | |||
These have evolved over time and are used to run each Hackathon. | have evolved over time and are used to run each Hackathon. | |||
Greg Wood, Barry Leiba, Michael Richardson, Benson Muite, Dhruv | Greg Wood, Barry Leiba, Michael Richardson, Benson Muite, Dhruv | |||
Dhody, Karl Auerbach, Mallory Knodel, Lars Eggert, Robert Sparks, | Dhody, Karl Auerbach, Mallory Knodel, Lars Eggert, Robert Sparks, | |||
Thomas Fossati, Alvaro Retana, Erik Kline, John Scudder, Roman | Thomas Fossati, Alvaro Retana, Erik Kline, John Scudder, Roman | |||
Danyliw, and Eric Vyncke also provided significant contributions to | Danyliw, and Éric Vyncke also provided significant contributions to | |||
the Hackathon and to this document. | the Hackathon and to this document. | |||
Author's Address | Author's Address | |||
Charles Eckel | Charles Eckel | |||
Cisco Systems | Cisco Systems | |||
United States of America | United States of America | |||
Email: eckelcu@cisco.com | Email: eckelcu@cisco.com | |||
End of changes. 197 change blocks. | ||||
456 lines changed or deleted | 453 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |