Open source software Flashcards
Issues with open source
unrealistic expectations about the benefits of open source
- too few active developers
- open code needs to be understandable by strangers
- needs a development site and communication tools
Barriers to entry for new devs
Falacy that little or no PM is required for open source
Onion model of OS community structure
passive user active user peripheral dev active dev committers core team
onion model core team
consists of one or two developers who make decisions about the software direction and contributions to the code base
onion model committers
commit rights that allow admission of the code into the main code base
onion model active developers
regularly contribute to code repo
onion model peripheral developer
submit code as patches meaning that their code does not enter the main code base until a review from the core team
onion model active user
contribute to the documentation, localization, supporting user in discussion forums or filing bug reports
passive users (onion model)
download and use software without connecting to the community
advantages of open source
speed of development and time saving
more people fixing bugs and security flaws
open standards and standard interfaces - enables use of different solutions
less likely to have a vendor lock
basic open-source project components
community of software developers
software license
tools for project hosting and communicating
governance model
goal of open source foundations
help devs establish open source projects - doubt this is examinable
what are open source software licenses
license protects contributers and users
outlines the terms of use
can limit liability
important to understand legalities
some examples of popular software licenses
Apache license
BSD 3 clause new
BSD 3 clause simplified
GNU general public
Example of open source governance models
do-ocracy Founder-leader self-appointing council or board electorial corporate-backed foundation backed
what a project needs
web site mailing lists real time chat version control bug tracking