Introduction To Open Source


  • 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

  • has licenses and licensing information


  • Open to developer contributions

  • Open governance


  • 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, ...

Last modified: Monday, 29 June 2020, 12:14 AM