FLOSS Body of Knowledge

With the growing number of classes, curricula, and certificates, it can be valuable to identify the topics that are important for anyone studying FLOSS. The goal of this project is to outline these topics, and to work toward defining learning objectives for various classes related to FLOSS. We hope that people who are involved in the development and delivery of this educational material, as well as those who are knowledgeable about FLOSS, will contribute to this outline, which can then be used by others to create their own classes.

The inspiration for this idea is the Software Engineering Body of Knowledge (SWEBOK), developed under IEEE Computer Society sponsorship beginning in the late 1990's.

Please feel free to edit, reorganize, and expand this draft outline. Note that the intent is to capture the "high level" topics, and not to focus on the low-level details of specific FLOSS components. You must register on this site to edit the outline. If you have questions about contributions or content, or would like to provide support for this work, please click the link below to contact me.

Tony Wasserman


History and Background
History of free and open source software
Key people: RMS, Linus Torvalds, ESR, Brian Behlendorf, etc.
Key projects: Linux, Apache, MySQL, Drupal, Eclipse, Mozilla Firefox

Open Source Projects
Finding existing projects
Starting a project
Community development and management
Project leadership, committers, and contributors
Release management
Development methods

Open Source Applications
Infrastructure: operating systems, middleware, database management, system monitoring
End-user Applications
Developer Tools

Legal issues
Contributor agreements

Development tools
Testing and quality assurance

Business Issues
Evaluating FLOSS
Business Models
Services: training, consulting, customization
Single vendor open source companies, e.g., SugarCRM, Jaspersoft

Research topics
Mining forges
Development processes