Technology

What is Open-Source Software? A Definition & History of OSS

Open-source software (OSS) sounds almost too good to be true.

The term is used to describe software and products that can be adapted and implemented for free, giving full access to the source code for anyone to use and modify.

This is in stark contrast to commercially developed software, where the source code is closely guarded and protected from prying eyes. Famous examples of OSS include Linux and Drupal, which are some of the biggest names in their respective fields.

(Drupal is a popular content management framework used by websites like eBay and Whitehouse.gov, while Linux is a popular alternative operating system.)

Here’s everything you need to know about OSS, from how the software is developed, to attitudes towards open-source software in the tech industry.

How the open-source model works

OSS is typically developed by teams of volunteers. This can be anyone from individual programmers to large companies, improving the software organically.

It normally begins with an idea for a new project, or an additional functionality or capability for an existing OSS component. The idea is quickly formed into a prototype, and the software is released as soon as it runs.

Despite the potential for bugs and poor compatibility, this early release is quickly improved by an online community who contact the development team to note any problems with the software. This development cycle continues until the latest release is stable, with further work taking place to improve the quality of the code in the long-term.

The open-source movement

The open-source movement began as a direct response to copyrighted technology and proprietary software which was beginning to become more commonplace during the late 1970’s and early 80’s; technology and software was typically incredibly expensive, locking many potential users out unless they coughed up the extra cash.

For software specifically, the mass collaborative GNU Project was started by MIT programmer Richard Stallman in 1983.

But Stallman was more interested in the concept of “free software” than “open source”, which led to cracks in the community by the late 1990’s.

Free vs open-source software

open source network

Stallman argues that “open-source” and “free software” mean entirely different things.

“When we call software “free,” we mean that it respects the users’ essential freedoms: the freedom to run it, to study and change it, and to redistribute copies with or without changes. This is a matter of freedom, not price, so think of “free speech,” not “free beer.”

He thinks of open-source as being the least ethical of the two, because “free software” is more concerned about notions of freedom, while open-source is focused on practicality instead of principles.

While both terms are used interchangeably, ‘free software’ advocates tend to have a problem with proprietary software, while the open-source movement is happy to co-exist with paid alternatives. It might not sound like a massive difference, but it leads to different end goals, and they also have different rules for classification.

Open-source software generally conforms to the Open Source Definition, while free software goes by the four freedoms. The point is, open-source software and free software might sound like they’re the same thing, but each group wants to make it clear that they’re separate entities.

The Open Source Definition

The Open-Source Definition is a list of criteria written by the Open Source Initiative that software must abide by in order to be called open-source, and get the certification mark.

They have ten rules:

  1. Free Redistribution – No parties are restricted from selling or giving away a component.
  2. Source Code – There must be an easy means of obtaining the source code.
  3. Derived Works – The license must allow modifications and derived works.
  4. Integrity of The Author’s Source Code – “The license must explicitly permit distribution of software built from modified source code.”
  5. No Discrimination Against Persons or Groups – Anyone should be able to use it.
  6. No Discrimination Against Fields of Endeavor – It can’t discriminate against any person or group making use of the software, no matter what they’re using it for.
  7. Distribution of License – The rights to the program apply to all “whom the program is redistributed without the need for execution of an additional license by those parties.”
  8. License Must Not Be Specific to a Product – The program rights can’t be specific to a “particular software distribution”.
  9. License Must Not Restrict Other Software – The license can’t place restrictions on other software, such as making other programs open-source if they’re built for commercial use.
  10. License Must Be Technology-Neutral – The license must allow for any individual technology or interface.

Open-source advocate Coraline Ada Ehmke also produced the Contributor Covenant in 2014; this works as a code of conduct for open-source projects, and it’s used by over 200,000 organisations, including Creative Commons and Google.

Examples of OSS

The open-source software development method has been used to create some of the most successful products and services that are available online. In fact, the internet itself was built thanks to the work of open-source developers.

For example, the majority of HTTPS websites use OpenSSL for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. (In other words, OpenSSL provides internet security and cryptography for many web servers.)

WordPress is an accessible platform used to power thousands of websites and blogs. It’s been used to create over 30% of all websites on the web, from TechCrunch to Unicef UK.

PHP is a popular scripting language that is ideal for web development. It’s used by 79% of all of the websites surveyed by W3Techs.

And Mozilla’s Firefox web browser is still going strong 16 years after its initial release. They controlled 32% of the market in 2009, and it’s still used by nearly 10% of internet users a decade later.

Advantages and disadvantages of OSS

open source bug

Advantages

  • Incremental changes see new features added regularly.
  • The peer-review system improves quality and functionality (as long as the team responds to feedback!)
  • It helps to level the playing field for smaller businesses and users, by saving them time and money.
  • The speed of the development cycle should lead to faster builds.
  • Security is arguably tighter than proprietary software, as any bugs are dealt with as soon as they’re found by members of the community.

Disadvantages

  • Functionality tends to be at the forefront of development, which can impact on the overall user experience.
  • You can also face compatibility issues if you don’t have specialised drivers needed to run the software.
  • Smaller projects can fail, due to a lack of user-generated feedback or the devs losing interest.
  • As the source code is freely available, hackers can potentially find vulnerabilities and leave backdoors for future exploits.

Attitudes to open-source software in the tech industry

Former Microsoft CEO Steve Ballmer expressed his distrust for the Linux OS on multiple occasions when he was at the helm of the tech giant in the early 2000’s, calling it a “cancer”. A few years later in 2005, Bill Gates said free software developers were “a new type of communist” when asked to comment on the possibility of sharing source codes and patents.

Gates’ philanthropy obviously didn’t extend to the software he sold at the time, although Microsoft eventually gave up on their efforts to sue Linux for patent infringement in 2018, and joined the Open Invention Network soon after.

But is OSS really a “cancer” made by communists? Of course not – Ballmer and Gates were most likely worried about losing out on potential market share and revenue. And they may have had a point, as the expensive set of MS Office tools were eventually replicated and given away for free by OpenOffice, releasing Windows users from the stranglehold of software licences.

Elon Musk tried a different tactic when he shared Tesla’s electric car patent portfolio openly in 2014, hoping to expand the market quickly in an effort to fight climate change. It’s the ideal example to show how sharing software can work for the common good. He shared his thoughts on the Tesla blog;

“We believe that Tesla, other companies making electric cars, and the world would all benefit from a common, rapidly-evolving technology platform.

Technology leadership is not defined by patents, which history has repeatedly shown to be small protection indeed against a determined competitor, but rather by the ability of a company to attract and motivate the world’s most talented engineers. We believe that applying the open source philosophy to our patents will strengthen rather than diminish Tesla’s position in this regard.”

It shows a different way of thinking, and one that could help the open-source movement to pick up steam in coming years.

Here’s a list of links to additional resources if you’d like to learn more about OSS.

Organisations

Books

Author

James is a journalism graduate/freelance writer from London, who specialises in sports and technology. He has a particular interest in tech for good, and in his spare time he enjoys playing video games.

Sign up to our newsletter

Subscribe for fortnightly guides to ethical living and news on the best new ethical brands 🙌