What is Open Source?
In this lesson, you will learn the meaning of the term Open Source when referring to software, what the GPL software license provides, why WordPress is an open-source project, and how this is important for both the users of WordPress and the contributors to WordPress.
Prerequisite Skills
This is a general topic with no prerequisites.
Objectives
After completing this lesson, students will be able to:
- Describe and compare the concepts of open-source software, free software, and proprietary software.
- Define the purpose of the GPL license.
- Explain the benefits of open-source software for WordPress users.
- Identify the ways that individuals and organizations can contribute to the WordPress project.
Screening Questions
- Do you use software for personal or professional work?
- Do you understand that software products are licensed for use?
- Are you interested in learning about the WordPress project?
Teacher Notes
- Don’t assume that WordPress users have an understanding of software licensing.
- It is not necessary to promote open source as superior to proprietary software, better to focus on the demonstrable benefits of open source for the WordPress project.
- You may print or copy the Hands-On Walk-through section to use as handout.
Hands-on Walk-through
What is the definition of Open Source?
Open-source software is software whose source code is available for anyone to view, modify, and enhance. Source code refers to computer instructions that are written by software developers in a programming language to manipulate the way software works. Most proprietary software is distributed in the form of executable files, where the source code has been compiled such that it is encrypted for computer use, without the source code being available. If the source code were available without compiling and encrypting, then it would be possible to study and modify the program—that is what open-source software provides: the ability to read and modify the code behind the software.
What is the definition of Free Software?
Free software is not simply software for which there is no charge (although the term freeware is used generally to describe software without a cost). “Free software is software that gives you the user the freedom to share, study and modify it. We call this free software because the user is free,” according to the Free Software Foundation.
- The freedom to run the program as you wish, for any purpose (freedom 0).
- The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help your neighbor (freedom 2).
- The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
How does Open Source compare to Free Software?
Open-source software is characterized by the public accessibility of its code, while free software focuses on the capabilities for using and sharing the software. These terms overlap somewhat, but they are not interchangeable. The capabilities and conditions given to software users depends upon the particular software license involved, and there are variations on the licenses used for open source and free software. Some additional terms for describing these overlapping ideologies for software projects are:
- FOSS: Free [and] Open Source Software
- FLOSS Free / Libre [no cost] / Open Source Software
A (brief) history of Open Source
Freely shared software was distributed in the 1950s amongst computer scientists working in academia. However, as computing systems became more complex, as software development became more costly, and as markets for computing products expanded, by the 1960s computer companies often bundled hardware products with the software required to operate them and sold them together. In the 1980s with the expansion of personal computers and corporate networks and the ever-growing prices associated with proprietary software and vendor lock-in, movements emerged in reaction to the constraints of proprietary software. In 1984 the GNU Project was launched to create a computer operating system that would be free from constraints on use of its source code (compliant to the “four freedoms”), and the General Public License was created as an alternative software license for the GNU project.
- The Cathedral model, where code is developed between releases restricted to an exclusive group of software developers
- The Bazaar model, where code is developed over the Internet with public access, as with the Linux kernel project led by Linus Torvalds
A key takeaway from the book is the idea that “given enough eyeballs, all bugs are shallow,” which he termed Linus’s Law, since the public availability of the source code makes it possible for a wider group of contributors to detect and correct software problems. The term _open-source softwar_e was coined in 1998 when Netscape released the source code for its web browser (Navigator) in hopes of enhancing it by providing access to the code to more people so they could locate and fix bugs. This release garnered much attention for the open-source development process. Today, some of the world’s most popular applications are open-source software: Android, Mozilla Firefox, LibreOffice, Git and many more
Why choose Open Source?
As an end-user, developer, or business manager, why should one consider whether or not to use open-source software? Here are some key factors:
- There is typically little cost (some projects may add a small distribution fee)
- There is no contractual license, instead, the license outlines rules for sharing
- The software is customizable, and public forums and documentation support that
- There is no vendor lock-in for customization and bug fixes
- Abandoned software projects can be adopted by new development teams
- Open standards are typically employed, rather than proprietary standards
- Bugs and security issues can be quickly resolved with software patches
What is the GPL?
GPL stands short for (GNU) General Public License. It’s sometimes referred to as a copyleft license, in contrast to copyright, since it flips the terms of the copyright on the software.Rather than restrict distribution, the GPL copyright is used to specify the ownership of the source code and the terms upon which it may be shared. The GPL was created by Richard Stallman in 1989 and is the founding license for open-source software. Its goal is to protect four fundamental freedoms that are considered the underpinnings of free software. So, if a derivative work of GPL-licensed software is redistributed in the original or modified form, it needs to be licensed under the GPL, otherwise the licence to use the source program will terminate and it would breach the terms of usage. This makes it possible to fork an open-source software project into a new project, as long as the new project is under the same license. There have been three versions of the GPL license over time. The GPLv2 (or later) from the Free Software Foundation is the license that the WordPress software is under. You can learn more about the GNU GPL at:
How does Open Source apply to WordPress?
WordPress is open-source free software distributed under GPL license. WordPress began as a successor fork of the abandoned b2/cafelog software project, as Matt Mullenweg first pondered in a 2003 post “The Blogging Software Dilemma,” later that year posted “Whoa. WordPress.,” and then launched the original release on WordPress.org with the post “WordPress Now Available“. Since then it has grown to be the largest self-hosted blogging tool in the world, used on millions of sites and seen by tens of millions of people every day. The official About WordPress page says:
“Everything you see here, from the documentation to the code itself, was created by and for the community. WordPress is an open source project, which means there are hundreds of people all over the world working on it. (More than most commercial platforms.) It also means you are free to use it for anything from your recipe site to a Fortune 500 web site without paying anyone a license fee and a number of other important freedoms.”
In addition to the GPL applying to the open-source code of WordPress, all related software on WordPress.org in the Plugins Directory and the Themes Directory must be licensed under the GPL or a compatible license, as they are considered to be derivatives of the software. According to the Software Freedom Law Center:
“They are derivative of WordPress because every part of them is determined by the content of the WordPress functions they call. As works of authorship, they are designed only to be combined with WordPress into a larger work.” [“Themes are GPL, too“]
While WordPress plugins and themes must comply with the GPL license, they may still offer premium versions for a fee, although those cannot be sold through the WordPress.org directories. This might seem confusing at first, but it opens a broader freedom for users to choose how to customize WordPress software, and it allows for a third-party commercial marketplace to collaborate and combine free software with paid services.
How can one contribute to WordPress?
WordPress is maintained and advanced by a global community of volunteer contributors—some are employed by the WordPress sponsor company Automattic, some work for other companies that specialize in WordPress, and many more are independent users who use WordPress for any reason whatsoever. It’s not necessary to be a software developer who contributes code to the WordPress software, though that is an important role. There are many other ways any person can contribute to the project by assisting in support forums, writing documentation, making language translations, and helping with Meetups or WordCamps. Visit make.wordpress.org to learn more about the various teams working on WordPress and how to get involved.
Quiz
Free and open-source software can be best described as:
- Freeware
- Free as in beer
- Free as in speech
- Pirate software
Answer: 3. Free as in speech
Which of the following best describes the nature of open-source software?
- Resources are crowdsourced via the web and social media.
- The source code is available for anyone to view, modify, and improve.
- A programmer can open the compiled binary software for source code.
- The software is available at many online and in-store sources.
Answer: 2. Source code is available for anyone to view, modify and improve
Which of the following is NOT one of the four freedoms?
- Study the source code
- Redistribute the software
- Run the software for any purpose
- Sell the software any way possible
Answer: 4. Sell the software any way possible
What is the Bazaar model for software development?
- Anyone may take any approach for coding.
- Sellers and users may bargain software prices.
- Pirated software can be sold without consequence.
- Development is with public access over the Internet.
Answer: 4. Development is with public access over the Internet.
Which statement best describes WordPress?
- WordPress was originally forked under the GPL.
- WordPress is freeware that runs the World Wide Web.
- WordPress is free since it’s just a simple blogging system.
- WordPress is not copyrighted in any manner whatsoever.
Answer: 1. WordPress was originally forked under the GPL.
Additional Resources
- To understand more about open source software, check out GNU’s Philosophy.
- The WordPress Codex GPL section and Understanding the GPL licensing of WordPress are useful resources to learn about how the GPL relates to WordPress.
- See the WordPress Contributing to WordPress and Get involved pages to learn more about getting involved with the community of contributors.
Example Lesson
What is the definition of Open Source?
Open-source software is software whose source code is available for anyone to view, modify, and enhance. Source code refers to computer instructions that are written by software developers in a programming language to manipulate the way software works. Most proprietary software is distributed in the form of executable files, where the source code has been compiled such that it is encrypted for computer use, without the source code being available. If the source code were available without compiling and encrypting, then it would be possible to study and modify the program—that is what open-source software provides: the ability to read and modify the code behind the software.
What is the definition of Free Software?
Free software is not simply software for which there is no charge (although the term freeware is used generally to describe software without a cost). “Free software is software that gives you the user the freedom to share, study and modify it. We call this free software because the user is free,” according to the Free Software Foundation.
“Free software is a matter of liberty, not price. To understand the concept, you should think of free as in free speech, not as in free beer.” —Richard Stallman
Free software refers to software that complies to “four essential freedoms” – to use, study, modify and distribute software for any purpose without legal restraint. A program is free software if the program’s users have these four essential freedoms, according to Richard Stallman, a founder of the movement:
- The freedom to run the program as you wish, for any purpose (freedom 0).
- The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help your neighbor (freedom 2).
- The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
How does Open Source compare to Free Software?
Open-source software is characterized by the public accessibility of its code, while free software focuses on the capabilities for using and sharing the software. These terms overlap somewhat, but they are not interchangeable. The capabilities and conditions given to software users depends upon the particular software license involved, and there are variations on the licenses used for open source and free software. Some additional terms for describing these overlapping ideologies for software projects are:
- FOSS: Free [and] Open Source Software
- FLOSS Free / Libre [no cost] / Open Source Software
A (brief) history of Open Source
Freely shared software was distributed in the 1950s amongst computer scientists working in academia. However, as computing systems became more complex, as software development became more costly, and as markets for computing products expanded, by the 1960s computer companies often bundled hardware products with the software required to operate them and sold them together. In the 1980s with the expansion of personal computers and corporate networks and the ever-growing prices associated with proprietary software and vendor lock-in, movements emerged in reaction to the constraints of proprietary software. In 1984 the GNU Project was launched to create a computer operating system that would be free from constraints on use of its source code (compliant to the “four freedoms”), and the General Public License was created as an alternative software license for the GNU project.
GNU is a recursive acronym that stands for: GNU’s not UNIX
The governing principles for open-source development were outlined by Eric Raymond in his book 1999 The Cathedral and the Bazaar (that extended his 1997 essay of the same title) that compared two models for software development:
- The Cathedral model, where code is developed between releases restricted to an exclusive group of software developers
- The Bazaar model, where code is developed over the Internet with public access, as with the Linux kernel project led by Linus Torvalds
A key takeaway from the book is the idea that “given enough eyeballs, all bugs are shallow,” which he termed Linus’s Law, since the public availability of the source code makes it possible for a wider group of contributors to detect and correct software problems. The term _open-source softwar_e was coined in 1998 when Netscape released the source code for its web browser (Navigator) in hopes of enhancing it by providing access to the code to more people so they could locate and fix bugs. This release garnered much attention for the open-source development process. Today, some of the world’s most popular applications are open-source software: Android, Mozilla Firefox, LibreOffice, Git and many more
Why choose Open Source?
As an end user, developer, or business manager, why should one consider whether or not to use open-source software. Here are some key factors:
- There is typically little cost (some projects may add a small distribution fee)
- There is no contractual license, instead the license outlines rules for sharing
- The software is customizable, and public forums and documentation support that
- There is no vendor lock-in for customization and bug fixes
- Abandoned software projects can be adopted by new development teams
- Open standards are typically employed, rather than proprietary standards
- Bugs and security issues can be quickly resolved with software patches
What is the GPL?
GPL stands short for (GNU) General Public License. It’s sometimes referred to as a copyleft license, in contrast to copyright, since it flips the terms of the copyright on the software.Rather than restrict distribution, the GPL copyright is used to specify the ownership of the source code and the terms upon which it may be shared. The GPL was created by Richard Stallman in 1989 and is the founding license for open-source software. Its goal is to protect four fundamental freedoms that are considered the underpinnings of free software. So, if a derivative work of GPL-licensed software is redistributed in the original or modified form, it needs to be licensed under the GPL, otherwise the license to use the source program will terminate and it would breach the terms of usage. This makes it possible to fork an open-source software project into a new project, as long as the new project is under the same license. There have been three versions of the GPL license over time. The GPLv2 (or later) from the Free Software Foundation is the license that the WordPress software is under. You can learn more about the GNU GPL at:
How does Open Source apply to WordPress?
WordPress is open-source free software distributed under GPL license. WordPress began as a successor fork of the abandoned b2/cafelog software project, as Matt Mullenweg first pondered in a 2003 post “The Blogging Software Dilemma,” later that year posted “Whoa. WordPress.,” and then launched the original release on WordPress.org with the post “WordPress Now Available. Since then it has grown to be the largest self-hosted blogging tool in the world, used on millions of sites and seen by tens of millions of people every day. The official About WordPress page says:
“Everything you see here, from the documentation to the code itself, was created by and for the community. WordPress is an open source project, which means there are hundreds of people all over the world working on it. (More than most commercial platforms.) It also means you are free to use it for anything from your recipe site to a Fortune 500 web site without paying anyone a license fee and a number of other important freedoms.”
In addition to the GPL applying to the open-source code of WordPress, all related software on WordPress.org in the Plugins Directory and the Themes Directory must be licensed under the GPL or a compatible license, as they are considered to be derivatives of the software. According to the Software Freedom Law Center:
“They are derivative of WordPress because every part of them is determined by the content of the WordPress functions they call. As works of authorship, they are designed only to be combined with WordPress into a larger work.” [“Themes are GPL, too“]
While WordPress plugins and themes must comply with the GPL license, they may still offer premium versions for a fee, although those cannot be sold through the WordPress.org directories. This might seem confusing at first, but it opens a broader freedom for users to choose how to customize WordPress software, and it allows for a third-party commercial marketplace to collaborate and combine free software with paid services.
How can one contribute to WordPress?
WordPress is maintained and advanced by a global community of volunteer contributors—some are employed by the WordPress sponsor company Automattic, some work for other companies that specialize in WordPress, and many more are independent users who use WordPress for any reason whatsoever. It’s not necessary to be a software developer who contributes code to the WordPress software, though that is an important role. There are many other ways any person can contribute to the project by assisting in support forums, writing documentation, making language translations, and helping with Meetups or WordCamps. Visit make.wordpress.org to learn more about the various teams working on WordPress and how to get involved.
Lesson Wrap Up
Follow with the Exercises and Assessment outlined above.