Hackathon
Encyclopedia
A hackathon, a hacker neologism, is an event when programmer
Programmer
A programmer, computer programmer or coder is someone who writes computer software. The term computer programmer can refer to a specialist in one area of computer programming or to a generalist who writes code for many kinds of software. One who practices or professes a formal approach to...

s meet to do collaborative
Collaborative software development model
The Collaborative software development model is a style of software development whose focus is on public availability and communication, usually via the Internet.The software development model began widespread adoption with the Linux kernel in 1991....

 computer programming
Computer programming
Computer programming is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This source code is written in one or more programming languages. The purpose of programming is to create a program that performs specific operations or exhibits a...

. 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
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 users
User (computing)
A user is an agent, either a human agent or software agent, who uses a computer or network service. A user often has a user account and is identified by a username , screen name , nickname , or handle, which is derived from the identical Citizen's Band radio term.Users are...

, is "codefest", a combination of the words code and festival, drawing its name from installfest, an event at Linux User Group
Linux User Group
A Linux User Group or Linux Users' Group or GNU/Linux User Group is a private, generally non-profit or not-for-profit organization that provides support and/or education for Linux users, particularly for inexperienced users...

s.

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
Calgary
Calgary is a city in the Province of Alberta, Canada. It is located in the south of the province, in an area of foothills and prairie, approximately east of the front ranges of the Canadian Rockies...

, Alberta
Alberta
Alberta is a province of Canada. It had an estimated population of 3.7 million in 2010 making it the most populous of Canada's three prairie provinces...

, Canada
Canada
Canada is a North American country consisting of ten provinces and three territories. Located in the northern part of the continent, it extends from the Atlantic Ocean in the east to the Pacific Ocean in the west, and northward into the Arctic Ocean...

 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
Humppa
Humppa is a type of music from Finland. It is related to jazz and very fast foxtrot, played two beats to a bar . Typical speed is about 220 to 260 beats per minute. Humppa is also the name of a few social dances danced to humppa music. All dances involve bounce that follows the strong bass of the...

 music—like that of Eläkeläiset
Eläkeläiset
Eläkeläiset are a Finnish humppa band founded in 1993. They specialise in humppa and jenkka music and have been successful in Germany, Finland and elsewhere....

—hike, and hack on OpenBSD.

Other hackathons

Recent hackathons include the globally coordinated Random Hacks of Kindness
Random Hacks of Kindness
Random Hacks of Kindness is a joint initiative between Microsoft, Google, Yahoo!, NASA, and the World Bank. The objective is to bring together subject matter experts around disaster management and crisis response with volunteer software developers and designers in order to create solutions that...

, 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
Software development
Software development is the development of a software product...

. Sprints have become popular events among some open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 projects. For example, the PyPy
PyPy
PyPy is a Python interpreter and JIT compiler. PyPy focuses on speed, efficiency and 100% compatibility with the original CPython interpreter.- Details and motivation :...

 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
Zope
Zope is a free and open-source, object-oriented Web application server written in the Python programming language. Zope stands for "Z Object Publishing Environment", and was the first system using the now common object publishing methodology for the Web...

 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
Extreme Programming
Extreme programming is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements...

 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
Pair programming
Pair programming is an agile software development technique in which two programmers work together at one workstation. One, the driver, types in code while the other, the observer , reviews each line of code as it is typed in...

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 version control systems 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.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK