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