BA372 — Free & Open Source Software (FOSS)
Want more of this? View Revolution OS,
a 2002 feature movie on FOSS.
Raymond, E. (1999) The Cathedral and the Bazaar.
- Feller, J. & Fitzgerald, B. (2000/2002) Understanding
Open Source Software (Development).
- Fink, M. (2002) The Business and Economics of Linux and Open Source.
- Moody, G. (2002) Rebel Code: Linux and the Open Source Revolution.
- Rosen, L. (2004) Open Source Licensing.
- Notice the timing of these book offerings:
Red Hat Inc. IPO: Aug. 1999.
- Red Hat Inc. (RHT) share price trajectory.
- Feller & Fitzgerald (2002, p. 12) "Open Source Software is software
distributed under the Open Source Definition":
- Free redistribution.
- Source code included.
- Allows modification and derived works. Derivatives must be allowed to follow the OSD.
- Redistribution can only be restricted when patches are offered
with the source and the patches follow the OSD.
- No discrimination against persons or groups.
- No discrimination against fields or endeavor.
- All rights attached to the program carry over to its users.
- License is not specific to a product or its distribution.
- License must not infect other software.
- Note that 'Free software' and 'Open Source Software' are NOT (!!!) the same thing. More about this later.
- Open software is not necessarily gratis; i.e., free of charge.
- Open software is licensed under a variety of licenses.
- Some examples of well known FOSS:
- Reputation of well-known, well-used FOSS:
- Free; i.e., (mostly)
gratis, modifiable and (re)distributable.
- Lots of peer support.
- Little 'vendor' support (at least, not gratis).
- Fragmented documentation.
- Unpredictable, sketchy release schedules.
- Easy to install but not so easy to fix if things do not work as expected.
- Runs on lots(!) of different hardware, but not on everything.
- Apps have limited functionality compared to commercial
counterparts; e.g., GIMP, R, Gnuplot or Grace:
- However!!!: FOSS apps. are often designed/architected with the FOSS world in mind:
- They often contain sophisticated APIs.
- Default application/package contains only basic/minimum functionality.
- Users themselves extend functionality through the use of the plugin architecturess.
- Users make extensions/plugins available to the community.
- Some important FOSS players:
- Richard Stallman (Free Software
Foundation): free (≠ open) software as a right; an ethical principle: —> GNU, GPL, FSF.
- Linus Torvalds —> Linux kernel.
- Lots of others: —> Linux distributions.
- Eric Raymond (Open Source
Initiative): open software as an efficient development methodology (The
Cathedral and the Bazaar):
- "Treating your users as co-developers is your least-hassle
route to rapid code improvement and effective debugging."
- "Given a large enough beta-tester and co-developer base,
almost every problem will be characterized quickly and the fix obvious to
someone" (Torvalds: "Given enough eyeballs, all bugs are shallow.")
- "If you treat your beta -testers as if they are your most
valuable resource, they will respond by becoming your most valuable resource."
- "Provided the development coordinator has a communications
medium at least as good at the Internet, and knows how to lead without
coercion, many heads are inevitably better than one."
- Some additional FOSS pioneers:
- Examples of bazaars:
- Why does OSS exist?
if most OSS is gratis, how can it exist? Who bears the cost?
- Motivational factors:
- Individual contributors: solve a problem and share the solution with the world:
- Itch —> scratching —> open sourcing.
- Ethical motivation.
- For the love of programming.
- Recognition & reputation.
- FOSS community as a home.
- Business models:
- Itch -—> scratching —> risk minimization & (maintenance) cost sharing through open sourcing.