| 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. | ||||