idnits 2.17.1
draft-ietf-shmoo-hackathon-07.txt:
Checking boilerplate required by RFC 5378 and the IETF Trust (see
https://trustee.ietf.org/license-info):
----------------------------------------------------------------------------
No issues found here.
Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt:
----------------------------------------------------------------------------
No issues found here.
Checking nits according to https://www.ietf.org/id-info/checklist :
----------------------------------------------------------------------------
No issues found here.
Miscellaneous warnings:
----------------------------------------------------------------------------
== The copyright year in the IETF Trust and authors Copyright Line does not
match the current year
-- The document date (21 June 2022) is 668 days in the past. Is this
intentional?
Checking references for intended status: Informational
----------------------------------------------------------------------------
No issues found here.
Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 1 comment (--).
Run idnits with the --verbose option for more detailed information about
the items above.
--------------------------------------------------------------------------------
2 Stay Home Meet Occasionally Online C. Eckel
3 Internet-Draft Cisco Systems
4 Intended status: Informational 21 June 2022
5 Expires: 23 December 2022
7 Running an IETF Hackathon
8 draft-ietf-shmoo-hackathon-07
10 Abstract
12 IETF Hackathons encourage the IETF community to collaborate on
13 running code related to existing and evolving Internet standards.
14 This document provides a set of practices that have been used for
15 running IETF Hackathons. These practices apply to Hackathons in
16 which both in-person and remote participation are possible with
17 adaptations for Hackathons that are online only.
19 Discussion Venues
21 This note is to be removed before publishing as an RFC.
23 Discussion of this document takes place on the Stay Home Meet
24 Occasionally Online Working Group mailing list
25 (manycouches@ietf.org), which is archived at
26 https://mailarchive.ietf.org/arch/browse/manycouches/.
28 Source for this draft and an issue tracker can be found at
29 https://github.com/eckelcu/draft-ietf-shmoo-hackathon.
31 Status of This Memo
33 This Internet-Draft is submitted in full conformance with the
34 provisions of BCP 78 and BCP 79.
36 Internet-Drafts are working documents of the Internet Engineering
37 Task Force (IETF). Note that other groups may also distribute
38 working documents as Internet-Drafts. The list of current Internet-
39 Drafts is at https://datatracker.ietf.org/drafts/current/.
41 Internet-Drafts are draft documents valid for a maximum of six months
42 and may be updated, replaced, or obsoleted by other documents at any
43 time. It is inappropriate to use Internet-Drafts as reference
44 material or to cite them other than as "work in progress."
46 This Internet-Draft will expire on 23 December 2022.
48 Copyright Notice
50 Copyright (c) 2022 IETF Trust and the persons identified as the
51 document authors. All rights reserved.
53 This document is subject to BCP 78 and the IETF Trust's Legal
54 Provisions Relating to IETF Documents (https://trustee.ietf.org/
55 license-info) in effect on the date of publication of this document.
56 Please review these documents carefully, as they describe your rights
57 and restrictions with respect to this document. Code Components
58 extracted from this document must include Revised BSD License text as
59 described in Section 4.e of the Trust Legal Provisions and are
60 provided without warranty as described in the Revised BSD License.
62 Table of Contents
64 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
65 2. Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
66 2.1. Agenda . . . . . . . . . . . . . . . . . . . . . . . . . 5
67 2.2. Hackdemo Happy Hour . . . . . . . . . . . . . . . . . . . 7
68 2.3. Code Lounge . . . . . . . . . . . . . . . . . . . . . . . 7
69 2.4. Code Sprint . . . . . . . . . . . . . . . . . . . . . . . 7
70 2.5. Online Only . . . . . . . . . . . . . . . . . . . . . . . 8
71 3. Funding . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
72 3.1. Sponsorship . . . . . . . . . . . . . . . . . . . . . . . 9
73 3.2. Expenses . . . . . . . . . . . . . . . . . . . . . . . . 9
74 3.2.1. In-person Event Expenses . . . . . . . . . . . . . . 9
75 3.2.2. Remote Participation Expenses . . . . . . . . . . . . 11
76 4. Project Presentations . . . . . . . . . . . . . . . . . . . . 12
77 4.1. Project Pitches . . . . . . . . . . . . . . . . . . . . . 12
78 4.2. Project Results Presentations . . . . . . . . . . . . . . 12
79 4.2.1. Templates . . . . . . . . . . . . . . . . . . . . . . 13
80 4.3. Upload to GitHub . . . . . . . . . . . . . . . . . . . . 13
81 4.4. Presenting in Person . . . . . . . . . . . . . . . . . . 14
82 4.5. Presenting Remotely . . . . . . . . . . . . . . . . . . . 14
83 5. Tooling . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
84 5.1. Datatracker . . . . . . . . . . . . . . . . . . . . . . . 14
85 5.2. IETF Website . . . . . . . . . . . . . . . . . . . . . . 14
86 5.2.1. Hackathon Website . . . . . . . . . . . . . . . . . . 14
87 5.2.2. Meeting Website . . . . . . . . . . . . . . . . . . . 15
88 5.3. Registration . . . . . . . . . . . . . . . . . . . . . . 15
89 5.3.1. Participant List . . . . . . . . . . . . . . . . . . 15
90 5.3.2. Caps on Registrations . . . . . . . . . . . . . . . . 15
91 5.4. Meeting Wiki . . . . . . . . . . . . . . . . . . . . . . 15
92 5.4.1. Hackathon . . . . . . . . . . . . . . . . . . . . . . 16
93 5.4.2. Lost and Found . . . . . . . . . . . . . . . . . . . 16
94 5.4.3. Results Presentation Schedule . . . . . . . . . . . . 16
95 5.4.4. In Person Only . . . . . . . . . . . . . . . . . . . 16
96 5.4.5. Online Only . . . . . . . . . . . . . . . . . . . . . 17
97 5.5. Email List . . . . . . . . . . . . . . . . . . . . . . . 17
98 5.5.1. Hackathon Chairs Email Alias . . . . . . . . . . . . 17
99 5.6. GitHub . . . . . . . . . . . . . . . . . . . . . . . . . 17
100 5.7. Meetecho . . . . . . . . . . . . . . . . . . . . . . . . 18
101 5.8. Network . . . . . . . . . . . . . . . . . . . . . . . . . 18
102 5.8.1. Remote Networking . . . . . . . . . . . . . . . . . . 19
103 5.9. Webex . . . . . . . . . . . . . . . . . . . . . . . . . . 19
104 5.10. Gather . . . . . . . . . . . . . . . . . . . . . . . . . 19
105 6. Statistics and Metrics . . . . . . . . . . . . . . . . . . . 20
106 6.1. IETF Survey Results . . . . . . . . . . . . . . . . . . . 20
107 6.2. Hackathon Survey Results . . . . . . . . . . . . . . . . 20
108 7. Roles and Responsibilities . . . . . . . . . . . . . . . . . 20
109 7.1. Hackathon Chair(s) . . . . . . . . . . . . . . . . . . . 21
110 7.2. Secretariat . . . . . . . . . . . . . . . . . . . . . . . 21
111 7.3. Sponsor . . . . . . . . . . . . . . . . . . . . . . . . . 22
112 7.4. Champions of Projects . . . . . . . . . . . . . . . . . . 22
113 7.5. IETF LLC, Director of Communications and Operations (was
114 ISOC) . . . . . . . . . . . . . . . . . . . . . . . . . . 23
115 7.6. Judges . . . . . . . . . . . . . . . . . . . . . . . . . 23
116 8. Implementation Status . . . . . . . . . . . . . . . . . . . . 24
117 9. Security Considerations . . . . . . . . . . . . . . . . . . . 24
118 9.1. Privacy Considerations . . . . . . . . . . . . . . . . . 24
119 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24
120 11. Informative References . . . . . . . . . . . . . . . . . . . 24
121 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 28
122 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 28
124 1. Introduction
126 IETF Hackathons encourage the IETF community to collaborate on
127 running code related to existing and evolving Internet standards.
128 IETF Hackathons aim to:
130 * Advance the pace and relevance of IETF standards activities by
131 bringing the speed and collaborative spirit of open source
132 development into the IETF
134 * Bring developers and young people into IETF and get them exposed
135 to and interested in the IETF
137 IETF Hackathons are free to attend and open to everyone. Software
138 developers are the primary audience, but participation by subject-
139 matter experts who are not necessary developers is encouraged and
140 very important as well. Similarly, while the Hackathon is meant to
141 attract newcomers and those who do not typically view themselves as
142 standards people, long time IETF contributors, including Internet-
143 Draft authors, working group chairs, and subject-matter experts, are
144 key participants as well. Group dynamics and blending of skill sets
145 and perspectives are extremely valuable aspects of IETF Hackathons.
147 In addition to the running code created and improved as a result of
148 each Hackathon, the exchange of ideas, extensions of human networks,
149 and establishment of trust, respect, and friendships are some of the
150 most valuable outputs of each Hackathon. Code written in a
151 programming language can be more illustrative and less
152 confrontational than opinions expressed during a meeting or in an
153 email. Working together to find common understanding of proposals,
154 concerns, and solutions that result in improvements to evolving
155 Internet standards is as important as the development of running code
156 that implements or validates the correctness of these same proposals.
158 Consequently, IETF Hackathons are collaborative events, not
159 competitions. Any competitiveness among participants is friendly and
160 in the spirit of advancing the pace and relevance of new and evolving
161 Internet standards. IETF Hackathons are inclusive, not only in terms
162 of who can participate but also in terms of the projects included in
163 each Hackathon. All projects should be related to existing or
164 proposed Internet standards in some way. Examples include, but are
165 not limited to, interoperability of implementations, proof of
166 concepts, and tools.
168 IETF Hackathons foster an open environment, with much of the code
169 being open source and projects results typically shared publicly.
170 The Hackathon operates under the [NOTE-WELL]; however, the rules and
171 terms around code are those of the license associated with the code.
172 Although code is often and preferably open source, it may be
173 proprietary as well.
175 This document provides a set of practices that have been used for
176 running IETF Hackathons.
178 2. Timing
180 The first IETF Hackathon was held the weekend before the start of the
181 IETF 92 meeting. The rationale was to avoid conflicts yet make it
182 relatively convenient for those attending the IETF meeting to
183 participate in the Hackathon as well. Holding the Hackathon on the
184 weekend was also viewed as making it more accessible to non IETF
185 meeting participants, including students and working professionals
186 who would have other commitments during the week. The weekend before
187 was viewed as better than the weekend after so that things learned
188 during the Hackathon could be shared and discussed with the rest of
189 the IETF community during working group sessions and the like. This
190 worked well at IETF 92, was repeated at IETF 93, and quickly became
191 an established norm with the IETF meeting being officially extended
192 to include the Hackathon at the start. An additional benefit of this
193 timing noted and appreciated by participants is that it serves as a
194 more informal and social way to physically and mentally acclimate to
195 changes in time zones and surroundings.
197 2.1. Agenda
199 The IETF Hackathon is a strenuous event. Though not a competition,
200 participants want to make the most of their time together, much as
201 with the IETF meeting in general. Competitive Hackathons typically
202 run non-stop for on the order of 40 hours. There is a strict
203 deadline and teams are judged and winners declared at the end.
204 Afterward everyone is wiped out and heads off to briefly celebrate or
205 commiserate, but mainly to recuperate. As the IETF Hackathon serves
206 as the start of the overall IETF meeting, we aim to strike a
207 compromise that provides enjoy time to get valuable work accomplished
208 without exhausting themselves before the main IETF meeting even
209 starts. While some people participate in the Hackathon only, the
210 majority of people remain and plan to be actively engaged in the rest
211 of the IETF meeting.
213 The typical agenda is as follows:
215 Saturday before IETF meeting week
216 08:30: Room open for setup by project champions
217 09:00: Room open for all - Pastries and coffee provided
218 09:30: Hackathon kickoff
219 09:45: Form Teams
220 12:30: Lunch provided
221 15:30: Afternoon break - Snacks provided
222 19:00: Dinner provided
223 22:00: Room closes
225 Sunday before IETF meeting week
226 08:30: Room opens - Pastries and coffee provided
227 12:30: Lunch provided
228 13:30: Hacking stops, prepare brief presentation of project results
229 14:00: Project results presentations to other participants
230 15:45: Closing remarks and opportunities for next time
231 16:00: Hackathon ends
232 17:00: Tear down complete
234 The time on Saturday morning provides team champions time for setup
235 and participants time to socialize and learn more about projects and
236 team they might want to join. The kickoff presentation and
237 formalities are kept to minimum to leave as much time as possible for
238 team to work together with their team on their projects. The
239 proximity of teams to each other fosters communication and
240 collaboration across teams as well.
242 Lunch and dinner are provided as a convenience and an incentive to
243 remain at the Hackathon. Participants are free to come and go as
244 they like. It is well understood and accepted that there are other
245 things vying for time and that meeting with friends and colleagues
246 outside of the Hackathon is an entirely reasonable thing to do.
248 The room closes Saturday evening to give hotel staff unfettered
249 access to the room and to encourage people to pace and take care of
250 themselves. There are no rules against continuing work on projects
251 outside of the Hackathon room. Similarly, working on projects long
252 before and after the Hackathon is allowed and encouraged.
254 The end of the Hackathon on Sunday is driven by other IETF meeting
255 events. There typically are Newcomer events that start at 16:00.
256 The IETF Hackathon typically includes many newcomers in its list of
257 participants and it is important to provide them time to participate
258 in the Newcomer events. The opening reception for the IETF typically
259 start at 17:00, and we want to make it easy for all Hackathon
260 participants to join that as well.
262 Hackdemo Happy Hour (Section 2.2) and the Code Lounge (Section 2.3)
263 exist to facilitate ongoing discussion and work on projects beyond
264 the official end of the Hackathon weekend.
266 2.2. Hackdemo Happy Hour
268 Hackdemo Happy Hour provides an opportunity for more in depth sharing
269 and discussion than is possible within the time constraints of the
270 result presentations that occur at the end of the Hackathon. This
271 opportunity is made available to all teams. As with the results
272 presentations, participation is optional.
274 Initially, we did something similar as part of Bits and Bites. This
275 worked well for the Hackathon but the Bits and Bites event was
276 eventually abandoned for other reasons. Hackdemo Happy Hour was
277 created as a low cost, informal event to provide a venue for the IETF
278 community to engage with the Hackathon teams in more in depth
279 discussions related to their projects.
281 Hackdemo Happy Hour is typically Monday evening, roughly from 18:00 -
282 19:30, often overlapping a bit with the last working group session of
283 the day but continuing long enough to allow everyone an opportunity
284 to join. The goal is to make it convenient to attend by not
285 conflicting with other meetings but also no running too late into the
286 night.
288 Light snacks and beverages are provided, and a cash bar is available
289 to align with the spirit of a happy hour.
291 2.3. Code Lounge
293 The Code Lounge provides space for groups to gather and continue to
294 collaborate on running code after the Hackathon. It is typically in
295 the IETF Lounge and open the same hours as the IETF Lounge.
296 Champions are encouraged to look at the final agenda and determine
297 time slots best suited to ensure attendance of Code Lounge sessions
298 as well as any related working group sessions. It is okay for
299 multiple teams to sign up for the same time slots. This is in fact
300 encouraged for work that spans multiple working groups or projects.
302 2.4. Code Sprint
304 The IETF [CODE-SPRINT] develops tools that support the work of the
305 IETF. The Code Sprint existed long before the Hackathon and
306 benefitted from being a focused event in a quiet space with few
307 interruptions. However, there is a great deal of synergy between the
308 Code Sprint and the Hackathon, and they attract some of the same
309 participants. For example, some Hackathon projects, such as those
310 related to YANG model validation, involve the creation or
311 modification of IETF tools. It is therefore advantageous to co-
312 locate these two events when practical, and when separate space is
313 deemed helpful, to allocate spaces that are physically close to each
314 other to make it easy for participants to switch back and forth
315 between the two events.
317 2.5. Online Only
319 The IETF 107 Hackathon was originally scheduled to be the weekend at
320 the start of the IETF meeting in Vancouver. When COVID-19 hit and it
321 became clear the IETF meeting could not occur in person, the
322 Hackathon already had 23 projects and 176 registrations. With only
323 10 days until the anticipated start of the Hackathon, a [SURVEY] went
324 out to the Hackathon community, including all project champions and
325 registered participants, to see if they wanted to participate in the
326 Hackathon exactly as planned except with everyone participating
327 remotely rather than in person. A relatively small number of people
328 expressed interest in participating, with even fewer wanting to
329 continue to champion their projects. The fact that the Hackathon was
330 planned for the weekend before the IETF meeting and in the local time
331 zone, both of which were historically very convenient and attractive
332 to Hackathon participants, suddenly became huge obstacles.
333 Consequently, the IETF 107 Hackathon was cancelled.
335 We knew more in advance that IETF 108 would be an online only
336 meeting. We moved and expanded the schedule to run the entire work
337 week before the rest of the IETF meeting. The Hackathon kickoff was
338 set for Monday, the closing for Friday, with all the time in between
339 left for individual project teams to arrange to meet how and when was
340 most convenient for them. The kickoff and closing sessions were
341 schedule to align with the time frame established for the IETF 108
342 meeting. All of this was, of course, not ideal, and it worked much
343 better for some people than for others, but at least everyone knew
344 the plan and corresponding time commitment well in advance and had
345 the ability to plan accordingly.
347 We ultimately had 19 projects and almost 300 registrations. It is
348 hard to say how many people actually participated and for how long,
349 but many projects were able to get substantial work done. For the
350 closing, 10 teams produced and shared presentations summarizing their
351 findings and achievements. All results presentations as well as the
352 agenda and a recording of the closing session are available via the
353 [IETF-108-HACKATHON-WIKI]. This level of participation was strong
354 enough to be considered a success and justify including the Hackathon
355 in future online only IETF meetings.
357 Hackdemo Happy Hour and the Code Lounge are not applicable for online
358 only Hackathons.
360 3. Funding
362 The Hackathon requires funding, and that funding increases with the
363 number of participants. Participating has always been free;
364 therefore, funding from other sources than participant fees is
365 required.
367 3.1. Sponsorship
369 The initial funding model was to have Hackathon sponsors sign up to
370 sponsor and fund the Hackathon for one year. As part of starting the
371 Hackathon, Cisco volunteered to sponsor and fund the Hackathon for
372 its first year (i.e., three Hackathons, one at each IETF meeting
373 during a calendar year). This sponsorship was to rotate. Huawei
374 volunteered to sponsor the second year of the Hackathon. After the
375 second year, a sponsor for the 3rd year was not found. However, the
376 Hackathon had become a proven success. Consequently, the IETF
377 decided to fund the Hackathon as part of the IETF meeting, with
378 Hackathon sponsorship being on a best effort basis.
380 Online only Hackathons in response to the COVID-19 pandemic, and
381 increased remote participating in general, result in increased cloud
382 infrastructure requirements that make Hackathon sponsorship more
383 attractive to cloud infrastructure providers.
385 Hackathon sponsorship is available at different levels as part of
386 being an [IETF-RUNNING-CODE-SPONSOR].
388 3.2. Expenses
390 The primary expenses associated with the Hackathon are those for
391 hosting an in-person event, e.g., meeting space, food and beverage,
392 etc. It is often challenging to quantify the portion of this
393 associated with the Hackathon from that incurred for the IETF meeting
394 overall.
396 3.2.1. In-person Event Expenses
398 The following expenses are associated with in-person participation in
399 a Hackathon. When the IETF meeting is online only, these expenses
400 are eliminated.
402 3.2.1.1. Meeting Space
404 The meeting space for the Hackathon is sometimes included as part of
405 the overall contract for the IETF meeting. Other times, additional
406 expense is incurred to secure a large enough space earlier than would
407 otherwise have been required. Typically, the space is needed for
408 setup from Friday afternoon before the start of the IETF meeting
409 until Sunday afternoon. After the Hackathon, the space is typically
410 repurposed for the IETF Lounge. If the size of the Hackathon
411 continues to increase, it might be necessary to use the same space as
412 is later used for the IETF plenary.
414 3.2.1.2. Food and Beverage
416 Some portion of the food and beverage expense is often included as
417 part of a minimum spend the IETF is obligated to make. When a
418 Hackathon sponsor is identified, funds resulting from this
419 sponsorship are typically used to offset food and beverage expenses,
420 or to increase the food and beverage budget.
422 The minimum food and beverage for the Hackathon has been,
424 * coffee, tea, and water Saturday and Sunday morning
426 * lunch Saturday and Sunday
428 Additional items, in order of importance, include,
430 * beer Saturday evening
432 * dinner Saturday evening
434 * continental breakfast Saturday and Sunday
436 * afternoon snacks Saturday and Sunday
438 3.2.1.3. T-shirts
440 Hackathon t-shirts are an important part of the Hackathon. They have
441 been provided for all in-person Hackathons and greatly appreciated by
442 many participants. They also serve as great advertising for the
443 IETF, the Hackathon, and sponsors. Cisco or other event sponsors
444 have often covered expenses associated with t-shirts. The current
445 model is that the secretariat covers the expenses using whatever
446 funding is available.
448 The number of size distribution of t-shirts for IETF 107 is provided
449 here as an example.
451 * 380 t-shirts at a cost of roughly $10 USD / t-shirt with shipping
452 to the Secretariat included
454 - 50 Small
456 - 120 Medium
458 - 110 Large
460 - 75 XL
462 - 25 XXL
464 The t-shirts are all standard cut. We previously tried providing
465 fitted cut t-shirts as an option for Hackathon participants, but
466 these were not well received.
468 3.2.1.4. Stickers
470 Laptop stickers are popular with developers. Stickers have been made
471 available at the Hackathon for those that want them. Expenses have
472 been covered by the IETF LLC, Director of Communications and
473 Operations.
475 3.2.2. Remote Participation Expenses
477 The following expenses are associated things done primarily to
478 facilitate remote participation in a Hackathon. This includes
479 participation when the Hackathon is online only as well as remote
480 participation when the Hackathon is in-person.
482 * Meetecho: cost associated with Hackathon kickoff and closing
484 * Gather: costs associated with premium service, required to enable
485 more than 25 concurrent users. This has not been necessary, but
486 will almost certainly be if Gather becomes a valuable way for
487 Hackathon participants to meet within and across teams.
489 * Webex: IETF Webex accounts are made available to champions for the
490 duration of the Hackathon and some period beyond that encompasses
491 at least the rest of the IETF meeting. These accounts are
492 available at no additional cost to the IETF at present
494 * Network: setup and support of the IETF network, and remote access
495 to it
497 The change in timing and extended duration of the Hackathon at an
498 online only IETF meeting increases the duration and use of remote
499 participation facilities from 7 days to 12 days. This may result in
500 increases to the cost of providing these facilities.
502 4. Project Presentations
504 Project presentations are an important mechanism for capturing what
505 each team intends to accomplish, what they actually accomplished, and
506 sharing the results and findings with the IETF community.
508 For the first few Hackathons, we had two very distinct types of
509 presentations:
511 1. Presentations that served as project pitches at the start of the
512 Hackathon
514 2. Presentations that summarized results at the end of the
515 Hackathon.
517 4.1. Project Pitches
519 The project pitches were 5-10 minute presentations by a champion of a
520 project describing what they wanted to do and how they proposed to
521 accomplish it. This gave everyone in the room a better understanding
522 of all the projects and helped participants match themselves with
523 appropriate projects. This worked well when we had few projects, but
524 it became unwieldy as the number of projects increased. As knowledge
525 of the Hackathon grew and advanced planning became more common, many
526 participants knew exactly which team they planned to join and wanted
527 to get to work as quickly as possible rather than spend time
528 listening to presentations. Project pitches were dropped from the
529 Hackathon. Champions are encouraged to share this type of
530 information in advance via the Meeting Wiki (Section 5.4) instead.
532 4.2. Project Results Presentations
534 The project results presentations were brief presentations by each
535 team of what problem they tried to solve, what they achieved, and
536 highlights that included lessons learned, feedback to associated
537 working groups, and collaboration with open source communities and
538 other standards organizations. They also highlight individuals who
539 participated in their first IETF Hackathon or first IETF event, which
540 helps facilitate the introduction of such individuals to the IETF
541 community. The production and presentation of results summaries is
542 optional. Fortunately, despite the lack of awards and prizes, most
543 teams participate.
545 As with the project pitches, project results presentations can become
546 unwieldy as the number of projects increases. With this in mind, the
547 total time for all results presentations is limited to 2 hours. The
548 maximum duration of each presentation is calculated based on the
549 number teams that indicate the desire to present. This maximum is
550 strictly enforced to ensure all teams have the opportunity to present
551 their results. Maximum durations of 3-5 minutes are typical.
553 4.2.1. Templates
555 Project results presentation templates provides guidance on what to
556 cover. The use of these templates is optional. They are made
557 available in various formats in a GitHub repo created specifically
558 for the presentations for each IETF Hackathon, e.g.,
559 [RESULTS-PRESENTATIONS].
561 4.2.1.1. PPTX
563 For portability, presentations that use this template should be made
564 exported into PDF format as well.
566 4.2.1.2. HTML format
568 This template should render within any browser. It can be rendered
569 as a slideshow using [REMARK].
571 4.3. Upload to GitHub
573 All project results presentations are uploaded to the GitHub repo
574 created the Hackathon, e.g., [RESULTS-PRESENTATIONS]. The contents
575 of this repo are used as the source for all results presentations at
576 the end of the Hackathon and remain as a reference after the
577 Hackathon.
579 One must be a member of the [IETF-HACKATHON-GITHUB] organization to
580 upload a new presentation or update/replace an existing presentation.
582 To be added as a member, presenters are asked to:
584 * include the name by which they are known in their GitHub profile
586 * enable two-factor authentication (2FA)
588 * send your GitHub username to the Chair(s)
590 Presenters are asked to do this at their earliest convenience as the
591 Chair(s) typically get very busy as the start of presentations
592 approaches.
594 4.4. Presenting in Person
596 Presentations are run from a shared Chromebook at the front of the
597 Hackathon room. This Chromebook is provided by the Secretariat.
599 4.5. Presenting Remotely
601 Remote presenters are welcome to run their own presentations using
602 the screen sharing functionality in Meetecho. Alternatively, the
603 Hackathon Chairs can share the presentation and advance slides for
604 the presenter.
606 5. Tooling
608 The IETF Hackathon uses the same tooling used by the IETF community
609 for its work and meetings.
611 5.1. Datatracker
613 The [DATATRACKER] supports the notion of Teams that are not part of
614 the standards development process. The Hackathon exists as one such
615 Team. From the Datatracker menu, navigate to "Other" -> "Active
616 Teams" -> "Hackathon". Here exists a Datatracker space for the
617 Hackathon similar to what is available for working groups, including
618 meeting materials, agendas, etc. Initially, there was some attempt
619 to copy materials hosted in the [IETF-HACKATHON-GITHUB] to the
620 Datatracker. Now this is done only when required for integration
621 with other IETF tooling, including to:
623 * [REQUEST-SESSIONS] for the Hackathon kickoff and closing, and for
624 Hackdemo Happy Hour
626 * post [AGENDAS]
628 5.2. IETF Website
630 5.2.1. Hackathon Website
632 The IETF website includes a [HACKATHON-WEBSITE]. This website
633 contains information about the Hackathon in general as well as links
634 to past, present, and future Hackathons. The relevant links are
635 updated after each IETF meeting. Other content on the website is
636 updated on a more ad hoc basis.
638 5.2.2. Meeting Website
640 Each IETF [MEETING-WEBSITE] contains information about the
641 corresponding Hackathon, including the dates of the Hackathon in the
642 header and a link to the Hackathon website in the "Additional Events"
643 section.
645 5.3. Registration
647 Registration for the Hackathon is through the IETF meeting
648 [REGISTRATION-SYSTEM]. Participant registration for the Hackathon
649 is:
651 * independent of participation registration for the meeting
653 * free
655 * required
657 As with meeting registration, registrants for the Hackathon
658 acknowledge the [NOTE-WELL] during the registration process.
660 5.3.1. Participant List
662 An active list of all registered participants, e.g., [PARTICIPANTS],
663 is maintained by the Secretariat. Important information displayed
664 for each registrant includes the set of projects and technologies in
665 which each participant is interested and an email address. This
666 information is optional at the time of registration and may be
667 updated or removed by editing one's registration.
669 5.3.2. Caps on Registrations
671 Registrations were capped for the first several Hackathons. This was
672 done both for space and costs considerations. The cap was hit
673 multiple times, each time resulting in temporary confusion and
674 frustration among would be registrants, followed by the cap being
675 increased. Currently, there are no caps enforced by the registration
676 system.
678 5.4. Meeting Wiki
680 The [MEETING-WIKI] serves as the primary source of information for
681 each Hackathon.
683 5.4.1. Hackathon
685 A page within the meeting wiki, e.g., [IETF-110-HACKATHON-WIKI], is
686 created by the Secretariat for each Hackathon and initialized with
687 information that is based largely on the information from the
688 previous Hackathon. Once created, the Hackathon Chairs update and
689 moderate this page. Champions are requested and responsible for
690 adding information about projects for which they are a champion.
692 Anyone can edit the wiki by logging in using their Datatracker login
693 credentials. Credentials can be obtained by creating a
694 [DATATRACKER-ACCOUNT].
696 5.4.2. Lost and Found
698 A Lost and Found wiki page, e.g., [LOST-AND-FOUND], is created by the
699 Chairs for each Hackathon. Participants looking for a team are
700 encouraged to add themselves to the "Skills to Offer" table,
701 providing some information about their skills and interests. This
702 will help others with matching needs and/or interests find them.
703 Champions wanting help on their projects are encouraged to add their
704 teams to the "Skills Needed" table, providing some information about
705 the skills they seek.
707 5.4.3. Results Presentation Schedule
709 A Results Presentation Schedule wiki page, e.g.,
710 [RESULTS-PRESENTATION-SCHEDULE], is created by the Chairs for each
711 Hackathon. Hackathon teams are welcome and encouraged to present
712 their results during the Hackathon Closing. Hackathon teams add the
713 name of their project and the name of the presenter to the table at
714 the bottom of this page.
716 5.4.4. In Person Only
718 The following wiki pages are applicable for in-person Hackathons
719 only.
721 5.4.4.1. Hackdemo Happy Hour
723 A Hackdemo Happy Hour wiki page, e.g., [HACKDEMO], is created by the
724 Chairs for each Hackathon. Champions are welcome and encouraged to
725 add their project by entering the project name/acronym and a contact
726 name and email address in the table displayed on the page.
728 5.4.4.2. Code Lounge
730 A Code Lounge wiki page, e.g., [CODE-LOUNGE], is created by the
731 Chairs for each Hackathon. Champions are welcome and encouraged to
732 add their project by entering the project name/acronym and a contact
733 name and email address in the table displayed on the page.
735 5.4.5. Online Only
737 The following wiki pages are applicable for online Hackathons only.
739 5.4.5.1. Team Schedule
741 A Team Schedule wiki page, e.g., [TEAM-SCHEDULE], is created by the
742 Chairs for each online only Hackathon. Online only Hackathons take
743 place globally for an entire week. It is up to individual project
744 teams to determine the preferred dates, times, and ways to meet to
745 work on their project within the context of that week (e.g., Zoom,
746 Webex, Slack). This page is meant to help facilitate coordination of
747 schedules within and across teams.
749 5.5. Email List
751 The Hackathon email list, [EMAIL-LIST], is used for all email
752 communication and announcements related to the Hackathon. All
753 registrants are given the option to subscribe to the list. Anyone
754 interested in staying up to date on the Hackathon is able to
755 subscribe at any time. Once subscribed, anyone can send and respond
756 to emails to the list. The same list is used for each Hackathon.
757 Anyone wishing to receive email for a specific Hackathon only can
758 unsubscribe after that Hackathon has concluded.
760 5.5.1. Hackathon Chairs Email Alias
762 The email alias, [EMAIL-ALIAS], was created and is maintained by the
763 Secretariat. It is used on Hackathon webpages and wiki pages to
764 provide a single point of contact for the Hackathon.
766 5.6. GitHub
768 The [IETF-HACKATHON-GITHUB] is used to share code, presentations, and
769 other artifacts at IETF Hackathons. The Hackathon Chairs are
770 responsible for administering the GitHub organization.
772 Code for Hackathon projects often exist elsewhere, which is perfectly
773 fine. Anyone needing a place to host code for the Hackathon can
774 request the creation of a repository for their project.
776 A repository is created and maintained by the Chairs for each
777 Hackathon, e.g., [RESULTS-PRESENTATIONS]. This repo is for
778 participants to upload project results presentations. The contents
779 of this repo are used as the source for all presentations at the end
780 of the Hackathon and remain as a reference after the Hackathon.
782 5.7. Meetecho
784 [MEETECHO] is used for the kickoff and closing sessions of the
785 Hackathon. This provides many capabilities, including the following:
787 * allows participants to join Hackathon sessions in person or
788 remotely
790 * validates registration of participants at time of joining
791 Hackathon sessions
793 * enables remote presenters of project results presentations
795 * captures recording of Hackathon kickoff and closing
797 5.8. Network
799 Access to the IETF network is an important aspect of the Hackathon.
800 The IETF network provides unfettered Internet access that is not
801 typical within many residential, corporate, and university
802 environments. For many of IETF participants and projects, access to
803 the Internet and each other via wireless access to the IETF network
804 is sufficient. However, due to the nature of the work done in the
805 IETF, wired access and special networking capabilities are often
806 required.
808 The NOC has graciously met the needs of the Hackathon since its
809 inception and continues to add more capabilities over time.
810 Champions are able to request in advance wired access and special
811 networking functionality, including static IPv4 and IPv6 addresses,
812 IPv6 only networking, a closed user group, NAT64, and IPv6 PD. All
813 of this, and the IETF network in general, is made available by the
814 start of the Hackathon and in advance for setup to the extent
815 possible.
817 5.8.1. Remote Networking
819 Online only meetings present both a personal networking challenge and
820 a computer networking challenge. The NOC came to the rescue for the
821 latter with an experimental mechanism to join the IETF network while
822 attending a meeting remotely. This evolved into what is now known as
823 [HACKNET], a global Layer 2 VPN designed to support IETF protocol
824 development across teams within the IETF Hackathon. A limited set of
825 devices for connecting to HackNet are supported. In addition to
826 layer 2 connectivity, a subset of the networking capabilities
827 available at in-person meetings are available. Both the set of
828 devices and the set of networking capabilities are expected to expand
829 and evolve over time. However, it is important to note that HackNet
830 is still an experiment and not a production service. Best effort
831 support is available via email to [TICKET].
833 5.9. Webex
835 Champions can request a [WEBEX-ACCOUNT] they can use to schedule
836 meetings for their team. These are similar to the Webex accounts
837 allocated to working group chairs to be used for virtual interim
838 meetings. An account can be requested by a team champion at any
839 time. Accounts remain active and available throughout the duration
840 of the Hackathon and the associated IETF meeting. A project name may
841 be used in place of "Working Group Name" in the request form.
843 5.10. Gather
845 [GATHER] facilitates virtual hallway interaction during IETF
846 meetings. A dedicated area within the overall space is created by
847 the Secretariat for the Hackathon. The area includes tables,
848 identified by letters of the alphabet, that teams are free to self
849 assign and use as and when they like. Eight to ten seats around each
850 table facilitate group discussions within the team. A whiteboard or
851 shared notes tablet, e.g., [HEDGEDOC], at tables facilitates sharing
852 of information within the team. The tables also facilitate
853 collaboration across teams. One cautionary note, Gather has relative
854 high network bandwidth and CPU requirements, and as such may not be
855 well suited for some Hackathon participants.
857 The Gather space remains available between IETF meetings, with
858 incremental improvements and additions made during this time. The
859 space is cleaned about a month prior to the start of the next
860 meeting, removing anything left over from the previous meeting.
861 Hackathon teams are encouraged to make a copy of anything they want
862 to retain within a week of the end of the IETF meeting.
864 6. Statistics and Metrics
866 Statistics for the Hackathon have been gathered informally from the
867 first Hackathon, at IETF 92, and more formally since IETF 101.
868 Registration is required but it is also free, which can lead to
869 misleading statistics. Starting with IETF 101, an effort has been
870 made by the Secretariat to validate registrations for all in-person
871 participants by checking registrations at the main entrance to the
872 Hackathon room. Badges similar to those issued for the rest of the
873 IETF meeting are now issued for the Hackathon as well. There is
874 still no good mechanism for determining the number of remote
875 participants.
877 Hackathon participation has grown from 45 at IETF 92 to a maximum of
878 406 at IETF 104. Participation tends to be slightly higher when the
879 IETF meeting is located in Europe. Recent in-person Hackathons have
880 had roughly 30-40% as many participants as the corresponding IETF
881 meeting. For roughly 20-30% of Hackathon participants, the Hackathon
882 is their first experience at any IETF event.
884 6.1. IETF Survey Results
886 For each IETF meeting, there is a post event survey that often
887 includes a question or two about the Hackathon, e.g.,
888 [IETF-106-SURVEY]
890 6.2. Hackathon Survey Results
892 Hackathon specific surveys have been used on some occasions to obtain
893 more detailed feedback about the Hackathon from the IETF community.
894 This has been especially useful for feedback on online only
895 Hackathons. Survey have been short with most questions being
896 optional, e.g., [IETF-110-SURVEY].
898 7. Roles and Responsibilities
900 This section provides a summary of the roles and responsibilities of
901 individuals and groups involved in a successful IETF Hackathon. The
902 summary provided here is not meant to be exhaustive. Some
903 responsibilities are described entirely or in more detail throughout
904 the rest of the document.
906 7.1. Hackathon Chair(s)
908 The role of a Hackathon chair is similar to that of a working group
909 chair. As with working groups, it is typically best to have co-
910 chairs share responsibilities and workload. The Chairs work very
911 closely with the Secretariat on all responsibilities. Key
912 responsibilities include:
914 * Organize and deliver a Hackathon at each IETF meeting, soliciting
915 help from all other roles to do much of the heavy lifting
917 * Encourage and provide guidance to champions who volunteer to lead
918 projects
920 * Maintain the Hackathon wiki, e.g., [IETF-110-HACKATHON-WIKI], and
921 all of its child pages.
923 * Moderate Hackathon email list (Section 5.5)
925 * [REQUEST-SESSIONS] for the Hackathon opening and closing in the
926 IETF meeting
928 * Emcee the Hackathon, including the opening and closing sessions
929 and announcements in between
931 * Create and manage the GitHub repository used for each Hackathon,
932 e.g.,[RESULTS-PRESENTATIONS]
934 * Serve as main point of contact for all Hackathon questions and
935 concerns
937 7.2. Secretariat
939 Key responsibilities include:
941 * Configure and manage Hackathon registration system (Section 5.3)
943 * Maintain Hackathon website (Section 5.2.1)
945 * Create and maintain web page for each Hackathon, e.g.,
946 [IETF-110-HACKATHON-WEBSITE]
948 * Create wiki page for each Hackathon, e.g.,
949 [IETF-110-HACKATHON-WIKI]. This is initialized and updated at
950 times by the Secretariat, but the Chair(s) are ultimately
951 responsible for maintaining it.
953 * Handle venue logistics for Hackathon, Hackdemo Happy Hour, and
954 Code Lounge (e.g., reserve room, food and beverages, AV, etc.)
956 * Internal IETF promotion (e.g., email messages to IETF community)
958 * Assist with external outreach, as needed, including finding
959 sponsors
961 * Validate Hackathon registrations for in-person participants,
962 including issuing badges and Hackathon t-shirts (Section 3.2.1.3)
963 when available
965 7.3. Sponsor
967 Key responsibilities include:
969 * Provide some funding to help offset costs of Hackathon (either per
970 meeting or per year, depending on model)
972 * Optionally provide t-shirts or other giveaways
974 * Optionally provide support staff to assist with Hackathon
976 Key benefits include:
978 * Sponsor logo on Hackathon t-shirts
980 * Sponsor logo on Hackathon signage
982 * Sponsor logo on Hackathon webpage and wiki
984 * Sponsor logo and call out in Hackathon kickoff and closing
985 presentation
987 * Sponsor logo and call out in IETF Plenary presentation
989 * Sponsor logo and call out in Hackathon recap on [IETF-BLOG]
991 * Recognition in IETF community for helping the IETF Hackathon
992 remain free and open to everyone
994 7.4. Champions of Projects
996 Champions of projects are the key to a successful Hackathon. Key
997 responsibilities for champions include:
999 * Volunteer to lead a project at the Hackathon
1000 * Serve as primary contact for the project
1002 * Add and manage information on the Hackathon wiki for the project
1004 * Promote the project to appropriate groups inside IETF and outside
1005 as well
1007 * Welcome and organize members of the team
1009 * Provide focus, guidance, and leadership for the project
1011 7.5. IETF LLC, Director of Communications and Operations (was ISOC)
1013 Key responsibilities include:
1015 * Promotion outside of IETF, including web search engine ad words,
1016 social media posts, and listing on external event calendars such
1017 as [RIPE-CALENDAR] and [NSRC-CALENDAR].
1019 * Outreach to local universities
1021 * Provide photographer, including optional team photos and candid
1022 photos of collaborating during in-person events
1024 * Laptop stickers (Section 3.2.1.4) at in-person events
1026 7.6. Judges
1028 The first several Hackathon involved judges who listened to project
1029 results presentations by teams at the closing of each Hackathon and
1030 identified winning teams for an arbitrary number of project
1031 categories. Prizes were made available to members of winning teams.
1032 This was done as an incentive to participate in the Hackathon and
1033 present results, and to provide a fun yet informative end to the
1034 Hackathon that could be appreciated by the entire IETF community.
1035 Judging and awarding of prizes led to confusion regarding the nature
1036 of the Hackathon, making it appear to some overly competitive.
1037 Procurement of appropriate prizes was financially and logistically
1038 challenging. Arrangement of judges, determination of winners, and
1039 awarding of prizes all became more time consuming, especially as the
1040 number of projects and participants grew. Ultimately, it was deemed
1041 best to eliminate judging, awards, and prizes entirely. Apparently
1042 the IETF community has an innate incentive to participate and present
1043 results in the Hackathon.
1045 8. Implementation Status
1047 The practices described in this document have been established, used,
1048 and refined over the course of running numerous IETF Hackathons,
1049 including several at online only IETF meetings. The [GITHUB-REPO]
1050 GitHub repository has been used to collaborate on this document. The
1051 IETF-Hackathon GitHub (Section 5.6) contains code associated with
1052 IETF Hackathons.
1054 9. Security Considerations
1056 HackNet (Section 5.8.1) enables Hackathon participants to join the
1057 IETF network while attending a meeting remotely. The intent is for
1058 those connecting remotely to have as open a network as possible, just
1059 like those connecting to the IETF network at an in person meeting. A
1060 user must have a Datatracker account to access HackNet and is
1061 expected to respect it just as they are expected to respect the IETF
1062 network at an in person meeting. If HackNet is exploited, it is
1063 addressed as an exploitation of the IETF network would be at an in
1064 person meeting.
1066 9.1. Privacy Considerations
1068 Participant names are displayed publicly in the Participant List
1069 (Section 5.3.1). As part of their registration, participants may opt
1070 in to display their email address as well.
1072 The email addresses of individual champions are often shared publicly
1073 by the champions on the wiki. This is done voluntarily by individual
1074 champions to make it easier for others to contact them.
1076 10. IANA Considerations
1078 This document has no IANA actions.
1080 11. Informative References
1082 [AGENDAS] "IETF Meeting Agenda", n.d.,
1083 .
1085 [CODE-LOUNGE]
1086 "IETF 113 Code Lounge", n.d.,
1087 .
1090 [CODE-SPRINT]
1091 "IETF Code Sprint", n.d.,
1092 .
1094 [DATATRACKER]
1095 "IETF Datatracker", n.d., .
1097 [DATATRACKER-ACCOUNT]
1098 "IETF Datatracker Account Creation", n.d.,
1099 .
1101 [EMAIL-ALIAS]
1102 "IETF Hackathon Chairs Email Alias", n.d.,
1103 .
1105 [EMAIL-LIST]
1106 "IETF Hackathon Email List", n.d.,
1107 .
1109 [GATHER] "Gather", n.d., .
1111 [GITHUB-REPO]
1112 "GitHub Repository for draft-ietf-shmoo-hackathon", n.d.,
1113 .
1115 [HACKATHON-WEBSITE]
1116 "IETF Hackathon Website", n.d.,
1117 .
1119 [HACKDEMO] "IETF 113 Hackdemo Happy Hour", n.d.,
1120 .
1123 [HACKNET] "HackNet", n.d., .
1125 [HEDGEDOC] "HedgeDoc", n.d., .
1127 [IETF-106-SURVEY]
1128 "IETF 106 Meeting Survey", n.d.,
1129 .
1132 [IETF-108-HACKATHON-WIKI]
1133 "IETF 108 Hackathon Wiki", n.d.,
1134 .
1137 [IETF-110-HACKATHON-WEBSITE]
1138 "IETF 110 Hackathon Website", n.d.,
1139 .
1142 [IETF-110-HACKATHON-WIKI]
1143 "IETF 110 Hackathon Wiki", n.d.,
1144 .
1147 [IETF-110-SURVEY]
1148 "IETF 110 Meeting Survey", n.d., .
1150 [IETF-BLOG]
1151 "IETF Blog", n.d., .
1153 [IETF-HACKATHON-GITHUB]
1154 "IETF-Hackathon GitHub", n.d.,
1155 .
1157 [IETF-RUNNING-CODE-SPONSOR]
1158 "IETF Running Code Sponsor", n.d.,
1159 .
1161 [LOST-AND-FOUND]
1162 "IETF 110 Hackathon Lost and Found", n.d.,
1163 .
1166 [MEETECHO] "Meetecho", n.d., .
1168 [MEETING-WEBSITE]
1169 "IETF Meeting Website", n.d.,
1170 .
1172 [MEETING-WIKI]
1173 "IETF Meeting Wiki", n.d.,
1174 .
1176 [NOTE-WELL]
1177 "IETF Note Well", n.d.,
1178 .
1180 [NSRC-CALENDAR]
1181 "Network Startup Resource Center Calendar", n.d.,
1182 .
1184 [PARTICIPANTS]
1185 "IETF 110 Hackathon Participant List", n.d.,
1186 .
1189 [REGISTRATION-SYSTEM]
1190 "IETF Meeting Registration System", n.d.,
1191 .
1193 [REMARK] "remark GitHub Repository", n.d.,
1194 .
1196 [REQUEST-SESSIONS]
1197 "IETF Session Request", n.d.,
1198 .
1200 [RESULTS-PRESENTATION-SCHEDULE]
1201 "IETF 110 Hackathon Results Presentation Schedule", n.d.,
1202 .
1205 [RESULTS-PRESENTATIONS]
1206 "IETF 110 Hackathon Project Results Presentations", n.d.,
1207 .
1210 [RIPE-CALENDAR]
1211 "RIPE Upcoming Events", n.d.,
1212 .
1214 [SURVEY] "IETF 107 Hackathon Participant Survey", n.d.,
1215 .
1217 [TEAM-SCHEDULE]
1218 "IETF 110 Hackathon Team Schedule", n.d.,
1219 .
1222 [TICKET] "IETF Support Email Alias", n.d.,
1223 .
1225 [WEBEX-ACCOUNT]
1226 "IETF Webex Account", n.d.,
1227 .
1230 Acknowledgments
1232 The IETF Secretariat, notably Alexa Morris and Stephanie McCammon,
1233 contributed significantly to the creation of the IETF Hackathon and
1234 the practices in this document. Among other things, Alexa drafted
1235 the initial breakdown of Roles and Responsibilities (Section 7), and
1236 Stephanie McCammon created the initial Hackathon website and wiki.
1237 These have evolved over time and are used to run each Hackathon.
1239 Greg Wood, Barry Leiba, Michael Richardson, Benson Muite, Dhruv
1240 Dhody, Karl Auerbach, Mallory Knodel, Lars Eggert, Robert Sparks, and
1241 Thomas Fossati also provided significant contributions to the
1242 Hackathon and to this document.
1244 Author's Address
1246 Charles Eckel
1247 Cisco Systems
1248 United States of America
1249 Email: eckelcu@cisco.com