‘ Analytical Engine’ - around 1833 ( never made - this is a model)
First computer program
1843: translated Italian article on Analytical Engine into English with extensive notes, including some complicated programs of her own , the most complex being one to calculate the sequence of Bernoulli numbers .
how Open Source works
‘ The modern computers of the era … had their own operating systems, but none of them were free software: you had to sign a nondisclosure agreement even to get an executable copy. This meant that the first step in using a computer was to promise not to help your neighbor. A cooperating community was forbidden. The rule made by the owners of proprietary software was, “If you share with your neighbor, you are a pirate. If you want any changes, beg us to make them.” ’
— Richard Stallman
(although that too)
GPL (Gnu Public License)
protectionism for free software
code may be copied and modified without restriction, but that both copies and derivative works (that is, modified versions) must be distributed under the same license as the original, with no additional restrictions.
Uses copyright law to achieve an effect opposite that of traditional copyright: instead of limiting the software's distribution, it prevents anyone , even the author or copyright holder, from limiting it .
Better than putting code into the public domain, where any particular copy could be incorporated into a proprietary program - benefiting the 'enemy' of free software.
prevents nonfree programs from taking advantage of any GPL'd code, while allowing all GPL'd programs to cooperate among themselves by sharing unrestrictedly.
four kinds of freedom
0. The freedom to run the program, for any purpose.
1. The freedom to study how the program works, and adapt it to your needs. Access to the source code is a precondition for this.
2. The freedom to redistribute copies so you can help your neighbor.
3. The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. Access to the source code is a precondition for this.
the set of
instructions that define
how a program behaves;
to study or modify a
program, you need its
free software is:
software that may be modified and redistributed freely by anyone, with no significant restrictions on how the code may be changed, the uses to which it may be put, or the parties with whom it may be shared.
Scratching your own itch
Because they are their own users , (Open Source developers) know the correct answers to 90% of the decisions they have to make. I think this is one of the reasons folks come home after a hard day of coding and then work on open source: It's relaxing.
— Dave Thomas, The Pragmatic Programmers
you mean they code for fun?
scratching an itch One or more developers (programers/hackers) get an idea about creating software to solve a problem and start writing code to create a solution. This is frequently called "scratching an itch."
freeing the code The developers put their projects where other developers can download it and play with it, like SourceForge.com. The source code is usually published under one of several popular open source licenses that ensure that the code and any derivative works remain open source.
enough eyeballs "with enough eyeballs, every bug is shallow " - Eric Raymond. Through an informal process of sharing ideas, fiddling with each others' code, and trial and error, the software gets better and better , sometimes changing direction to solve new problems as new people discover the software.
active or dormant At some point, the software gets finished or doesn't. As time goes on, developers come and go, and projects become popular, stay obscure, or fade away . Programs like Linux and Apache have had thousands of contributors. Other projects have been created by one or two people.
the reaction (1)
‘ Linux is a cancer that attaches itself in an intellectual property sense to everything it touches’
The Linux kernel - a Unix-like operating system kernel best known for its use in the Linux operating system.
Released under the GNU General Public License (GPL) and developed by contributors worldwide, one of the most prominent examples of free and open source software.
how / why Linux grew, and grows
At the time, the GNU Project kernel, GNU Hurd, was incomplete and unavailable.
The BSD operating system had not yet freed itself from legal encumbrances.
This left a space for the Linux kernel to fill.
Despite limited functionality in early versions, rapidly accumulated developers and users.
Early on, the Minix community contributed code and ideas.
Today it has received contributions from thousands of programmers.
‘ business-friendly’ Open Source
Open Source Initiative
allow free software movement to enter
talk of freedom and ideology
Tim O'Reilly & Eric Raymond A group of people including Eric Raymond and Tim O'Reilly came together and started using the term open source instead of free software. Many people now use the terms separately, or the combined term free and open source software , abbreviated as FOSS .
Custom tells us copyright was designed to subsidize creation.
The vitality of the free software scene hints that copyright may really have served to subsidize distribution.
As distribution costs go to zero via the internet, will people start cooperating on works other than software?
barriers to Open Source
people follow other people don't like to be told to change, implies they've made the ‘wrong’ choice
negative lock-in enough people use it, so it dominates, like QWERTY and VHS
who uses Open Source?
Yahoo Amazon Google etc.
most of the web:
‘ large body of high-quality code on which much of the internet depends for critical functions, and … the core operating system for an increasing number of desktop machines as well’
LAMP: the Open Source web platform
L inux and A pache, with M ySQL and either P erl, Python, or PHP
‘ ...there are plenty of excellent open source variants for any of the pieces of LAMP. Let the L stand for Linux, FreeBSD, NetBSD, OpenBSD, and Darwin/Mac OS X , all of which are open source operating systems and all but the latter have open source GUI layers. Let the M stand for MySQL and PostGreSQL . Let the P stand for PHP, Perl, Python, and Ruby .’
FSF Latin America http://www.fsfla.org campaign against non-free software to fill in tax forms
AVOIR http://avoir.uwc.ac.za/avoir/ African Virtual Open Initiatives and Resources
‘ “ As a result of what we're doing in China, five or 10 years from now you'll have a healthy ecosystem of Linux providers who will be a true alternative to a proprietary operating system.” Meaning Microsoft's Windows.’
- Free Standards Group
Steve Hamm, A big step for Linux in China, 12/01/06 http://www.businessweek.com/the_thread/techbeat/archives/2006/01/a_big_step_for.html
Some key organisations
Open Source Development Labs (OSDL) http://www.osdl.org Home to Linus Torvalds, founded by large companies like IBM and Intel but with a large external membership, seeks to promote the development of Linux and its use in enterprise computing.
Apache Software Foundation http://www.apache.org Umbrella organization for the Apache project that developed the Apache HTTP Server and many other projects.
Perl Foundation http://www.perlfoundation.org promoting the development, education, and use of the Perl language.
Python Software Foundation http://www.python.org/psf/ promoting the development, education, and use of the Python language.
GIMP http://www.gimp.org/downloads/ GNU Image Manipulation Program - ‘Open Source Photoshop’ (scroll down for Windows, Linux and Mac-specific downloads) .
Mozilla.org http://www.mozilla.org Originally the home to the source code initially released as open source from Netscape, and now many popular projects like Firefox.
OpenOffice.org http://www.openoffice.org the MS Office alternative. Free.
Sources and references
Dan Woods, 'What Is Open Source' 15/09/2005, http://www.onlamp.com/pub/a/onlamp/2005/09/15/what-is-opensource.html
Karl Fogel, What Is Free Software, 29/09/2005 http://www.onlamp.com/pub/a/onlamp/2005/09/29/what-is-free-software.html
The Free Software Foundation http://www.fsf.org and free software directory: http://directory.fsf.org
The GNU project http://www.gnu.org and General Public License (GPL): http://www.gnu.org/copyleft/gpl.html
LAMP: The Open Source Web Platform http://www.onlamp.com/pub/a/onlamp/2001/01/25/lamp.html