Safekipedia

Open-source software

Adapted from Wikipedia · Discoverer experience

People participating in a game development workshop in 2015, working together to create games.

Open-source software is a type of computer software that anyone can use, study, change, and share with others. The person who owns the copyright gives permission for people to do these things through a special license. This means you can look at how the software works, make it better, or even share your changes with everyone.

People can work together to build open-source software in a public way. Anyone with the skills can join in and help, which makes it very strong and trusted because others can see and check the source code.

Using open-source software can save companies a lot of money. In 2024, it was estimated that open-source software helps businesses worth about $8.8 trillion. Without it, companies would need to spend much more to create their own software.

If you know how to use a computer well, you can use open-source code to fix problems that matter to you. You can even share your changes with others, which helps everyone.

Definitions

The Open Source Initiative has a standard way to decide if a software license is open source. They use The Open Source Definition, which was created using ideas from the Debian Free Software Guidelines.

Open-source software lets anyone use, change, and share the software easily. This helps the software improve quickly because many people can work on it together.

Some people talk about "free software" and "open-source software" as if they are the same, but not everyone agrees. Richard Stallman thinks they are different and worries that using the term "open source" might forget the important idea of keeping software free for everyone.

Open-source software development

See also: GitHub

Development model

In a 1997 essay, The Cathedral and the Bazaar, Eric S. Raymond described two ways to build software. The "cathedral" model is like building a big, careful structure all by yourself or with a small team. Everyone knows their job, and work happens in one place.

The "bazaar" model is very different. There are no fixed jobs — everyone can help in any way they want. People work together in many places, with many ideas. This open way helps software grow faster and better.

In the bazaar model, users are treated like helpers. They can see and change the software’s code, suggest new ideas, find problems, and even fix them. Sharing the code helps everyone spot and fix mistakes. Releasing the first version early helps find more helpers. Changing the code often keeps problems small. Having different versions lets some users try new features while others use a stable version. Breaking the software into smaller parts makes it easier to work on. Decisions can change based on what users need.

Open-source development starts when developers decide what new features to add or which problems to fix. They talk to the community through bug reports, mailing lists, and project pages. Then they pick a task, find a solution, and start coding. Others test and give feedback. After the leaders and community agree, the software can be released. Only important fixes are made after that.

Advantages

Open-source software can help standards become more popular and last longer. Developers often feel more involved and proud of their work. It can save money on marketing and services. Companies can use it to show they care about good software.

Open-source development can lead to faster innovation and create value for society. For example, when France encouraged the use of open-source software, it led to more contributions, more tech startups, and more jobs in IT.

Open-source software can be very reliable because many people test and fix it. It doesn’t depend on one company — even if that company stops, the software keeps going. It’s flexible, allowing programmers to add new features or change how it looks. Different ideas and goals lead to creative solutions. Free software can focus on what works best, without worrying about selling it.

Development tools

Tools help manage open-source projects. Version control systems like CVS, Subversion, and Git keep track of changes to the code. Git is very popular. These tools are often hosted on sites like GitHub or Gitlab.

Projects use tools to track problems and organize work, like Bugzilla and Redmine. Mailing lists and chat tools let developers talk and share ideas. Websites, wikis, and newsgroups share information with everyone.

Opportunities for participation

Open-source software allows everyone to help, no matter their skills. People can lead projects, guide others, or start small and learn as they go. You can help by writing code, designing how the software looks, testing it, or even just writing instructions for others. There are many ways to get involved, even if you don’t know how to code. You can translate the software into different languages, help manage events, or spread the word about the project.

Big companies and industries also use open-source software because it helps them work better and save money. Organizations all around the world support open-source software. These groups teach people about technology and help grow the open-source community.

Legal and economic issues

Licensing

Main article: Open-source license

Further information: Free-software license

See also: Free and open-source software § Licensing, and Software license

Open-source software uses special rules called licenses that let people use, change, and share the software freely. There are two main types of these rules: permissive licenses and copyleft licenses. Permissive licenses, like the BSD, MIT, and Apache licenses, let people use the software in many ways without needing to share their changes. Copyleft licenses, like the GNU family, MPL, and EPL licenses, require that any changes made to the software also be shared openly.

Legal issues

Participants in the Free Knowledge Game Jam 2015, an open source and open data oriented game jam

There are many questions about how laws apply to software, especially open-source software. Some places think software should be protected like books, while others have different ideas. For example, some countries say that software does not include how it works or the language used to write it. This can make it easier to use open-source software. The United States has been a big supporter of open-source software, but there are also concerns about who owns the ideas in these programs.

Economic/business implications

In open-source software, people work together to build and improve software that everyone can use. This means that the software can become more useful as more people help with it. Companies and individuals support open-source projects for many reasons, not just money. They might do it to gain respect from others or because they believe in sharing technology.

Even though open-source software doesn’t fit neatly into traditional economic ideas, it works because people invest their time and skills. Many big tech companies now use open-source software, but there are concerns that they might not always give back to the community that created it.

Government uses

Many governments see the value in using open-source software because it can save money and offer flexibility. For example, the UK government has policies that support open-source solutions. However, governments also worry about security. They need to make sure that the software they use is safe and comes from trusted sources.

Countries like the United States focus on national security when deciding how to use open-source software, especially with concerns about other countries’ technology. For instance, after Huawei could not use Google's Android system in 2019, they created their own operating system called Harmony OS. Some countries, like Germany, have even created funds to support the software they rely on.

Open software movement

History

Further information: History of free and open-source software

In the early days of computers, especially in the 1950s and 1960s, programmers often shared their software to learn from each other and improve technology. Early systems like Unix even let users see and change the source code, which helped people work together. But as commercial software grew in the 1970s and 1980s, this open sharing decreased because companies wanted to keep their software private.

The open-source movement began thanks to enthusiastic programmers, sometimes called hackers or part of hacker culture. One key figure was Richard Stallman, who started the free software movement. In 1984, he left MIT to create a free operating system called GNU because he was upset that proprietary software stopped people from sharing and improving code. GNU worked similarly to UNIX, so other programmers could easily use it. Stallman also created the GNU General Public License to make sure his work could be used freely but under certain rules.

In 1991, GNU was combined with the Linux kernel created by Linus Torvalds, forming what we now call Linux. Many other free software projects also existed during this time, each with their own ideas about what “free software” meant.

Later, the term “open source” was suggested in 1998 by Christine Peterson to make the idea more appealing to businesses. This led to the creation of the Open Source Initiative, which defined what open source software should be. Some people, like Stallman, still prefer the term “free software” because it emphasizes freedom, but many companies now use and support open source.

Future

The future of open source is both successful and full of questions. Popular systems like Android and Ubuntu show how far open source has come. However, some worry that big companies change open source in ways that don’t always match its original spirit.

More and more businesses use open source—78% of companies now rely on it for some of their work. Even Microsoft, which once opposed open source, now uses it in its products. As open source becomes more common, the community must decide what it means for the future and how to protect its values.

Comparisons with other software licensing/development models

Closed source / proprietary software

Main article: Comparison of open-source and closed-source software

Open source software is different from proprietary software because it is available to everyone, and you do not have to pay for it. With open source, you can change and share the software as long as you follow the rules of the license. Proprietary software wants you to stick with just their products, which can limit your choices and cost more money.

With proprietary software, only the company that makes it can fix problems, and if you want to use it on a new device, you might have to buy it again. The company can stop making the software anytime, and you cannot change it yourself. This can be risky for businesses because they cannot adjust the software to fit their needs and might not know what hidden problems it has.

Free software

Main article: Alternative terms for free software

See also: Comparison of free and open-source software licenses

Open source software allows anyone to see and change the code, with very few rules. This helps the software improve quickly. Some people prefer the term "free software" because it emphasizes freedom to use and change the software, not just sharing it.

Source-available software

Main article: Source-available software

Sometimes software comes with its source code, which means you can see how it works. But just having the code does not always mean you can change or share it freely. To be true open source, the software must allow changes and sharing under certain rules.

Open-sourcing

Many big companies, like Google, Microsoft, and Apple, have started sharing some of their software with everyone. This can bring in new ideas and help solve problems, but it also takes work to welcome new people and keep the project going.

Other

Other types of software, like shareware or freeware, might seem similar to open source, but they usually do not let you see or change the code, or they have different rules about how you can use them.

Society and culture

Demographics

Even though people can work together from all over the world, most people who help create open-source software live in places like Silicon Valley. They often work together because of their jobs or social networks. Sometimes, code from people in certain countries is accepted more easily than code from other places. This can be because of language or cultural differences.

In 2021, the countries that helped create the most open-source software were the United States, China, Germany, India, and the UK. Countries with the most helpers for every person included Iceland, Switzerland, Norway, Sweden, and Finland.

Motivations

People help create open-source software for many reasons. They can learn useful skills like writing code, tracking problems, and working with others. Even though most of these projects are done by volunteers, people can still build good reputations by doing good work.

Disparities

Even though programming used to be a job that many women did, there are still not many women in tech today. Women sometimes feel nervous about getting unwanted attention or not fitting in. Some men in tech think women can’t fit in, which makes women feel less confident. Women in open-source software projects often end up doing less technical work, like manual testing or documentation, even though they can do the same work as men. Some people in these projects treat women unfairly, which makes it hard for everyone to feel included.

Adoption and application

Open source software is created and looked after by a group of programmers, who are often volunteers. This kind of software is used in both free and paid products.

Some important open source projects include:

  • Unix: An early operating system made by AT&T in the 1960s. Though not open source by today’s standards, it had ideas that later shaped open source, like working with many people around the world and not liking private software.
  • BSD: A version of Unix started in 1978 that mixed in new code from Berkeley labs. It shared its best ideas publicly, which is a key part of open source today.
  • GNU: A free operating system started by Richard Stallman in 1984. Its goal was to make a better version of Unix that anyone could use and change freely.
  • Linux: An operating system part made by Linus Torvalds in 1991. It was inspired by a paid service called Minix but was free and could be changed by anyone.
  • Apache: A web server made in 1995 by a group of developers. It became very popular quickly and had its own way of sharing code.

The idea of open source isn’t just for software anymore. It’s now used in other areas like ecology, where technologies are shared so anyone can use them. These open ideas help many people work together on different projects, instead of just one company deciding everything.

Value

Most companies use open-source software to help build their own special software. Choosing to use or improve open-source software is usually a smart business choice. When companies make their own software, sometimes it competes with open-source software, and studies show different results about how this affects the price and quality of the company’s software.

For many years, some companies have built their business around helping other users with open-source software. Instead of charging for the software itself, they charge for extra help, improvements, and support. Products called Software as a service that use open-source parts are becoming more common. Scientists often like open-source software because it helps them share and check their results more easily.

Related articles

This article is a child-friendly adaptation of the Wikipedia article on Open-source software, available under CC BY-SA 4.0.

Images from Wikimedia Commons. Tap any image to view credits and license.