idnits 2.17.1
draft-ietf-shmoo-hackathon-03.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 (22 November 2021) is 884 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 shmoo C. Eckel
3 Internet-Draft Cisco Systems
4 Intended status: Informational 22 November 2021
5 Expires: 26 May 2022
7 Running an IETF Hackathon
8 draft-ietf-shmoo-hackathon-03
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 Only
24 Online Working Group mailing list (manycouches@ietf.org), which is
25 archived at https://mailarchive.ietf.org/arch/browse/manycouches/.
27 Source for this draft and an issue tracker can be found at
28 https://github.com/eckelcu/draft-ietf-shmoo-hackathon.
30 Status of This Memo
32 This Internet-Draft is submitted in full conformance with the
33 provisions of BCP 78 and BCP 79.
35 Internet-Drafts are working documents of the Internet Engineering
36 Task Force (IETF). Note that other groups may also distribute
37 working documents as Internet-Drafts. The list of current Internet-
38 Drafts is at https://datatracker.ietf.org/drafts/current/.
40 Internet-Drafts are draft documents valid for a maximum of six months
41 and may be updated, replaced, or obsoleted by other documents at any
42 time. It is inappropriate to use Internet-Drafts as reference
43 material or to cite them other than as "work in progress."
45 This Internet-Draft will expire on 26 May 2022.
47 Copyright Notice
49 Copyright (c) 2021 IETF Trust and the persons identified as the
50 document authors. All rights reserved.
52 This document is subject to BCP 78 and the IETF Trust's Legal
53 Provisions Relating to IETF Documents (https://trustee.ietf.org/
54 license-info) in effect on the date of publication of this document.
55 Please review these documents carefully, as they describe your rights
56 and restrictions with respect to this document. Code Components
57 extracted from this document must include Revised BSD License text as
58 described in Section 4.e of the Trust Legal Provisions and are
59 provided without warranty as described in the Revised BSD License.
61 Table of Contents
63 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
64 2. Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
65 2.1. Agenda . . . . . . . . . . . . . . . . . . . . . . . . . 5
66 2.2. Hackdemo Happy Hour . . . . . . . . . . . . . . . . . . . 6
67 2.3. Code Lounge . . . . . . . . . . . . . . . . . . . . . . . 7
68 2.4. Code Sprint . . . . . . . . . . . . . . . . . . . . . . . 7
69 2.5. Online Only . . . . . . . . . . . . . . . . . . . . . . . 7
70 3. Funding . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
71 3.1. Sponsorship . . . . . . . . . . . . . . . . . . . . . . . 8
72 3.2. Expenses . . . . . . . . . . . . . . . . . . . . . . . . 9
73 3.2.1. In-person Event Expenses . . . . . . . . . . . . . . 9
74 3.2.2. Remote Participation Expenses . . . . . . . . . . . . 11
75 4. Project Presentations . . . . . . . . . . . . . . . . . . . . 11
76 4.1. Project Pitches . . . . . . . . . . . . . . . . . . . . . 12
77 4.2. Results Summaries . . . . . . . . . . . . . . . . . . . . 12
78 4.2.1. Templates . . . . . . . . . . . . . . . . . . . . . . 12
79 4.3. Upload to GitHub . . . . . . . . . . . . . . . . . . . . 13
80 4.4. Presenting in Person . . . . . . . . . . . . . . . . . . 13
81 4.5. Presenting Remotely . . . . . . . . . . . . . . . . . . . 13
82 5. Tooling . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
83 5.1. Datatracker . . . . . . . . . . . . . . . . . . . . . . . 14
84 5.2. IETF Website . . . . . . . . . . . . . . . . . . . . . . 14
85 5.2.1. Hackathon Website . . . . . . . . . . . . . . . . . . 14
86 5.2.2. Meeting Website . . . . . . . . . . . . . . . . . . . 14
87 5.3. Registration . . . . . . . . . . . . . . . . . . . . . . 14
88 5.3.1. Participant List . . . . . . . . . . . . . . . . . . 15
89 5.3.2. Caps on Registrations . . . . . . . . . . . . . . . . 15
90 5.4. Meeting Wiki . . . . . . . . . . . . . . . . . . . . . . 15
91 5.4.1. Hackathon . . . . . . . . . . . . . . . . . . . . . . 15
92 5.4.2. Lost and Found . . . . . . . . . . . . . . . . . . . 15
93 5.4.3. Results Presentation Schedule . . . . . . . . . . . . 16
94 5.4.4. In Person Only . . . . . . . . . . . . . . . . . . . 16
95 5.4.5. Online Only . . . . . . . . . . . . . . . . . . . . . 16
96 5.5. Email List . . . . . . . . . . . . . . . . . . . . . . . 17
97 5.5.1. Hackathon Chairs Email Alias . . . . . . . . . . . . 17
98 5.6. GitHub . . . . . . . . . . . . . . . . . . . . . . . . . 17
99 5.7. Meetecho . . . . . . . . . . . . . . . . . . . . . . . . 17
100 5.8. Network . . . . . . . . . . . . . . . . . . . . . . . . . 18
101 5.8.1. Remote Networking . . . . . . . . . . . . . . . . . . 18
102 5.9. Webex . . . . . . . . . . . . . . . . . . . . . . . . . . 18
103 5.10. Gather . . . . . . . . . . . . . . . . . . . . . . . . . 19
104 6. Statistics and Metrics . . . . . . . . . . . . . . . . . . . 19
105 6.1. IETF Survey Results . . . . . . . . . . . . . . . . . . . 19
106 6.2. Hackathon Survey Results . . . . . . . . . . . . . . . . 20
107 7. Roles and Responsibilities . . . . . . . . . . . . . . . . . 20
108 7.1. Hackathon Chair(s) . . . . . . . . . . . . . . . . . . . 20
109 7.2. Secretariat . . . . . . . . . . . . . . . . . . . . . . . 21
110 7.3. Sponsor . . . . . . . . . . . . . . . . . . . . . . . . . 21
111 7.4. Champions of Projects . . . . . . . . . . . . . . . . . . 22
112 7.5. IETF LLC, Director of Communications and Operations (was
113 ISOC) . . . . . . . . . . . . . . . . . . . . . . . . . . 22
114 7.6. Judges . . . . . . . . . . . . . . . . . . . . . . . . . 23
115 8. Implementation Status . . . . . . . . . . . . . . . . . . . . 23
116 9. Security Considerations . . . . . . . . . . . . . . . . . . . 23
117 9.1. Privacy Considerations . . . . . . . . . . . . . . . . . 23
118 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24
119 11. Informative References . . . . . . . . . . . . . . . . . . . 24
120 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 27
121 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 27
123 1. Introduction
125 IETF Hackathons encourage the IETF community to collaborate on
126 running code related to existing and evolving Internet standards.
127 IETF Hackathons aim to:
129 * Advance the pace and relevance of IETF standards activities by
130 bringing the speed and collaborative spirit of open source
131 development into the IETF
133 * Bring developers and young people into IETF and get them exposed
134 to and interested in the IETF
136 IETF Hackathons are free to attend and open to everyone. Software
137 developers are the primary audience, but participation by subject
138 matter experts who are not necessary developers is encouraged and
139 very important as well. Similarly, while the Hackathon is meant to
140 attract newcomers and those who do not typically view themselves as
141 standards people, long time IETF contributors, including Internet-
142 Draft authors, working group chairs, and subject matter experts, are
143 key participants as well. Group dynamics and blending of skillsets
144 and perspectives are extremely valuable aspects of IETF Hackathons.
146 In addition to the running code created and improved as a result of
147 each Hackathon, the exchange or ideas, extensions of human networks,
148 and establishment of trust, respect, and friendships are some of the
149 most valuable outputs of each Hackathon. Code written in a
150 programming language can be more illustrative and less
151 confrontational than opinions expressed during a meeting or in an
152 email. Working together to find common understanding of proposals,
153 concerns, and solutions that result in improvements to evolving
154 Internet standards is as important as the development of running code
155 that implements or validates the correctness of these same proposals.
157 Consequently, IETF Hackathons are collaborative events, not
158 competitions. Any competitiveness among participants is friendly and
159 in the spirit of advancing the pace and relevance of new and evolving
160 Internet standards.
162 This document provides a set of practices that have been used for
163 running IETF Hackathons.
165 2. Timing
167 The first IETF Hackathon was held the weekend before the start of the
168 IETF 92 meeting. The rationale was to avoid conflicts yet make it
169 relatively convenient for those attending the IETF meeting to
170 participate in the Hackathon as well. Holding the Hackathon on the
171 weekend was also viewed as making it more accessible to non IETF
172 meeting participants, including students and working professionals
173 who would have other commitments during the week. The weekend before
174 was viewed as better than the weekend after so that things learned
175 during the Hackathon could be shared and discussed with the rest of
176 the IETF community during working group sessions and the like. This
177 worked well at IETF 92, was repeated at IETF 93, and quickly became
178 an established norm with the IETF meeting being officially extended
179 to include the Hackathon at the start. An additional benefit of this
180 timing noted and appreciated by participants is that it serves as a
181 more informal and social way to physically and mentally acclimate to
182 changes in time zones, surroundings, and subject matter.
184 2.1. Agenda
186 The IETF Hackathon is a strenuous event. Though not a competition,
187 participants want to make the most of their time together, much as
188 with the IETF meeting in general. Competitive Hackathons typically
189 run non-stop for on the order of 40 hours. There is a strict
190 deadline and teams are judged and winners declared at the end.
191 Afterward everyone is wiped out and heads off to briefly celebrate or
192 commiserate, but mainly to recuperate. As the IETF Hackathon serves
193 as the start of the overall IETF meeting, we aim to strike a
194 compromise that provides enjoy time to get valuable work accomplished
195 without exhausting themselves before the main IETF meeting even
196 starts. While some people participate in the Hackathon only, the
197 majority of people remain and plan to be actively engaged in the rest
198 of the IETF meeting.
200 The typical agenda is as follows:
202 Saturday before IETF meeting week
203 08:30: Room open for setup by project champions
204 09:00: Room open for all - Pastries and coffee provided
205 09:30: Hackathon kickoff
206 09:45: Form Teams
207 12:30: Lunch provided
208 15:30: Afternoon break - Snacks provided
209 19:00: Dinner provided
210 22:00: Room closes
212 Sunday before IETF meeting week
213 08:30: Room opens - Pastries and coffee provided
214 12:30: Lunch provided
215 13:30: Hacking stops, prepare brief presentation of project
216 14:00: Project presentations to other participants
217 15:45: Closing remarks and opportunities for next time
218 16:00: Hackathon ends
219 17:00: Tear down complete
221 The time on Saturday morning provides team champions time to setup
222 and participants time to socialize and learn more about projects and
223 team they might want to join. The kickoff presentation and
224 formalities are kept to minimum to leave as much time as possible for
225 team to work together with their team on their projects. The
226 proximity of teams to each other fosters communication and
227 collaboration across teams as well.
229 Lunch and dinner are provided as a convenience and an incentive to
230 remain at the Hackathon. Participants are free to come and go as
231 they like. It is well understood and accepted that there are other
232 things vying for time and that meeting with friends or colleagues
233 outside of the Hackathon is an entirely reasonable thing to do.
235 The room closes Saturday evening to give hotel staff unfettered
236 access to the room and to encourage people to pace and take care of
237 themselves. There are no rules against continuing work on Hackathon
238 projects outside of the Hackathon room. Similarly, working on
239 projects long before and after the Hackathon is allowed and
240 encouraged.
242 The end of the Hackathon on Sunday is driven by other IETF meeting
243 events. There typically are Newcomer events that start at 16:00.
244 The IETF Hackathon typically includes many newcomers in its list of
245 participants. It is important to provide them time to participate in
246 the Newcomer events. The opening reception typically start at 17:00,
247 and we want to make it easy for all Hackathon participants to join
248 that as well.
250 Hackdemo Happy Hour (Section 2.2) and the Code Lounge (Section 2.3)
251 exist to facilitate ongoing discussion and work on projects beyond
252 the official end of the Hackathon weekend.
254 2.2. Hackdemo Happy Hour
256 Hackdemo Happy Hour provides an opportunity for more in depth sharing
257 and discussion than is possible within the time constraints of the
258 result presentation that occur at the end of the Hackathon. This
259 opportunity is made available to all teams. As with the results
260 presentation, participation is optional.
262 Initially, we did something similar as part of Bits and Bites. This
263 worked well for the Hackathon but the Bits and Bites event was
264 eventually abandoned for other reasons. Hackdemo Happy Hour was
265 created as a low cost, informal event to provide a venue for the IETF
266 community to engage with the Hackathon teams in more in depth
267 discussions related to their projects.
269 Hackdemo Happy Hour is typically Monday evening, roughly from 18:00 -
270 19:30, often overlapping a bit with the last working group session of
271 the day but continuing long enough to allow everyone an opportunity
272 to join. The goal is to make it convenient to attend by not
273 conflicting with other meetings but also no running too late into the
274 night.
276 Light snacks and non alcoholic beverages are provided, and a cash bar
277 is available to align with the spirit of a happy hour.
279 2.3. Code Lounge
281 The Code Lounge provides space for groups to gather and continue to
282 collaborate on running code after the Hackathon. It is typically in
283 the IETF Lounge and open the same hours as the IETF Lounge.
284 Champions are encouraged to look at the final agenda and determine
285 time slots best suited to ensure successful attendance of Code Lounge
286 sessions as well as any traditional working group sessions. It is
287 okay for multiple teams to sign up for the same time slots. This is
288 in fact encouraged for work that spans multiple working groups or
289 projects.
291 2.4. Code Sprint
293 Some efforts were made to have the Hackathon and the Code Sprint work
294 together or potentially be combined into a single event focusing on
295 the development of IETF protocols and IETF internal tools. There is
296 some concern that the events currently compete for resources. There
297 is also a great deal of synergistic potential. Several Hackathon
298 projects, such as those related to YANG model validation, involve the
299 creation or modification of IETF tools.
301 The Code Sprint existed long before the Hackathon and has its own
302 identity and way of doing things. The Code Sprint organizers are
303 against combining the events and potentially losing this identity the
304 benefits of a customized event. The practice that exists today is to
305 locate the events physically close to each other to facilitate
306 switching back and forth between the two events.
308 2.5. Online Only
310 The IETF 107 Hackathon was originally scheduled to be the weekend at
311 the start of the IETF meeting in Vancouver. When COVID-19 hit and it
312 became clear the IETF meeting could not occur in person, the
313 Hackathon already had 23 projects and 176 registrations. With only
314 10 days until the anticipated start of the Hackathon, a [SURVEY] went
315 out to the Hackathon community, including all project champions and
316 registered participants, to see if they wanted to participate in the
317 Hackathon exactly as planned except with everyone participating
318 remotely rather than in person. A relatively small number of people
319 expressed interest in participating, with even fewer wanting to
320 continue to champion their projects. The fact that the Hackathon was
321 planned for the weekend before the IETF meeting and in the local time
322 zone, both of which were historically very convenient and attractive
323 to Hackathon participants, suddenly became huge obstacles.
325 Consequently, the IETF 107 Hackathon was cancelled.
327 We knew more in advance that IETF 108 would be an online only
328 meeting. We moved and expanded the schedule to run the entire work
329 week before the rest of the IETF meeting. The Hackathon kickoff was
330 set for Monday, the closing for Friday, with all the time in between
331 left for individual project teams to arrange to meet how and when was
332 most convenient for them. The kickoff and closing sessions were
333 schedule to align with the time frame established for the IETF 108
334 meeting. All of this was, of course, not ideal, and it worked much
335 better for some people than for others, but at least everyone knew
336 the plan and corresponding time commitment well in advance and had
337 the ability to plan accordingly.
339 We ultimately had 19 projects and almost 300 registrations. It is
340 hard to say how many people actually participated and for how long,
341 but many projects were able to get substantial work done. For the
342 closing, 10 teams produced and shared presentations summarizing their
343 findings and achievements. All presentations as well as the agenda
344 and a recording of the closing session are available via the
345 [IETF-108-HACKATHON-WIKI]. This level of participation was strong
346 enough to be considered a success and justify including the Hackathon
347 in future online only IETF meetings.
349 Hackdemo Happy Hour and the Code Lounge are not applicable for online
350 only Hackathons.
352 3. Funding
354 The Hackathon requires funding, and that funding increases with the
355 number of participants. Participating has always been free;
356 therefore, funding from other sources than participant fees is
357 required.
359 3.1. Sponsorship
361 The initial funding model was to have Hackathon sponsors sign up to
362 sponsor and fund the Hackathon for one year. As part of starting the
363 Hackathon, Cisco volunteered to sponsor and fund the Hackathon for
364 its first year (i.e., three Hackathons, one at each IETF meeting
365 during a calendar year). This sponsorship was to rotate. Huawei
366 volunteered to sponsor the second year of the Hackathon. After the
367 second year, a sponsor for the 3rd year was not found. However, the
368 Hackathon had become a proven success. Consequently, the IETF
369 decided to fund the Hackathon as part of the IETF meeting, with
370 Hackathon sponsorship being on a best effort basis.
372 Online only Hackathons in response to the COVID-19 pandemic, and
373 increased remote participating in general, result in increased cloud
374 infrastructure requirements that make Hackathon sponsorship more
375 attractive to cloud infrastructure providers.
377 Hackathon sponsorship is available at different levels as part of
378 being an [IETF-RUNNING-CODE-SPONSOR].
380 3.2. Expenses
382 The primary expenses associated with the Hackathon are those for
383 hosting an in-person event, e.g., meeting space, food and beverage,
384 etc. It is often challenging to quantify the portion of this
385 associated with the Hackathon from that incurred for the IETF meeting
386 overall.
388 3.2.1. In-person Event Expenses
390 The following expenses are associated with in-person participation in
391 a Hackathon. When the IETF meeting is online only, these expenses
392 are eliminated.
394 3.2.1.1. Meeting Space
396 The meeting space for the Hackathon is sometimes included as part of
397 the overall contract for the IETF meeting. Other times, additional
398 expense is incurred to secure a large enough space earlier than would
399 otherwise have been required. Typically, the space is needed for
400 setup from Friday afternoon before the start of the IETF meeting
401 until Sunday afternoon. After the Hackathon, the space is typically
402 repurposed for the IETF Lounge. If the size of the Hackathon
403 continues to increase, it might be necessary to use the same space as
404 is later used for the IETF plenary.
406 3.2.1.2. Food and Beverage
408 Some portion of the food and beverage expense is often included as
409 part of a minimum spend the IETF is obligated to make. When a
410 Hackathon sponsor is identified, funds resulting from this
411 sponsorship are typically used to offset food and beverage expenses,
412 or to increase the food and beverage budget.
414 The minimum food and beverage for the Hackathon has been,
416 * coffee, tea, and water Saturday and Sunday morning
418 * lunch Saturday and Sunday
419 Additional items, in order of importance, include,
421 * beer Saturday evening
423 * dinner Saturday evening
425 * continental breakfast Saturday and Sunday
427 * afternoon snacks Saturday and Sunday
429 3.2.1.3. T-shirts
431 Hackathon t-shirts are an important part of the Hackathon. They have
432 been provided for all in-person Hackathons and greatly appreciated by
433 many participants. The also serve as great advertising for the IETF,
434 the Hackathon, and sponsors. Cisco or other event sponsors have
435 often covered expenses associated with t-shirts. The current model
436 is that the secretariat covers the expenses using whatever funding is
437 available.
439 The number of size distribution of t-shirts for IETF 107 is provided
440 here as an example.
442 * 380 t-shirts at a cost of roughly $10 USD / t-shirt with shipping
443 to the Secretariat included
445 - 50 Small
447 - 120 Medium
449 - 110 Large
451 - 75 XL
453 - 25 XXL
455 The t-shirts are all standard cut. We previously tried providing
456 fitted cut t-shirts as an option for Hackathon participants, but
457 these were not well received.
459 3.2.1.4. Stickers
461 Laptop stickers are popular with developers. Stickers have been made
462 available at the Hackathon for those that want them. Expenses have
463 been covered by the IETF LLC, Director of Communications and
464 Operations.
466 3.2.2. Remote Participation Expenses
468 The following expenses are associated things done primarily to
469 facilitate remote participation in a Hackathon. This includes
470 participation when the Hackathon is online only as well as remote
471 participation when the Hackathon is in-person.
473 * Meetecho: cost associated with Hackathon kickoff and closing
475 * Gather: costs associated with premium service, required to enable
476 more than 25 concurrent users. This has not been necessary, but
477 will almost certainly be if Gather becomes a valuable way for
478 Hackathon participants to meet within and across teams.
480 * Webex: IETF Webex accounts are made available to champions for the
481 duration of the Hackathon and some period beyond that encompasses
482 at least the rest of the IETF meeting. These accounts are
483 available at no additional cost to the IETF at present
485 * Network: setup and support of the IETF network, and remote access
486 to it
488 The change in timing and extended duration of the Hackathon at an
489 online only IETF meeting increases the duration and use of remote
490 participation facilities from 7 days to 12 days. This may result in
491 increases to the cost of providing these facilities.
493 4. Project Presentations
495 Project presentations are an important mechanism for capturing what
496 each team intends to accomplish, what they actually accomplished, and
497 sharing the results and findings with the IETF community.
499 For the first few Hackathons, we had two very distinct types of
500 presentations,
502 1. Presentation that served as project pitches at the start of the
503 Hackathon
505 2. Presentations that summarize results at the end of the Hackathon.
507 4.1. Project Pitches
509 The project pitches were 5-10 minute presentations by a champion of a
510 project describing what they wanted to do and how they proposed to
511 accomplish it. This gave everyone in the room a better understanding
512 of all the projects and helped participants match themselves with
513 appropriate projects. This worked well when we had a small number of
514 projects, but it became unwieldy as the number of projects increased.
515 As knowledge of the Hackathon grew and advanced planning became more
516 common, many participants knew exactly which team they planned to
517 join and wanted to get to work as quickly as possible rather than
518 spend a couple hours listening to presentations. Project pitches
519 were dropped from the Hackathon. Champions are encouraged to share
520 this type of information in advance via the Meeting Wiki
521 (Section 5.4) instead.
523 4.2. Results Summaries
525 The results summaries are brief presentation by each team of what
526 problem they tried to solve, what they achieved, and highlights that
527 include lessons learned, feedback to associated working groups, and
528 collaboration with open source communities and other standards
529 organizations. They also highlight individuals who are participating
530 in their first IETF Hackathon or first IETF event to facilitate their
531 introduction into the IETF community. The production and
532 presentation of results summaries is optional. Fortunately, despite
533 the lack of awards and prizes, most teams participate.
535 As with the project pitches, results summaries can become unwieldy as
536 the number of projects increases. With this in mind, the total time
537 for all results summaries is limited to 2 hours. The maximum
538 duration of each presentation is calculated based on the number teams
539 that have indicated the desire to present. This maximum is strictly
540 enforced to ensure all teams have the opportunity to present their
541 results. Maximum durations of 3-5 minutes are typical.
543 4.2.1. Templates
545 Project results presentation templates provides guidance on what to
546 cover. The use of these templates is optional. They are made
547 available in various in various formats in a GitHub repo created
548 specifically for the presentations for each IETF Hackathon, e.g.,
549 [RESULTS-PRESENTATIONS].
551 4.2.1.1. PPTX
553 For portability, presentations that use this template should be made
554 exported into PDF format as well.
556 4.2.1.2. HTML format
558 This template should render within any browser. It can be rendered
559 as a slideshow using [REMARK].
561 4.3. Upload to GitHub
563 All presentation are uploaded to the GitHub repo created the
564 Hackathon, e.g., [RESULTS-PRESENTATIONS]. The contents of this repo
565 are used as the source for all project presentations at the end of
566 the Hackathon and remain as a reference after the Hackathon.
568 One must be a member of the [IETF-HACKATHON-GITHUB] organization to
569 upload a new presentation or update/replace an existing presentation.
571 To be added as a member, presenters are asked to:
573 * include the name by which they are known in their GitHub profile
575 * enable two factor authentication (2FA)
577 * send your GitHub user name to the Chair(s)
579 Presenters are asked to do this at their earliest convenience as the
580 Chair(s) typically get very busy as the start of presentations
581 approaches.
583 4.4. Presenting in Person
585 Presentations are run from a shared ChromeBook at the front of the
586 Hackathon room. This Chromebook is provided by the Secretariat.
588 4.5. Presenting Remotely
590 Remote presenters are welcome to run their own presentations using
591 the screen sharing functionality in Meetecho. Alternatively, the
592 Hackathon Chairs can share the presentation and advance slides for
593 the presenter.
595 5. Tooling
597 The IETF Hackathon uses the same tooling used by the IETF community
598 for its work and meetings.
600 5.1. Datatracker
602 The [DATATRACKER] supports the notion of Teams that are not a part of
603 the standards development process. The Hackathon exists as one such
604 Team. From the datatracker menu, navigate to "Other" -> "Active
605 Teams" -> "Hackathon". Here exists a datatracker space for the
606 Hackathon similar to what is available for working groups, including
607 meeting materials, agendas, etc. Initially, there was some attempt
608 to copy materials hosted in the [IETF-HACKATHON-GITHUB] to the
609 Datatracker. Now this is done only when required for integration
610 with other IETF tooling, including to:
612 * [REQUEST-SESSIONS] for the Hackathon kickoff and closing, and for
613 Hackdemo Happy Hour
615 * post [AGENDAS]
617 5.2. IETF Website
619 5.2.1. Hackathon Website
621 The IETF website includes a [HACKATHON-WEBSITE]. This website
622 contains information about the Hackathon in general as well as links
623 to past, present, and future Hackathons. The relevant links are
624 updated after each IETF meeting. Other content on the website is
625 updated on a more ad hoc basis.
627 5.2.2. Meeting Website
629 Each [MEETING-WEBSITE] contains information about the corresponding
630 Hackathon, including the dates of the Hackathon in the header and a
631 link to the Hackathon website in the "Additional Events" section.
633 5.3. Registration
635 Registration for the Hackathon is through the IETF meeting
636 [REGISTRATION-SYSTEM]. Participant registration for the Hackathon
637 is:
639 * independent of participation registration for the meeting
641 * free
643 * required
645 As with meeting registration, registrants for the Hackathon
646 acknowledge the [NOTE-WELL] during the registration process.
648 5.3.1. Participant List
650 An active list of all registered participants, e.g., [PARTICIPANTS],
651 is maintained by the Secretariat. Important information displayed
652 for each registrant includes the set of projects and technologies in
653 which each participant is interested and an email address. This
654 information is optional at the time of registration and may be
655 updated or removed by editing one's registration.
657 5.3.2. Caps on Registrations
659 Registrations were capped for the first several Hackathons. This was
660 done both for space and costs considerations. The cap was hit
661 multiple times, each time resulting in temporary confusion and
662 frustration among would be registrants, followed by the cap being
663 increased. Currently, there are no caps enforced by the registration
664 system.
666 5.4. Meeting Wiki
668 The [MEETING-WIKI] serves as the primary source of information for
669 each Hackathon.
671 5.4.1. Hackathon
673 A page within the meeting wiki, e.g., [IETF-110-HACKATHON-WIKI], is
674 created by the Secretariat for each Hackathon and initialized with
675 information that is based largely on the information from the
676 previous Hackathon. Once created, the Hackathon Chairs update and
677 moderate this page. Champions are requested and responsible for
678 adding information about projects for which they are a champion.
680 Anyone can edit the wiki by logging in using their Datatracker login
681 credentials. Credentials can be obtained by creating a
682 [DATATRACKER-ACCOUNT].
684 5.4.2. Lost and Found
686 A Lost and Found wiki page, e.g., [LOST-AND-FOUND], is created by the
687 Chairs for each Hackathon. Participants looking for a team are
688 encouraged to add themselves to the "Skills to Offer" table,
689 providing some information about their skills and interests. This
690 will help others with matching needs and/or interests find them.
691 Champions wanting help on their projects are encouraged to add their
692 teams to the "Skills Needed" table, providing some information about
693 the skills they seek.
695 5.4.3. Results Presentation Schedule
697 A Results Presentation Schedule wiki page, e.g.,
698 [RESULTS-PRESENTATION-SCHEDULE], is created by the Chairs for each
699 Hackathon. Hackathon teams are welcome and encouraged to present
700 their results during the Hackathon Closing. Hackathon teams add the
701 name of their project and the name of the presenter to the table at
702 the bottom of this page.
704 5.4.4. In Person Only
706 The following wiki pages are applicable for in-person Hackathons
707 only.
709 5.4.4.1. Hackdemo Happy Hour
711 A Hackdemo Happy Hour wiki page, e.g., [HACKDEMO], is created by the
712 Chairs for each Hackathon. Champions are welcome and encouraged to
713 add their project by entering the project name/acronym and a contact
714 name and email address in the table displayed on the page.
716 5.4.4.2. Code Lounge
718 A Code Lounge wiki page, e.g., [CODE-LOUNGE], is created by the
719 Chairs for each Hackathon. Champions are welcome and encouraged to
720 add their project by entering the project name/acronym and a contact
721 name and email address in the table displayed on the page.
723 5.4.5. Online Only
725 The following wiki pages are applicable for online Hackathons only.
727 5.4.5.1. Team Schedule
729 A Team Schedule wiki page, e.g., [TEAM-SCHEDULE], is created by the
730 Chairs for each online only Hackathon. Online only Hackathons take
731 place globally for an entire week. It is up to individual project
732 teams to determine the preferred dates, times, and ways to meet to
733 work on their project within the context of that week (e.g., Zoom,
734 Webex, Slack). This page is meant to help facilitate coordination of
735 schedules within and across teams.
737 5.5. Email List
739 The Hackathon email list, [EMAIL-LIST], is used for all email
740 communication and announcement related to the Hackathon. All
741 registrants and given the option to subscribe to the list. Anyone
742 interested in staying up to date on the Hackathon is able to
743 subscribe at any time.
745 5.5.1. Hackathon Chairs Email Alias
747 The email alias, [EMAIL-ALIAS], was created and is maintained by the
748 Secretariat. It is used on Hackathon webpages and wiki pages to
749 provide a single point of contact for the Hackathon.
751 5.6. GitHub
753 The [IETF-HACKATHON-GITHUB] is used to share code, presentations, and
754 other artifacts at IETF Hackathons. The Hackathon Chairs are
755 responsible for administering the GitHub organization.
757 Code for Hackathon projects often exist elsewhere, which is perfectly
758 fine. Anyone needing a place to host code for the Hackathon can
759 request the creating of a repository for their project.
761 A repository is created and maintained by the Chairs for each
762 Hackathon, e.g., [RESULTS-PRESENTATIONS]. This repo is for
763 participants to upload project presentations. The contents of this
764 repo are used as the source for all project presentations at the end
765 of the Hackathon and remain as a reference after the Hackathon.
767 5.7. Meetecho
769 [MEETECHO] is used for the kickoff and closing sessions of the
770 Hackathon. This provides many capabilities, including the following:
772 * allows participants to join Hackathon sessions in person or
773 remotely
775 * validate registration of participants at time of joining Hackathon
776 sessions
778 * enable remote presentations of project results
780 * capture recording of Hackathon sessions
782 5.8. Network
784 Access to the IETF network is an important aspect of the Hackathon.
785 The IETF network provides unfettered Internet access that is not
786 typical within many residential, corporate, and university
787 environments. For many of IETF participants and projects, access to
788 the Internet and each other via wireless access to the IETF network
789 is sufficient. However, due to the nature of the work done in the
790 IETF, wired access and special networking capabilities are often
791 required.
793 The NOC has graciously met the needs of the Hackathon since its
794 inception and continues to add more capabilities over time.
795 Champions are able to request in advance wired access and special
796 networking functionality, including static IPv4 and IPv6 addresses,
797 IPv6 only networking, a closed user group, NAT64, and IPv6PD. All of
798 this, and the IETF network in general, is made available by the start
799 of the Hackathon and in advance for setup to the extent possible.
801 5.8.1. Remote Networking
803 Online only meetings present both a personal networking challenge and
804 a computer networking challenge. The NOC came to the rescue for the
805 latter with an experimental mechanism to join the IETF network while
806 attending a meeting remotely. This evolved into what is now known as
807 [HACKNET], a global Layer 2 VPN designed to support IETF protocol
808 development across teams within the IETF Hackathon. A limited set of
809 devices for connecting to HackNet are supported. In addition to
810 layer 2 connectivity, a subset of the networking capabilities
811 available at in-person meetings are available. Both the set of
812 devices and the set of networking capabilities are expected to expand
813 and evolve over time. However, it is important to note that HackNet
814 is still an experiment and not a production service. Best effort
815 support is available via email to [TICKET].
817 5.9. Webex
819 Champions can request a [WEBEX-ACCOUNT] they can use to schedule
820 meetings for their team. These are similar to the Webex accounts
821 allocated to working group chairs to be used for virtual interim
822 meetings. An account can be requested by a team champion at any
823 time. Accounts remain active and available throughout the duration
824 of the Hackathon and the associated IETF meeting. A project name may
825 be used in place of "Working Group Name" in the request form.
827 5.10. Gather
829 [GATHER] facilitates virtual hallway interaction during IETF
830 meetings. A dedicated area within the overall space is created by
831 the Secretariat for the Hackathon. The area includes tables,
832 identified by letters of the alphabet, that teams are free to self
833 assign and use as and when they like. Eight to ten seats around each
834 table facilitate group discussions within the team. A whiteboard or
835 shared notes tablet, e.g., [HEDGEDOC], at tables facilitates sharing
836 of information within the team. The tables also facilitate
837 collaboration across teams. One cautionary note, Gather has relative
838 high network bandwidth and CPU requirements, and as such may not be
839 well suited for some Hackathon participants.
841 The Gather space remains available between IETF meetings, with
842 incremental improvements and additions made during this time. The
843 space is cleaned about a month prior to the start of the next
844 meeting, removing anything left over from the previous meeting.
845 Hackathon teams are encouraged to make a copy of anything they want
846 to retain within a week of the end of the IETF meeting.
848 6. Statistics and Metrics
850 Statistics for the Hackathon have been gathered informally from the
851 first Hackathon, at IETF 92, and more formally since IETF 101.
852 Registration is required but it is also free, which can lead to
853 misleading statistics. Starting with IETF 101, an effort has been
854 made by the Secretariat to validate registrations for all in-person
855 participants by checking registrations at the main entrance to the
856 Hackathon room. Badges similar to those issued for the rest of the
857 IETF meeting are now issued for the Hackathon as well. There is
858 still no good mechanism for determining the number of remote
859 participants.
861 Hackathon participation has grown from 45 at IETF 92 to a maximum of
862 406 at IETF 104. Participation is tends to be slightly higher when
863 the IETF meeting is located in Europe. Recent in-person Hackathons
864 have had roughly 30-40% as many participants as the corresponding
865 IETF meeting. For roughly 20-30% of Hackathon participants, the
866 Hackathon is their first experience at any IETF event.
868 6.1. IETF Survey Results
870 For each IETF meeting, there is a post event survey that often
871 includes a question or two about the Hackathon, e.g.,
872 [IETF-106-SURVEY]
874 6.2. Hackathon Survey Results
876 Hackathon specific surveys have been used on some occasions to obtain
877 more detailed feedback about the Hackathon from the IETF community.
878 This has been especially useful for feedback on online only
879 Hackathons. Survey have been short with most questions being
880 optional, e.g., [IETF-110-SURVEY].
882 7. Roles and Responsibilities
884 This section provides a summary of the roles and responsibilities of
885 individuals and groups involved in a successful IETF Hackathon. The
886 summary provided here is not meant to be exhaustive. Some
887 responsibilities are described entirely or in more detail throughout
888 the rest of the document.
890 7.1. Hackathon Chair(s)
892 The role of a Hackathon chair is similar to that of a working group
893 chair. As with working groups, it is typically best to have co-
894 chairs share responsibilities and workload. The Chairs work very
895 closely with the Secretariat on all responsibilities. Key
896 responsibilities include:
898 * Organize and deliver a Hackathon at each IETF meeting, soliciting
899 help from all other roles to do much of the heavy lifting
901 * Encourage and provide guidance to champions who volunteer to lead
902 projects
904 * Maintain the Hackathon wiki, e.g., [IETF-110-HACKATHON-WIKI], and
905 all of its child pages.
907 * Moderate Hackathon email list (Section 5.5)
909 * [REQUEST-SESSIONS] for the Hackathon opening and closing in the
910 IETF meeting
912 * Emcee the Hackathon, including the opening and closing sessions
913 and announcements in between
915 * Create and manage the GitHub repository used for each Hackathon,
916 e.g.,[RESULTS-PRESENTATIONS]
918 * Serve as main point of contact for all Hackathon questions and
919 concerns
921 7.2. Secretariat
923 Key responsibilities include:
925 * Configure and manage Hackathon registration system (Section 5.3)
927 * Maintain Hackathon website (Section 5.2.1)
929 * Create and maintain web page for each Hackathon, e.g.,
930 [IETF-110-HACKATHON-WEBSITE]
932 * Create wiki page for each Hackathon, e.g.,
933 [IETF-110-HACKATHON-WIKI]. This is initialized and updated at
934 times by the Secretariat, but the Chair(s) are ultimately
935 responsible for maintaining it.
937 * Handle venue logistics for Hackathon, Hackdemo Happy Hour, and
938 Code Lounge (e.g., reserve room, food and beverages, AV, etc.)
940 * Internal IETF promotion (e.g., email messages to IETF community)
942 * Assist with external outreach, as needed, including finding
943 sponsors
945 * Validate Hackathon registrations for in-person participants,
946 including issuing badges and Hackathon t-shirts (Section 3.2.1.3)
947 when available
949 7.3. Sponsor
951 Key responsibilities include:
953 * Provide some funding to help offset costs of Hackathon (either per
954 meeting or per year, depending on model)
956 * Optionally provide t-shirts or other giveaways
958 * Optionally provide support staff to assist with Hackathon
960 Key benefits include:
962 * Sponsor logo on Hackathon t-shirts
964 * Sponsor logo on Hackathon signage
966 * Sponsor logo on Hackathon webpage and wiki
967 * Sponsor logo and call out in Hackathon kickoff and closing
968 presentation
970 * Sponsor logo and call out in IETF Plenary presentation
972 * Sponsor logo and call out in Hackathon recap on [IETF-BLOG]
974 * Recognition in IETF community for helping the IETF Hackathon
975 remain free and open to everyone
977 7.4. Champions of Projects
979 Champions of projects are the key to a successful Hackathon. Key
980 responsibilities for champions include:
982 * Volunteer to lead a project at the Hackathon
984 * Serve as primary contact for the project
986 * Add and manage information on the Hackathon wiki for the project
988 * Promote the project to appropriate groups inside IETF and outside
989 as well
991 * Welcome and organize members of the team
993 * Provide focus, guidance, and leadership for the project
995 7.5. IETF LLC, Director of Communications and Operations (was ISOC)
997 Key responsibilities include:
999 * External promotion outside of IETF, including web search engine ad
1000 words, social media posts, and listing on external event calendars
1001 such as [RIPE-CALENDAR] and [NSRC-CALENDAR].
1003 * Outreach to local universities
1005 * Provide photographer, including optional team photos and candid
1006 photos of collaborating during in-person events
1008 * Laptop stickers (Section 3.2.1.4) at in-person events
1010 7.6. Judges
1012 The first several Hackathon involved judges who listened to summary
1013 presentations by teams at the closing of each Hackathon and
1014 identified winning teams for an arbitrary number of project
1015 categories. Prizes were made available to members of winning teams.
1016 This was done as an incentive to participate in the Hackathon and
1017 present results, and to provide a fun yet informative end to the
1018 Hackathon that could be appreciated by the entire IETF community.
1019 Judging and awarding of prizes led to confusion regarding the nature
1020 of the Hackathon, making it appear to some overly competitive.
1021 Procurement of appropriate prizes was financially and logistically
1022 challenging. Arrangement of judges, determination of winners, and
1023 awarding of prizes all became more time consuming, especially as the
1024 number of projects and participants grew. Ultimately, it was deemed
1025 best to eliminate judging, awards, and prizes entirely. Apparently
1026 the IETF community has an innate incentive to participate and present
1027 results in the Hackathon.
1029 8. Implementation Status
1031 The practices described in this document have been established, used,
1032 and refined over the course of running numerous IETF Hackathons,
1033 including several at online only IETF meetings. The [GITHUB-REPO]
1034 GitHub repository has been used to collaborate on this document. The
1035 IETF-Hackathon GitHub (Section 5.6) contains code associated with
1036 IETF Hackathons.
1038 9. Security Considerations
1040 HackNet (Section 5.8.1) enables Hackathon participants to join the
1041 IETF network while attending a meeting remotely. The intent is for
1042 those connecting remotely to have as open a network as possible, just
1043 like those connecting to the IETF network at an in person meeting. A
1044 user must have a datatracker account to access HackNet and is
1045 expected to respect it just as they are expected to respect the IETF
1046 network at an in person meeting. If HackNet is exploited, it is
1047 addressed as an exploitation of the IETF network would be at an in
1048 person meeting.
1050 9.1. Privacy Considerations
1052 Participant names and email addresses are displayed publicly in the
1053 Participant List (Section 5.3.1). Participants may opt-in or opt-out
1054 of the display of their email address as part of their registration.
1056 The email addresses of individual champions are often shared publicly
1057 by the champions on the wiki. This is done voluntarily by individual
1058 champions to make it easier for others to contact them.
1060 10. IANA Considerations
1062 This document has no IANA actions.
1064 11. Informative References
1066 [AGENDAS] "IETF Meeting Agenda", n.d.,
1067 .
1069 [CODE-LOUNGE]
1070 "IETF 106 Code Lounge", n.d.,
1071 .
1074 [DATATRACKER]
1075 "IETF Datatracker", n.d., .
1077 [DATATRACKER-ACCOUNT]
1078 "IETF Datatracker Account Creation", n.d.,
1079 .
1081 [EMAIL-ALIAS]
1082 "IETF Hackathon Chairs Email Alias", n.d.,
1083 .
1085 [EMAIL-LIST]
1086 "IETF Hackathon Email List", n.d.,
1087 .
1089 [GATHER] "Gather", n.d., .
1091 [GITHUB-REPO]
1092 "GitHub Repository for draft-ietf-shmoo-hackathon", n.d.,
1093 .
1095 [HACKATHON-WEBSITE]
1096 "IETF Hackathon Website", n.d.,
1097 .
1099 [HACKDEMO] "IETF 106 Hackdemo Happy Hour", n.d.,
1100 .
1103 [HACKNET] "HackNet", n.d., .
1105 [HEDGEDOC] "HedgeDoc", n.d., .
1107 [IETF-106-SURVEY]
1108 "IETF 106 Meeting Survey", n.d.,
1109 .
1112 [IETF-108-HACKATHON-WIKI]
1113 "IETF 108 Hackathon Wiki", n.d.,
1114 .
1117 [IETF-110-HACKATHON-WEBSITE]
1118 "IETF 110 Hackathon Website", n.d.,
1119 .
1122 [IETF-110-HACKATHON-WIKI]
1123 "IETF 110 Hackathon Wiki", n.d.,
1124 .
1127 [IETF-110-SURVEY]
1128 "IETF 110 Meeting Survey", n.d., .
1130 [IETF-BLOG]
1131 "IETF Blog", n.d., .
1133 [IETF-HACKATHON-GITHUB]
1134 "IETF-Hackathon GitHub", n.d.,
1135 .
1137 [IETF-RUNNING-CODE-SPONSOR]
1138 "IETF Running Code Sponsor", n.d.,
1139 .
1141 [LOST-AND-FOUND]
1142 "IETF 110 Hackathon Lost and Found", n.d.,
1143 .
1146 [MEETECHO] "Meetecho", n.d., .
1148 [MEETING-WEBSITE]
1149 "IETF Meeting Website", n.d.,
1150 .
1152 [MEETING-WIKI]
1153 "IETF Meeting Wiki", n.d.,
1154 .
1156 [NOTE-WELL]
1157 "IETF Note Well", n.d.,
1158 .
1160 [NSRC-CALENDAR]
1161 "Network Startup Resource Center Calendar", n.d.,
1162 .
1164 [PARTICIPANTS]
1165 "IETF 110 Hackathon Participant List", n.d.,
1166 .
1169 [REGISTRATION-SYSTEM]
1170 "IETF Meeting Registration System", n.d.,
1171 .
1173 [REMARK] "remark GitHub Repository", n.d.,
1174 .
1176 [REQUEST-SESSIONS]
1177 "IETF Session Request", n.d.,
1178 .
1180 [RESULTS-PRESENTATION-SCHEDULE]
1181 "IETF 110 Hackathon Results Presentation Schedule", n.d.,
1182 .
1185 [RESULTS-PRESENTATIONS]
1186 "IETF 110 Hackathon Project Results Presentations", n.d.,
1187 .
1190 [RIPE-CALENDAR]
1191 "RIPE Upcoming Events", n.d.,
1192 .
1194 [SURVEY] "IETF 107 Hackathon Participant Survey", n.d.,
1195 .
1197 [TEAM-SCHEDULE]
1198 "IETF 110 Hackathon Team Schedule", n.d.,
1199 .
1202 [TICKET] "IETF Support Email Alias", n.d.,
1203 .
1205 [WEBEX-ACCOUNT]
1206 "IETF Webex Account", n.d.,
1207 .
1210 Acknowledgments
1212 The IETF Secretariat, notably Alexa Morris and Stephanie McCammon,
1213 contributed significantly to the creation of the IETF Hackathon and
1214 the practices in this document. Among other things, Alexa drafted
1215 the initial breakdown of Roles and Responsibilities (Section 7), and
1216 Stephanie McCammon created the initial Hackathon website and wiki.
1217 These have evolved over time and are used to run each Hackathon.
1219 Greg Wood, Barry Leiba, Michael Richardson, Benson Muite, and Dhruv
1220 Dhody also provided significant contributions to the Hackathon and to
1221 this document.
1223 Author's Address
1225 Charles Eckel
1226 Cisco Systems
1227 United States of America
1229 Email: eckelcu@cisco.com