ICS 121: Open Source Practices


What is Open Source Software?

OSS Concepts

Each open source project uses a software license that fits the OSI rules. There are many OS licenses that are slightly different. The biggest difference is between "viral" and "non-viral" licenses.
  • E.g., GPL is viral: when software under the GPL license is combined with other software, the entire result must also be under GPL.
  • E.g., BSD is non-viral: when software under the BSD license is combined with other software, that other software need not fall under BSD.
Project founder
A person or company that starts an open source project and usually tries to attract contributions from volunteers.
Project member / Committer
A person who is trusted to make changes to the OSS project's source code repository.
Users are welcome to explain their needs to help the OSS project gather better requirements. When users encounter defects, they are encouraged to contribute bug reports. If users want to fix or enhance the product, they are welcome to contribute that code back to the project. Of course, developers who are members of the project make the decisions as to what is done with these contributions.

OSS Key Practices

For more on OSS practices, and discussion of OS software engineering tools, see my book chapter on it.

Who Does What and When?

Some things to notice about OSS

sample use case templateexample test plan templateProject plan template