Skip to main content

Section 1.1 What is Open Source Software?

Open source software (OSS) which is also called Free and Open Source Software (FOSS) is source code made freely available for possible modification and/or redistribution, depending upon the specific licensing. Open source software is distributed under a license that grants users the freedom to run, study, modify, and share the software and its source code with anyone, for any purpose. Note that the "free" in FOSS is related to these freedoms of what one is permitted to do with the source code as opposed to being free of cost, which it might, or might not, be — more on this topic in the remainder of this chapter.
Open source software differs from closed source proprietary software where only the owners and those they appoint have access to the source code because the latter is closed-off to others. So, with closed source software, if you want to personally ascertain that a game or another piece of software that you want to download and install does not include code that will steal your data or take over your entire system, you are simply out of luck.
There are more rigorous definitions of OSS and FOSS, and there are many licenses that help to ensure various freedoms in subtly different ways. We examine many of these details later in Chapter 5. For now, we focus on this one simple idea: the freedom to view the source code is the essential element of open source software.
By the end of this chapter, you should:
  • Understand the difference between source code and binary code;
  • Be able to articulate advantages and disadvantages of open source software;
  • Understand some of the benefits of participating in open source projects;
  • Have an idea of some open source projects that might interest you, and why;
  • Have the beginning of your own open source portfolio.
This is, first and foremost, a textbook about how people create software collaboratively using a community development model, and about how you can become a member of one of those communities. When the source code is open to viewing, most people call the result of such work by the name open source software (OSS).
The following related terms relate to OSS that guarantees additional freedoms: Some people call free software or use both terms: free and open source software (FOSS). Some people throw in the word libre to clarify the intended meaning of free, and call it free/libre open source software (FLOSS).
There are valid reasons for the usage of these different terms in different contexts, but for the sake of breadth, we primarily use the terms open source or open source software (OSS) in this book. If you are interested in additional clarification or on the history of these related types of software and the evolution of the terms, see What is Free Software
by the open source GNU Operating System
The specific definition of the term as we will use it:

Definition 1.1.1.

Open source software (OSS) is software that is designed with code that is publicly accessible and openly viewed.
Open source software is typically developed in a collaborative way. It often relies upon peer review and community member contributions, frequently with community members from all over the world. In addition to seeing the code, often anyone can also freely modify and distribute the code as they see fit as long as the open source license is followed. We will explore licensing details in Chapter 5
Enough of the pep talk. It’s time to get started.

Checkpoint 1.1.2.

    What is the primary characteristic of Open Source Software (OSS)?
  • It is software developed for educational purposes.
  • Open Source Software is developed many purposes, not limited only to education.
  • It is available for free without licensing restrictions.
  • While it is true that many Open Source Software (OSS) projects are available for free, each typically comes with a specific license that grants users specific rights.
  • The source code is publicly accessible for viewing.
  • Correct! Open source software (OSS) is software that is designed with code that is publicly accessible and openly viewed.
  • It can only be used on open, non-commercial projects.
  • In fact, Open Source Software is often utilized for commercial projects, and many businesses leverage open-source software as a cost-effective solution to building their products.
You have attempted of activities on this page.