Introduction To Open Source
Legal
Source code is out there (available to the public)
Source code can be used under "permissive" license:
Use as you will: "Open Source". Open Source Initiative, BSD or MIT licenses
Must make changes available: "Free Software". Free Software Foundation, GPL
Source code can be extended and republished
http://opensource.org has licenses and licensing information
Practice
Open to developer contributions
Open governance
Motivations
Proprietary practices have low dev efficiency
Agile borrows practices from OSS to improve
Open source achieves fairly high dev efficiency
OSS Practices
"Patch-driven" incremental development
Start with a small thing (100 lines? 1000?) that does something useful
Start with something thrown over the wall
Code-centric development: "code is cheap"
Tool-driven development
Source code management and version control
Programming tools: PL tools, PL environments, debuggers
Communication / collaboration tools: IRC, email and email lists, forums, issue trackers
Build and config management: Make, autotools, ...