What is the open source development model and what are the characteristics of open source contributors?

What is the open source development model?

The process used by an open source community to develop an OSS project is called open source development model [6]. First, it starts with an idea for a new project, a new feature, or a capability to an existing open source project. Then, volunteering developers develop the proposed feature and create a merge request. Someone with more experience from the community (usually maintainers or reviewers) will review the code change and decide if it should be merged into the main version of the code or not. Reviewers/maintainers may also ask for changes. When the software has the proposed features for a release (normally decided within the community), the current version will be released as a development release, even though it may contain known and unknown bugs. This software will then be tested by the community who discuss the software through mailing lists or other discussion channels (e.g. Slack) and provide feedback, create bug reports, or submit fixes to the encountered bugs. The feedback is recorded and taken into consideration by project members and maintainers to improve the implementation and then a new development release will be available. This cycle happens as many times as needed until project members feel that the implementation is stable enough. When the implementation is released as stable, the development cycle continues with the development release (also called development tree) until a newer stable release is available. The software is released under an open source license so that anyone can view, modify, and distribute the source code.

5 differences between open source and closed source software

You might be wondering about the differences between open source and closed source software. We present below the top 5 differences [3].

  1. Price: open source is available for zero licensing and usage charges while closed source costs depend on the scale of the software.
  2. Freedom to customize: open source is completely customizable depending on the open source license. In closed source, however, the user needs to request changes to the company selling the software.
  3. Support: popular open source software (such as Red Hat) has a lot of support. Other than that, users can find help on user forums and mailing lists. In closed source, there is usually a dedicated support team and the support depends on the service-level agreement (SLA).
  4. Security: open source software has an entire community reviewing the code, which makes bugs hard to survive. In closed source, the software distributor is responsible for fixing bugs if they are found.
  5. Vendor lock-in: there is no vendor lock-in in open source. In closed source, however, large investments are made in proprietary software, and changing to a different vendor can cost a lot of money.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Isabella Ferreira

Isabella Ferreira

I'm a PhD Candidate in Computer Engineering at PolyMTL. I'm passionated about Free/Libre and Open Source Software (FLOSS) development.