Developer Relations

What is Open Source?

2018-10-03
Developer Relations
en

The term “open sourceopen source” refers to something people can access and modify publicly because its design is publicly accessible.

The term originated in the context of software development, referring to a specific approach to creating software. However, today “open source” has broadened to refer to a set of concepts—what we call the “open source way”. These concepts include open source projects, products, or initiatives that embrace principles of open exchange, collaborative participation, rapid prototyping, transparency, meritocracy, and community-oriented development.

What is Open Source Software?

Open source software is software with source code that anyone can inspect, modify, and enhance.

Source codesource code” is the part of software that most computer users never see; it’s the code that programmers can manipulate to change how a piece of software—a “program” or “application”—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.

How is Open Source Software Different from Other Software?

Some software has source code that only the person, team, or organization who created it and maintains exclusive control over it can modify. People call this kind of software “proprietaryproprietary” or “closed sourceclosed source” software.

Only the original authors of proprietary software can legally copy, inspect, and alter that 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 its authors have not expressly permitted. Microsoft Office and Adobe Photoshop are examples of proprietary software.

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 GIMP are examples of open source software.

As 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 licenses affect the way people can use, study, modify, and distribute software. In general, open source licenses grant computer users permission to use open source software for any purpose they wish. Some open source licenses—what some people call “copyleftcopyleft” licenses—stipulate that anyone who releases a modified open source program must also release the source code for that program. Additionally, some other open source licenses stipulate that anyone who alters and shares a program with others must also share that program’s source code without charging a licensing fee for it.

Open source software licenses are designed to encourage collaboration and sharing because they permit others to make modifications to code and incorporate those changes into their own projects. Open source licenses encourage developers to access, view, and modify open source software at any time, provided that developers allow others to do the same when they share their work.

Is Open Source Software Only Important to Developers?

No. Open source technology and open source thinking benefit developers and non-developers alike.

Because early inventors built much of the internet itself on open source technologies—like the Linux operating system and the Apache Web Server application—anyone using the internet today benefits from open source software.

Every time computer users view webpages, check email, chat with friends, stream music online, or play multiplayer games, their computers, mobile devices, or gaming consoles connect to a global network of computers that routes and transmits their data to the “local” devices in front of them. The computers doing this important work are typically located far away, and users don’t physically see or touch them—so some people call these computers “remote computers.”

More and more people are relying on remote computers to perform tasks they might otherwise perform on their local devices. For example, people might use online word processing, email management, and image editing tools that they don’t install and run on their local computers. Instead, they simply access these programs through a web browser or mobile phone app. When they do this, they’re participating in “remote computing.”

Some people call remote computing “cloud computing,” because it involves activities (like storing files, sharing photos, or watching videos) that include not only local devices but also a global network of remote computers, like an atmosphere surrounding them.

Cloud computing is an increasingly important concept in everyday life for people with internet-connected devices. Some cloud computing applications, like Google Apps, are proprietary. Others, like OwnCloud and NextCloud, are open source.

Cloud computing applications run “on top” of additional software that helps them operate smoothly and efficiently, so people often say that software runs “underneath” cloud computing applications, acting as a “platform” for those applications. Cloud computing platforms can be open source or closed source. OpenStack is an example of an open source cloud computing platform.

Why Do People Prefer Open Source Software?

People prefer open source software over proprietary software for many reasons, including:

Control. 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.

Training. Others like open source software because it helps them become better developers. Because open source code is publicly accessible, students can easily learn to create better software as they study it. Students can also share their work with others, inviting comment and critique, as they develop their skills. When people discover errors in the source code of a program, they can share those errors with others to help them avoid making the same mistakes.

Security. 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 the original author might have missed. And because so many developers can work on a piece of open source software without asking permission from the original author, they can fix, update, and upgrade open source software more quickly than proprietary software.

Stability. Many users prefer open source software over proprietary software for important, long-term projects. Because developers publicly distribute the source code for open source software, users relying on that software for critical tasks can be sure that their tools won’t disappear or fall into disrepair if the original creators stop working on them. Additionally, open source software tends to both incorporate and operate according to open standards.

Doesn’t “Open Source” Just Mean Something is Free?

No. This is a common misconception about what “open source” implies, and the concept of “open source” isn’t just about money.

Open source software developers can charge money for the open source software they create or to which they contribute. But in some cases, because open source licenses might require them to release their source code when they sell software to others, some developers find that charging users money for software services and support (rather than for the software itself) is more lucrative. This way, their software remains free of charge, and they make money helping others install, use, and troubleshoot it.

While some open source software may be free, skills in programming and troubleshooting open source software can be quite valuable. Many employers specifically seek to hire developers with experience working on open source software.

What is Open Source “Beyond Software”?

At Opensource.com, we like to say that we’re interested in the ways open source values and principles apply to areas beyond software. We like to think of open source not just as a way to develop and license computer software, but also as an attitude.

Living the “open source way” in all aspects of life means expressing a willingness to share, collaborating with others in transparent ways (so others can watch and join), embracing failure as a means of improvement, and expecting (even encouraging) everyone to do the same.

It also means playing an active role in making the world a better place, which is only possible if everyone has access to the means of planning for that world.

The world is full of “source code”—blueprints, recipes, rules—that guide and shape our thinking and actions. We believe this underlying code (whatever its form) should be open, accessible, and shared—so many people can participate in it and make it better.

Here, we tell stories about the impact of open source values on all areas of life—science, education, government, industry, health, law, and organizational dynamics. We’re a community that tells others how the open source way is the best way because love for open source is like any other: it gets better when it’s shared.

Where can I get more information about open source?

We’ve compiled several resources to help you learn more about open source. We recommend you start by reading our open source questions and answers, guides, and tutorials.

Reprinted with permission: Developer Relations »


Similar Posts

Content icon
Content