- Hackathon
-
A hackathon, a hacker neologism, is an event when programmers meet to do collaborative computer programming. The spirit of a hackathon is to collaboratively build programs and applications. Hackathons are typically between several days and a week in length. A hackathon refers not simply to one time hacks, but to a specific time when many people come together to hack on what they want to, how they want to - with little to no restrictions on direction or goal of the programming.
The term "sprint" is used to describe shorter events of a similar nature, which typically only last a few days. Another name for events of this type, used primarily among Linux users, is "codefest", a combination of the words code and festival, drawing its name from installfest, an event at Linux User Groups.
Contents
Origins
The term hackathon itself is a portmanteau formed from the intellectual slang hack and marathon. The term seems to have been created independently by both the developers of OpenBSD and the marketing team of Sun; these usages both first happened in 1999.
OpenBSD's apparent first use of the term referred to a cryptographic development event held in Calgary on June 4, 1999, where 10 developers came together in order to avoid legal problems caused by export regulations of cryptographic software from the United States.
For Sun, the usage referred to an event at the JavaOne conference from June 15 to June 19, 1999; there John Gage challenged attendees to write a program in Java for the new Palm V using the infrared port to communicate with other Palm users and register it on the Internet. The event was dubbed "the Hackathon".
Sun has also held a number of Connectathon events since 1986, mostly centered around NFS interoperability. Vendors and other invitees convene during these events to test the interoperability of their hardware and software implementations, identify faults in the specification of Internet standard protocols, and define reusable protocol test suites. Connectathon is more of a developers' conference where participants happen to hack in addition to presenting technical talks to one another, something like the defunct MacHack conference.
Current usage
The term hackathon was picked up by PHP in 2000 for a development event and from there it spread to FreeBSD in 2001 and Apache during the 2002 ApacheCON.
Since its original usage, the hackathon has become more commonly associated with the OpenBSD project than with any other usage. The project holds an annual hackathon in Calgary, Alberta, Canada where as many OpenBSD developers as possible come together to work on the codebase at a more furious pace. The results of these hackathons are usually highly noticeable improvements to either a particular set of tools or hardware platform; such improvements include the radical development PF - which had been started before a hackathon and brought to a much better quality level during the event, expanded support for the Sharp Zaurus, the development of OpenBGPd, improvements to OpenBSD's local CVS system and a large performance improvement to the system through a cleanup of the idle loop.
Companies[who?] have recently begun to use the idea of the hackathon, in which they give a day a week or month to workers in order for them to do as they wish development-wise - all results are still owned by the company, but these 'hackathons' allow for employees to escape from their more boring regular tasks and do something that interests them.
While other organizations, including JotSpot, Atlassian, Facebook, Google, Atom and Technorati, still hold hackathons, few receive the publicity and buzz accorded the annual OpenBSD hackathon .
Of note with hackathons is that they are not all done simply by inviting developers together - they take a great deal of organizing and have massive financial impact, with Theo de Raadt noting some cost 20,000 CAD for hotel and equipment fees alone. Because of this, hackathons are limited in the rate at which they occur, happening often only once a year or quarter. They also often seek external sponsors such as in April 2003, when the NLnet Foundation paid for the hotel accommodations for the OpenBSD hackathon, which had recently had its funding project POSSE canceled prematurely.
OpenBSD hackathons
Since the original in 1999, OpenBSD has had at least a hackathon a year. During the hackathon, many of the developers come together for a period which usually sees rapid OpenBSD development. The original hackathon took place in Calgary, Alberta, Canada and was attended by ten developers. It was focused on cryptographic development; part of the reason for holding it in Canada was to avoid legal problems caused by United States regulations on the export of cryptographic software. The designation for each subsequent hackathon has been marked by this, as OpenBSD has used c, standing first for crypto and later for Calgary, as the first letter of these events. Since then, hackathons have become a big event, a week-long gathering during which more than 60 developers from around the world come together to drink beer, listen to humppa music—like that of Eläkeläiset—hike, and hack on OpenBSD.
Other hackathons
Recent hackathons include the globally coordinated Random Hacks of Kindness, a semi-annual competitive hacking event where anyone interested in technology (software developers, independent hackers, students, etc.) comes together with experts in disaster risk management (NGOs, organizations within the U.N., individuals involved in relief and development work) to create software-based solutions that address problems causing human suffering. See RHoK.org
Sprints
A sprint is a short period of software development. Sprints have become popular events among some open source projects. For example, the PyPy project is developed the most through regularly held sprints, where most of the international team gathers. They are often held near conferences which most of the project's team attends, but they can also be hosted by some involved party at their premises or some interesting location.
The practice of using sprints for pivotal development was pioneered by the Zope Corporation in the early days of the Zope 3 project, where the greatest improvements in the software were made during the gatherings. From January 2002 until the start of 2006, more than 30 Zope 3 sprints have taken place.
The sprints organized by companies often focus on the concepts of the Extreme Programming software development method. There the sprint is directed by the coach, who suggests tasks, tracks their progress and makes sure that none of the developers encounter insurmountable difficulties. Often the development happens in pairs or small teams. A large open space is often chosen as a venue for efficient communication.
Sprints can vary in focus. During some sprints people new to the project are welcomed and get an intensive hands-on introduction pairing with an experienced project member. The first part of such sprints is usually spent getting ready, presenting the tutorials, getting the network setup and CVS or Subversion checkouts working on everyone's laptops. A different kind of sprint is where only the core team gathers and gets some important work done in a concentrated manner.
As with the larger hackathons, a significant benefit of sprinting is that the project members meet in person, socialize, and start to communicate more effectively than when working together remotely.
See also
- Hacker culture
References
External links
- OpenBSD hackathons
- OpenBSD hackathon 2005
- Sun Connectathon
- MacHack 2003
- JotSpot Wiki Hackathon
- miniGuide to Zope sprinting (Zope Mag)
- Stichting NLnet's 2003 Hackathon page
- Debian bug squashing parties
- Chicago Perl Hackathon
- Perl-related projects
- Haskell hackathons
- Scalathon - The International Scala Hackathon
Categories:- Hacking (programmer subculture)
- Internet slang
- OpenBSD
- Software developer communities
Wikimedia Foundation. 2010.