What is open source?

submit to reddit

What is open source?

The term "open source" refers to something that can be modified because its design is publicly accessible.

While it originated in the context of computer software development, today the term "open source" designates a set of values—what we call the open source way. In general, open source projects, products, or initiatives are those that embrace and celebrate open exchange, collaborative participation, rapid prototyping, transparency, meritocracy, and community development.

What is open source software?

Open source software is software whose source code is available for modification or enhancement by anyone.

"Source code" is the part of software that most computer users don't ever see; it's the code computer programmers can use to change how a piece of software works. Programmers who have access to a computer program's source code can improve that program by adding features to it or fixing parts that don't always work correctly.

What's the difference between open source software and other types of software?

Some software has source code that cannot be modified by anyone but the person, team, or organization who created it and maintains exclusive control over it. This kind of software is frequently called "proprietary software" or "closed source" software, because its source code is the property of its original authors, who are the only ones legally allowed to copy or modify it. Microsoft Word and Adobe Photoshop are examples of proprietary software. In order to use proprietary software, computer users must agree (usually by signing a license displayed the first time they run this software) that they will not do anything with the software that the software's authors have not expressly permitted.

Open source software is different. Its authors make its source code available to others who would like to view that code, copy it, learn from it, alter it, or share it. LibreOffice and the GNU Image Manipulation Program are examples of open source software. As they do with proprietary software, users must accept the terms of a license when they use open source software—but the legal terms of open source licenses differ dramatically from those of proprietary licenses. Open source software licenses promote collaboration and sharing because they allow others to make modifications to source code and incorporate that code into their own projects. Some open source licenses ensure that anyone who alters and then shares a program with others must also share that program's source code without charging a licensing fee for it. In other words, computer programmers can access, view, and modify open source software whenever they like—as long as they let others do the same when they share their work. In fact, they could be violating the terms of some open source licenses if they don’t do this.

Open source software is also a key component of the behind-the-scenes technology that powers the Internet. Every time you use a device to view a webpage, check your email, chat with a friend, or play a multiplayer game, a network of computers around the world works to link your device to a remote computer which serves up the data your local device displays. Many of these systems run open source software, from the Linux operating system to a web server application such as Apache. There are also a variety of other open source tools which enable functionality for file storage, networking, and other important computing tasks.

Much of remote computing takes place within the "cloud." Cloud computing can mean a lot of different things. Most people refer to the cloud to mean applications running on a network of remote systems doing some of the things that they used to do on their local desktop machine. Just like desktop programs, cloud products have open and closed source variants. For example, while many people are familiar with tools like Google Docs, there are also open source alternatives like Etherpad. And much of the software which runs "underneath" the cloud projects like OpenStack.

So as the Open Source Initiative explains, "open source doesn't just mean access to the source code." It means that anyone should be able to modify the source code to suit his or her needs, and cannot prevent others from doing the same. The Initiative's definition of "open source" contains several other important provisions.

Why do people prefer using open source software?

Many people prefer open source software because they have more control over that kind of software. They can examine the code to make sure it's not doing anything they don't want it to do, and they can change parts of it they don't like. Users who aren’t programmers also benefit from open source software, because they can use this software for any purpose they wish—not merely the way someone else thinks they should.

Others like open source software because it helps them become better programmers. They can learn to make better software by studying the source code others have written. They can also share their work with others, inviting comment and critique.

Some people prefer open source software because they consider it more secure and stable than proprietary software. Because anyone can view and modify open source software, someone might spot and correct errors or omissions that a program's original authors might have missed. And because so many programmers can work on a piece of open source software without asking for permission from original authors, open source software is generally fixed, updated, and upgraded quickly.

Many users prefer open source software to proprietary software for important, long-term projects. Because the source code for open source software is distributed publicly, users that rely on software for critical tasks can be sure their tools won’t disappear or fall into disrepair if their original creators stop working on them.

Doesn’t "open source" just mean something is free of charge?

No. This is a common misconception about what "open source" implies. Programmers can charge money for the open source software they create or to which they contribute. But because most open source licenses require them to release their source code when they sell software to others, many open source software programmers find it more lucrative to charge users for software services and support rather than for the software itself. This way, their software remains free of charge and they make money helping others install, use, and troubleshoot it.

What is open source "beyond software"?

At opensource.com, we like to say that we're interested in the ways open source can be applied to the world beyond software. We like to think of open source as not only a way to develop and license computer software, but also an attitude. Approaching all aspects of life "the open source way" means expressing a willingness to share, collaborating with others in ways that are transparent (so that others can watch and join too), embracing failure as a means of improving, and expecting—even encouraging—everyone else to do the same.

It means committing to playing an active role in improving the world, which is possible only when everyone has access to the way that world is designed. The world is full of "source code"—blueprints, recipes, rules—that guide and shape the way we think and act in it. We believe this underlying code (whatever its form) should be open, accessible, and shared—so many people can have a hand in altering it for the better.

Here, we tell stories about what happens when open source values are applied to business, education, government, health, law, and any other area of life. We're a community committed to telling others how the open source way is the best way—because a love of open source is just like anything else: it's better when it's shared.

Where can I learn more about open source?

We recommend visiting the Opensource.com resources page.