This article aims to explain why you should know about open source software benefits software and its important role within the IT industry.
Photo by Vlado Paunovic
What is open source?
If you are involved in the IT business, you may have heard of “open source”: software whose source code is publicly visible and free, allowing developers — and users — to see how it is designed at a technical level, how it works, and also to make modifications and improvements.
Open source software (OSS) plays an essential role in the software development process. In situations where intricate challenges arise during project execution, it is highly likely that other individuals have encountered similar problems in the past, and there is, probably, a publicly accessible solution that can be used and be integrated in the project, thus saving the efforts of devising a solution yourself. However, software engineers have to wisely ensure that the solution is worth their confidence: they must know how to identify a successful (good) open source project: mature software sustained by a robust community and with a quality and technical achievements comparable — or even better — than proprietary (closed source) counterparts, with the advantage of being free to use (and with free support).
Countless OSS is being used within all kinds of projects at tech organizations as a direct dependency for their functioning; ranging from database management systems, to complex and secure web authentication mechanisms, including comprehensive operating systems that nowadays sustain countless services for day-to-day operations at tech companies (with Linux* and Android being familiar examples). In fact, “97% of applications leverage open source code” [1].
Should my organization have its own open source projects?
Typically, OSS projects are developed by a decentralized community of qualified and organized individuals that work on it by intrinsic motivations (altruism, self-fulfillment), but as these projects grow and gather attention, they begin to be complemented with financial support by entities such as fundations, thus bringing extrinsic motivations in developers (monetary incentives). Some benefits of successful OSS over proprietary software are:
Transparency and security: potential security issues are most likely to be found, as the source code is publicly visible and seen by potentially much more eyes than it would within your organization.
Longevity: a decentralized development community is more likely to provide a longer lifespan for the project than just having one vendor (your organization). This includes protection against obsolescence.
Prominent tech firms, such as Google and Microsoft, indeed invest in developing their own OSS projects (or making some of their projects open-source), in order to leverage from these benefits, plus the improvement of the organization’s “ability to recruit developers to leveraging software that is more secure and supported from developers around the world” [1].
However, it is important to acknowledge that not all open source solutions can be used in your own projects in any context: some OSS initiatives impose a licensing constraint (called copyleft), which mandates that their utilization within your project is contingent upon making your project also open source and publicly visible. Consequently, if a project is open source, it can seamlessly incorporate OSS dependencies without the burden of copyleft concerns.
Further reading
The following article covers the remarkable case of one the open source projects sponsored by Microsoft, and one of the most successful projects of this kind: Visual Studio Code: How Microsoft’s ‘any OS, any programming language, any software’ plan is paying off. Visual Studio Code is, by far, the most used source code text editor worldwide [2].
References
[1] A. Wolf, “Why more companies are investing in open source program offices,” The GitHub Blog, Nov. 09, 2022. https://github.blog/2022-11-09-why-companies-are-starting-ospos/.
[2] Stack Overflow, “Stack Overflow Developer Survey 2023,”, 2023. https://survey.stackoverflow.co/2023/
[3] D. Margan and S. Candrlic, “The success of open source software: A review,” 2015 38th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), May 2015, doi: https://doi.org/10.1109/mipro.2015.7160503.
* To be precise, Linux is a kernel, which is the core component of an operating system. Linux has had a huge impact in the industry and it is the base of numerous successful operating systems, such as Android itself. ** Visual Studio Code is actually an IDE, which, while having a text editor for source code, comprises much more sophisticated features and integrations for software development.
Opmerkingen