Because of the open nature of the source code, many credible organizations believe that OSS is at least comparable to proprietary software in the area of software security. And, security in nearly every type of software matters to some extent, often to a critical extent. A user of proprietary software must accept the level of security (as well as the lack thereof) that the software vendor is able and willing to provide, as well as the speed at which fixes and updates to the software are released. If the user is not willing to accept these limitations, they must simply choose a different vendor. Hence, some organizations such as the
US Department of Defense require that all software either have a warranty or be open source. So, open source matters for reasons of security.
Unfortunately, most people do not even read the legal terms and conditions for software packages before accepting them. A 2017 study entitled
You’re not alone, no one reads terms of service agreements found that over 90% of people do not read these statements before agreeing to them. Honestly, I am shocked that statistic is not even higher... So, everyone who does not read these is at the mercy of the developers, which might or might not be a safe choice. Open source should matter to those who do not read these license agreements because they and others can look at the source code.
Did you realize that open source software is so incredibly prevalent that you would be pretty hard-pressed to not be using it regularly? Android and Apple iOS very heavily dominate the global market share for cell phone operating systems. However, the
Android system has more than three times as many users as Apple’s iOS, and Android is open source.
Linux is a family of open source operating systems that powers the majority of the webpages on the Internet. Chrome is by far the most popular browser on the planet, and while it is not fully open source, it is built on top of a number of OSS projects, the details of which can be found by going to "chrome://credits" in the Chrome browser’s URL bar. Even Apple iOS, which as mentioned above is the second most popular operating systems for cell phones, includes a lot of OSS components which are listed in "Settings > General > Legal and Regulatory". We will learn a lot more about open source licensing in
Chapter 5. So, OSS matters to everyone who uses a cell phone or searches the Internet. In fact, these are just examples, virtually any piece of software that the reader is using will likely include OSS components, so OSS should matter to
you!
OSS might also matter to you if you are a student or a learner because it is real. You can see into not only the source code but also into the process of making code improvements. And if you choose to go out into the real world looking for a job as a software developer, you will have a tremendous advantage if you can prove that you have experience in real software projects — ugly, messy, confusing, gigantic, real software projects.
Without OSS, getting experience in real software projects requires access, and probably permission, to see the source code. For students, that access is usually limited to those who can get
internships or positions in
co-op programs. Not everyone has the opportunity to spend the summer interning with a company that does large-scale software development, meaning that too few students have the opportunity to work with large (proprietary/closed) code-bases. And even if they do, those students typically cannot show their work to anyone outside of the sponsoring company, and they sometimes cannot even discuss that work.
In the world of OSS, the source code is available to anyone who wants to see it. Not only is the source code available — also available are all of the interesting challenges that go with managing large software projects. In this book, we explore a number of these challenges and help you engage in them in direct and practical ways.