Open source: Better solutions and a more inclusive society
Perhaps you’ve heard of it: open source. If you’re familiar with it, it’s likely you’re somehow into software development, where it’s used as a collaborative model. But it’s so much more than that! It can be used elsewhere too and you don’t even need to be a developer to contribute to open source. Are you ready to explore the global phenomenon called open source? Let’s go!
Table of contents
I'd like to contribute: Tell me how!
Open source or not?
Let’s start with a quick quiz: Which of these products are (partly) created with the help of open source technology?
Seat belt technology
Open source is everywhere!
Without being aware of it, you’re using open-source software every day.
For example, let’s say, you’re on your computer.
*Ping!* a new newsletter in your mailbox (Is it the Yoast newsletter? Yay!).
Look, there’s a link in the newsletter.
When you click it, the web page opens in your browser.
That browser happens to be Firefox, it’s open source and the second most popular browser in the world! (after Chrome, which heavily relies on Chromium, an open-source project too).
The web page you visit is most likely created on the open-source platform WordPress.
Did you know more than 35% of websites worldwide are built with this CMS?
It has PHP running, which is an open-source scripting language.
Oh, and by the way, did you know there’s a big change that the person who built this website, used Linux, an open-source operating system, very popular amongst developers?
Amazing isn’t it!
But, what is open source, really?
Open source is a term stemming from software development. It’s a collaborative model: Open source software is software that’s developed within a community. The source code of the software is open; everybody can access, use, alter and distribute the code. People are encouraged to participate and to improve the software.
As you’ve read above, the open source model is used in other areas than software development too; its principle is used in, for instance, car manufacturing, architecture, design or hardware.
Hi! In the previous lesson, we’ve discussed what WordPress is and what you can do with it. And, one of the things we talked about was that WordPress is open-source. But what does that mean? In this lesson, we’ll explore the definition of open source, and we’ll share why we at Yoast think open source is so very awesome.
Okay, so, what is open source? Open-source software is software that is developed within a community. Everybody can use, alter, and distribute the code of the software. People are encouraged to participate in and improve upon the software project. There are a lot of examples of open-source software. The Mozilla Firefox internet browser, that’s open source. And maybe you’ve heard about Linux? As we’ve already discussed, WordPress is an open-source CMS. And of course, all of the Yoast plugins are open source too. Being open-source is actually one of the core values of our company. But why do we love open source so much?
Well, we basically love open source for three reasons:
First of all, we believe that open source is the best way to get new innovations and new solutions to the problems we face. This comes down to: two heads are just better than one. The knowledge of two or more people combined will always exceed that of one person alone. We believe that if you work together on a solution, this will lead to better solutions.
The second reason why we love open source is because it helps avoid wasting talent and skills. Lots of people around the world are working on solving the same, or similar problems. That’s a waste of talent and skills. We shouldn’t have to reinvent the wheel over and over again. And with open-source, we share our knowledge about the invention of the wheel. We make other people benefit from our wheel. And we let other people improve upon that wheel.
The third reason why we love open source is because it’s inclusive. Open-source projects like WordPress invite everyone to participate. Really everyone. If you want to contribute to WordPress, you can. It doesn’t matter what you want to do, where you live, how much money you have, or what you look like. Everyone has their own talents, and your talents will be recognized in the open-source community. Whether you have programming skills, you love translating, you have superb organizational skills, or a great sense of community – everyone can contribute!
So, at Yoast, we really believe in open source. Just like WordPress, our source code is open, and other people actively contribute to making it better. And we contribute to other open-source projects, like WordPress Core. The developers at Yoast learn from each other, but they also learn from all the other developers who are active in the WordPress project.
Sparked your interest? In Module 8 of this course, which is optional, we’ll discuss more about the story behind WordPress. How did WordPress start? What’s the WordPress community like? And how can you contribute? We’ll tell you all about it! But first, we’ll dive into how you can use WordPress to create your own site!
Collaboration is key
In general, people like to reproduce and improve something that already exists, for example:
- You ask your aunt how she maintains her kitchen garden, you learn from that, search for extra information online and base your own kitchen garden upon all this knowledge and even manage to squeeze in some improvements.
- A student in university that writes his thesis based on literature written by other smart people (that probably based their literature off of research or maybe even other literature).
- But it can even be as simple as you improving the commonly known recipe for Stroopwafels, a delicious Dutch cookie.
The above are all examples of collaboration one way or another.
What’s so awesome about open source?
#1 Open Source is the way to new knowledge and solutions
Two heads are better than one: the knowledge of two or more people combined will always exceed that of one person alone. If people – especially people from different backgrounds – cooperate on a project, the project will benefit. Working together on a solution, simultaneously or not, will lead to better solutions. In short: we should stand on each other’s shoulders; we should take advantage of each other’s merits and talents. That’ll lead to true innovation.
#2 Open Source is not wasteful
Lots of developers around the world are working on solving the same, or similar, problems. That’s a waste of talent and skills. Why should every school have a different website? Sure, the design and content of those websites can be unique, but the backend and the functionality of these websites could be pretty much identical. We shouldn’t reinvent the wheel over and over again. If we’d do things the open source way, we’d share our knowledge about the invention of the wheel. Make other people benefit from our wheel. And, let other people improve upon that wheel.
#3 Open Source is an equalizer
Open source projects invite everybody to participate. Everybody. If you want to contribute to WordPress, you can do that. What company you work for doesn’t matter. It doesn’t matter where you live. It doesn’t matter how much money you have, or what you look like. Everybody has their expertise, and your talents will be recognized in the open source community. It’s a very inclusive concept. It offers chances to everybody, whether they have (some) programming skills, love translating, have superb organizational skills, or a great sense of community to get others involved. Everyone can contribute!
My wish: A call for open source architecture
Yoast, WordPress and open source
Why this shoutout for open source? At Yoast, it’s at the heart of what we do. We even dare to say that the existence and success of our company are partly due to the open-source model. We truly believe that with openness and joint efforts we can create better code, products, websites and perhaps even a better world.
At Yoast, we develop plugins for WordPress. WordPress is an open source content management system (CMS), a relatively easy platform to build websites with, even for beginners. It powers more than ⅓ of the internet. All our plugins are open source, as is our flagship plugin, Yoast SEO. We don’t just open up the source code, but we encourage other people to help us improve it as well. In return, team Yoast also contributes to the betterment of WordPress itself.
Making profits in open source
Now you might think, contributing to better solutions sounds great and all, but I need to make a living too. Wouldn’t it be better if I just focus on my business? Sell my ideas? If I invest all my time in open source projects, how does this help me?
Although counterintuitive for some, developing open-source software and making profits can go hand in hand. We would even dare to state that making profits in a company active in an open-source system enhances the development of that community. To grasp this idea, we’ll take a look at the Tragedy of the commons and the Nash equilibrium.
Thrive for the future
Tragedy of the commons
In 1833, William Forster Lloyd metaphorically described the depletion or even destruction of the common (pool) if certain people kept making individually rational economic decisions. Lloyd’s pamphlet was the base for the concept of the “Tragedy of the Commons“ which was first introduced by Garrett Hardin (1968). Hardin’s article has been influential in economics, but also among ecologists and environmental policy researchers. In 2009, Elinor Ostrom was awarded the Nobel Prize in Economics for demonstrating the concept in her book called Governing the Commons. More importantly for us, it is applicable to common-pool resources. And the open source community can be seen as such a common-pool resource. Let’s explain the Tragedy of the Commons:
Imagine a pasture. A green pasture. A pasture that is open to all herders in the neighborhood. Every herdsman or -woman can put sheep on the pasture. The sheep will grow and give wool, lambs and meat. All these benefits are for the herder himself. So each herder is motivated to add more animals. This will lead to overgrazing. The pasture will become less productive. Even when the number of animals exceeds the capacity of the pasture, each herder is still motivated to add more and more animals. Surely, the herder receives all of the proceeds for the animals and only a partial share of the cost of overgrazing. Eventually, this leads to the tragedy, the ruination of the pasture.
WordPress open source: a reversed tragedy of the commons?
The WordPress open source community is a common-pool resource. Let’s look at this community as a pasture. It is a platform in which people can participate and contribute and from which users can download software for free. Contributing by developing software and donating your knowledge to the open source community can be seen as taking care of our pasture. But what about the sheep in this example?
It seems as though in the WordPress community, developers take great care of their pasture, but hesitate to reap their benefits. It is like a reversed tragedy of the commons: there are many benefactors who bring fantastic ideas and products to the community, but who make virtually no money. So, we are pulling weeds, fixing fences and watering our pasture, while there aren’t any sheep grazing.
The Nash equilibrium
Scottish Economist and Philosopher, Adam Smith, stated in the 18th century that if every individual does what is best for him, the situation would be most optimal. But according to John Nash, an American mathematician who lived in the 20th century, the optimal result will come when individuals do what is best for them and for their group. This means that the optimal result will come by both taking good care of the pasture, as well as using it for your cattle.
Applying this to open source would mean that you should invest in open source software development as well as in individual gain (through the open source community). John Nash calculated an equilibrium. So, the optimal result will appear when harvesting your pasture and reaping the fruits from your cattle is in the right proportion. For a software company, this means: actively developing new open source software as well as profit from selling open source software.
Of course, an equilibrium is always vulnerable. Putting too much effort into developing free open source software would eventually result in the bankruptcy of a company. Putting too much effort into maximizing your own profit would result in damaging a reputation and by doing so in diminishing profits (and of course in less open source development).
Yoast and WordPress: Victory of the commons
Up until 2010, Joost, founder of Yoast, developed all kinds of functionality for the open source CMS WordPress. Entirely for free. Beautiful and useful of course, but from 2006 onwards he had a child to feed. So, Joost needed a full-time job in order to make a living. So, he could have chosen to focus solely on his professional career in 2006 and quit working for the WordPress community immediately.
But because Joost started making money from his WordPress work by developing and selling a Premium plugin, he was able to quit his full-time consultancy job. From that point on, he could spend much more time on the development of open source products, growing his business and even hire other people to contribute alongside him. That’s how Yoast grew to the company it is today!
We’d like to call this the victory of the commons: Making profits will allow Yoast to invest more in open source. Investing in open source will allow Yoast to make more profits. It truly is a win-win equilibrium!
How does Yoast give back?
So, how do we invest in our beloved open source project named WordPress? In short, we help organize and speak on WordCamps, we make core contributions (develop code for the WordPress system itself) and we reward others who contribute in one way or another to WordPress. Moreover, we promote the use of WordPress and offer a free online training for beginners to get started with building a website on this platform.
Core contributions to WordPress
Simply put, a WordPress website consists of the WordPress core and additional plugins. The core software is the foundation of your website. If you want to get more functionalities, for instance, a spam filter for comments, forms on your website, or extra possibilities for SEO, you can download extra pieces of software, so-called plugins. At Yoast, we develop plugins of course, but we also contribute to the core of WordPress. We help improve the accessibility of WordPress for everyone, or functionalities which are part of the basis of WordPress, for instance, the block editor. Our core contributions are part of the “Five for the Future” project.
Five for the Future
The initiative Five for the Future was launched back in 2014. It encourages organizations to contribute five percent of their resources to WordPress development. Because our plugins mainly focus on WordPress, Yoast has risen to the challenge and contributes 275 hours a week to developing the core of WordPress. Isn’t that awesome?
Yoast Care fund
Apart from contributing to WordPress ourselves, we like to stimulate others to contribute too! Whether that means you’re writing code for core, translating WordPress content or organizing WordCamps. We know lots of people do this in their spare time. Therefore, we decided to set up the Yoast Care fund. If you know someone who does an awesome job for WordPress, you can nominate this person to receive $500,- from our fund! This way, we’d like to give back to the community and reward the WordPress heroes who dedicate their valuable time to the software we all love and use daily.
Yoast contributions to WordPress in 2019 and 2020
|273||Hours per week spent on core contributions|
|43||Number of employees regularly contributing|
|17||Number of employees organizing/volunteering at WordCamps|
|32||Number of employees speaking on WordCamps|
|57||Number of WordCamps sponsored|
|$ 102,000||Money spent on sponsoring WordCamps|
|50||Number of receivers of the Yoast Care fund|
|$ 25,000||Money given to the Yoast Care fund|
You can contribute too!
Perhaps you’re thinking: this all sounds great, but I’m not a developer. Well, you really don’t have to be to make a meaningful contribution to WordPress, or other open source projects. WordPress, for instance, needs people with all kinds of skills: designers, event organizers, marketing folks, copywriters, translators and, yes, people who know how to code.
If you want to start contributing to WordPress, we’d advise taking a look at https://make.wordpress.org/. There, you can get an overview of the skills that this open source project needs, the types of tasks there are and ways to get involved.
Getting excited already? Take a plunge and visit a WordCamp near you! At a WordCamp, people working with and on WordPress unite, collaborate and exchange knowledge and skills. The event always includes a Contributor Day, purely focused on collaborating on WordPress. There, you can get started with some help, right away. You’ll be surprised how welcoming, helpful and open this community is!
A little scared, still? Then check out the interviews with these WordPress fanatics and find out why and how they got involved:
Joost de Valk
Reaching higher together: how we all benefit from open source »
The open source glossary
In short, A11Y means accessibility and is what is known as a numeronym. Unlike an acronym, numbers are used in place of letters to shorten the term. Accessibility (A11Y) is a measure of how accessible a computer system is to everyone, including those with disabilities or impairments.
In the case of open source, an author is someone who wrote (and with it contributed) a certain piece of software.
Branching is the duplication of an object (such as a source code file or directory tree) so that modifications can occur in parallel along multiple branches. Branches are also known as trees, streams or codelines. Branching also generally implies the ability to later merge changes back onto the parent branch.
A browser (a.k.a. web browser) is a software application for accessing information on the web. When a user requests a web page from a particular website, the browser retrieves the necessary content from a web server and displays the page on the screen.
A software bug is an error, flaw or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways.
CMS is short for content management system. This is a software application you can use to manage the creation and modification of digital content. To give an example: WordPress is a content management system.
A codebase is a collection of source code used to build a particular software system, component or application.
Code of conduct
A code of conduct is a set of rules outlining the norms, rules, and responsibilities or proper practices of an individual party or an organisation. In the case of open source there’s a code of conduct for contributors named the Contributor Covenant, which is used in prominent software projects.
A commit adds the latest changes to (part of) the source code to the repository, making these changes part of the head revision of the repository. These commits are kept in the repository indefinitely. Thus, when other users do an update (or checkout) from the repository, they will receive the latest committed version, unless they specify they wish to retrieve a previous version of the source code in the repository.
A community is a group of people that share a particular characteristic, attitude, belief or interest. People in a community can live in the same place (a country, village, town or neighbourhood), but can also come together in a virtual space through communication platforms.
To contribute means that someone gives something (their time, money, ideas or something else) in order to help achieve a goal or provide something together with others.
A contributor is someone who contributes to something. In the case of an open source contributor that someone contributes to the advancement of an open source project. Now of course this can mean contributing code, but someone can also contribute in other ways, such as working on branding or proper documentation.
Contributor day is an event where volunteers come together to contribute to WordPress, collaborate with new and existing contributors and learn about the different ways to get involved in the project.
In software engineering, a fork (or project fork) happens when a developer takes a copy of source code from a software package and starts independent development on it, creating a distinct and separate piece of software.
GitHub is a website that provides hosting for software development version control, and does so using Git. Git simplifies the process of working with other people and makes it easy to collaborate on projects.
A hackathon (also known as hack day, hackfest or codefest) is an event in which developers, designers, project managers, and other domain experts collaborate intensively on software projects to create functioning software or hardware by the end of the event.
In open source, a software maintainer or package maintainer is usually one or more people who build source code into a binary package for distribution, commit patches or organize code in a source repository.
Make WordPress is a group of WordPress enthusiasts who contribute to WordPress in different ways. Everyone who wants to contribute to making WordPress even better is welcome to join.
Open source software (OSS) is any computer software that’s distributed with its source code available for modifications. This means it usually includes a license for programmers to change the software in any way they choose, so they can improve it and publish their version back to the community.
While the question of who owns an open source project can be tricky if not made clear by licensing, there are many ways in which you can do that — MIT, Apache 2.0, and GPLv3 being the most popular open source licenses.
A patch is a small piece of software that includes a set of changes to a computer program to update, fix or improve it. It’s mainly used to fix bugs, such as vulnerabilities in security or improvements in usability.
The polyglots team is responsible for ensuring WordPress is available in dozens of languages and many more regions. It’s a big job, and they need help from native speakers of many languages to make it possible.
A pull request (PR) is a method of submitting contributions to an open development project. It occurs when a developer asks for changes committed to an external repository to be considered for inclusion in a project’s main repository after the peer review.
A README file contains information about other files in a directory or archive of software. It is usually a plain text file called READ.ME (or something similar) and they often contain instructions, additional help and details about patches or updates.
A software repository (or repo for short) refers to a central place where data is stored and maintained. A repository can be a place where multiple databases or files are located for distribution over a network, or it can be a location that is directly accessible to the user without having to travel across a network.
A server is a computer program or device that provides functionality for other programs or devices called “clients” — like a browser, for instance. They can provide functionalities such as sharing data or resources among multiple clients. A local server is one that runs an application on the same machine as the client application and is commonly not connected to any network. A website runs on a web server that’s connected to the internet.
Slack is a business communication platform that is widely used in the WordPress community. It’s designed to support online collaboration between people, through channels, direct messaging, sharing of files and lots of other possible add-ins.
Trac is a web-based software project management and bug or issue tracking system. It provides an integrated Wiki, an interface to version control systems, and a number of convenient ways to stay on top of events and changes within a project.
WordPress wants its users to be free to do what they want. But there are a few categories of content and behavior that they won’t permit because they consider them harmful to the community. That’s why they’ve put together a set of guidelines for users.
A WordCamp is an informal and community-organized event that is put together by WordPress users. WordCamps happen all over the world and bring together everyone involved with WordPress, from casual users to core developers.
WordPress is the most popular free and open source content management system worldwide. Thanks to its usability and variety of themes and plugins, WordPress is very user-friendly and is used by more than 60 million websites right now.