The Price of Open Source

Bala Madhusoodhanan - Mar 21 '23 - - Dev Community

What is Open Source Software Development?
Open source refers to software that is made freely available to the public, along with its source code (the instructions that tell a computer how to run the software). This means that anyone can access, use, modify, and distribute the software without paying for it or asking permission from the original creator. With anyone contributing to the development of open source software, it often evolves more quickly than proprietary (closed source) software.

Debunking the Myth of 'Free'
Understanding the risk and maintainability of open source project is key while considering for custom development. The thing that excites the developer community is the easy of access / acquisition of the open source projects. Things to keep in mind with open source projects are as below

  • Maintainability of software component as for commercial packages this would be managed on your behalf

  • Policy adherence to ensure that compliance of managing and usage of open source projects

  • Exposure appraisal to ensure that product team understand the risk when using the open source project and also having a close eye on the licensing term

  • Patching to keep the integrated code up to date and ensure that functionality, security, or performance are not compromised

Image description

Consideration:

  1. If building a software with multiple open source components, then effectively the legal should be having contract with the # of open source components.
  2. Copyleft Effect, forces you to distribute your whole product or service under the respective Open Source Software License (for example, see the GPLv3 License).
  3. License Incompatibilities, that force you to swap out conflicting Open Source Software components to avoid license violations.
  4. Security issues, that may come with Open Source Software.

Overall, open source is a powerful and important concept that helps to promote collaboration, innovation, and accessibility in the world of technology. By making software freely available and encouraging collaboration and contributions, open source helps to level the playing field and empower people around the world to use and build upon technology in new and exciting ways.

Further Reads:

  1. TLDR - One of the best quick guide to understand the Do's and Dont with different licensing terms.
    https://tldrlegal.com/

  2. Github - State of Open Source
    https://octoverse.github.com/?ref=hackernoon.com

  3. S/w Bill of Material report (SBoM)
    https://www.linuxfoundation.org/research/the-state-of-software-bill-of-materials-sbom-and-cybersecurity-readiness

  4. Log4J example : https://thenewstack.io/log4j-is-one-big-i-told-you-so-for-open-source-communities/

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .