the KOAN method

Reading List

085 – IBM. What is Open-Source Software?

IBM. “What is Open-Source Software?” IBM.

What is open source software?

Open source software is software develped and maintained via open collaboration, and made available, typically at no cost, for anyone to use, examine, alter and redistribute however they like. This contrasts with proprietary or closed source software applications—e.g. Microsoft Word, Adobe Illustrator—which are sold to end users by the creator or copyright holder, and cannot be edited, enhanced or redistributed except as specified by the copyright holder.

The term open source also refers more generally to a community-based approach to creating any intellectual property (such as software) via open collaboration, inclusiveness, transparency, and frequent public updates.

A brief history of open source software

Until the mid-1970s, computer code was seen as implicit to the operation of the computer hardware, and not unique intellectual property subject to copyright protection. Organizations programmed their own software, and code sharing was a common practice.

The Commission on New Technological Uses of Copyrighted Works (CONTU) was established in 1974 and concluded that software code was a category of creative work suitable for copyright protection. This fueled the growth of independent software publishing as an industry, with proprietary source code as the primary source of revenue. As personal computing brought applications to every corporate desk and many households, the market for software became intensely competitive and software publishers became increasingly alert to infringements of their property rights.

A rebellion of sorts against the restrictions and limitations of proprietary software began in 1983. Programmer Richard Stallman chafed at the notion that users could not customize proprietary software however they saw fit to accomplish their work. Stallman felt that “software should be free–as in speech, not beer,” and championed the notion of software that was freely available for customization.

Stallman founded the Free Software Foundation, and would go on to drive the development of an open source alternative to the AT&T-owned Unix operating system, among other applications. He also innovated the first copyleft software license, the GNU General Public License (GPL), which required anyone who enhanced his source code to likewise publish their edited version freely to all.

Eric S. Raymond’s 1997 essay titled “The Cathedral and the Bazaar” is seen as another watershed in the free software movement. Raymond contrasted the closed, top-down approach typical of proprietary software development where all development was handled by a core group (which he called The Cathedral), versus open, freely-shared public development over the Internet (The Bazaar). Shortly after, Netscape Corporation released their Mozilla browser code as open source, and the open source movement gained legitimacy.

Because many felt that Stallman’s term “free software” inaptly emphasized “free of cost” as the main value of the software, the term “open source” was adopted in 1999. The Open Source Initiative was created to advocate for it; the organization also has established ground rules for the industry via the open source definition, and hosts compliant open source licenses. Today, the terms free software, open source software (or OSS), free and open source software (FOSS) and free/libre-open source software (FLOSS) all refer to the same thing: software with source code available for public use and customization.

Open source in enterprise and personal computing

Open source software now plays a vital role in computing, with open source technologies providing the foundation of the Internet, of business computing, and personal computing. Virtually all computing devices now contain open source code of many types, typically adopted by developers to perform fundamental operations, and often more advanced functions.

Some of the most prevalent open source software applications include

  • The Linux operating system, an open source alternative to the Unix operating system
  • Mozilla Firefox, a web browser originally based on Netscape Navigator
  • LibreOffice, a suite of office productivity apps that rival Microsoft Office
  • GIMP (GNU Image Manipulation Program), an open source alternative to Adobe Photoshop
  • VLC Media Player, a cross-platform app for viewing videos

Open source programs are also widely used in network, enterprise and cloud computing. The categories of open source software cited by IT professionals as the most common within their organizations’ deployments include:

  • Programming languages and frameworks
  • Databases and data technologies
  • Operating systems
  • Git-based public repositories
  • Frameworks for Artificial Intelligence/Machine Learning/Deep Learning
Why users and companies choose open source

Reasons for choosing open source software can vary significantly from person to person and organization to organization. In many cases, end users are completely unaware of the open source programs on their computers or mobile devices. It is also common for end users to download a free application like the Mozilla Firefox browser, or an Android app. These users simply want the software’s functionality, with no intention to rewrite or even look at the source code.

A company, on the other hand, might choose open source software over a proprietary alternative for its low (or no) cost, the flexibility to customize the source code, or the existence of a large community supporting the application. Professional or amateur programmers might volunteer their development and testing skills to an open source project, often to enhance their reputation and connect to others in the field. It is now common for companies to provide paid employees to open source projects to support the vitality of open source software development and help assure high quality products.

While open source products can spare companies the cost of licensing, they can incur other costs—typically for network integration, end-user and IT support, and other services typically included with proprietary software. Still, many companies consider enterprise open source software to be at least as reliable and secure as proprietary software, and feel more comfortable with open source solutions because they can inspect the program code and understand exactly what they are adding to their computing infrastructure.

How open source software is made

The open source development model runs the gamut. A vast number of open source programs have been originated by solo programmers or small teams of programmers. For example, Guido van Rossum said he started working on the popular Python programming language because he had free time over the Christmas holiday week in 1989; similarly, the Apache web server began with a small group of programmers working together to enhance server software originally written by Robert McCool as an undergraduate in a supercomputing program.

As these and other open source projects like them have matured, they have involved many thousands of programmers contributing countless lines of code—as well as testing the software, writing documentation, building the project web site, and more.

At the other end of the spectrum, the Kubernetes container orchestration platform was initiated by Google engineers, as an open source implementation of technology originally created internally to balance Google’s server workloads. Google brought the project to the open source community via the creation of a new consortium within the Linux Foundation called the Cloud Native Computing Foundation (CNCF). Since then, thousands of developers have worked on the evolving kernel, including representatives of major computer companies.

Over time, an ecosystem has to support open source software projects. Code hosting services such as GitHub, Bitbucket, SourceForge, and Google Code provide central repositories, version control, and other functions which enable diverse, distributed workgroups to collaborate on and manage open source projects. GitHub alone has registered 83 million developers and over 20 million open project repositories (with each repository representing a unique branch of an open source project).

A number of non-profit organizations have emerged to support and fund the ongoing maintenance of open source projects, such as the Free Software Foundation and the Open Source Initiative (OSI). And there are many dozens of application-specific foundations. such as the Linux Foundation, which support specific open source programs and related projects that support those technologies.

Open source software and intellectual property

“Open source” and “proprietary” represent alternative approaches to ownership of the intellectual property (IP) embodied within a application. With open source the IP is intended to benefit the public with no profit motive attached to the ownership of the intellectual property. In contrast, proprietary software monetizes the value of the intellectual property (by charging a subscription or proprietary license fee).

The idea behind open source software, however, is not primarily an anti-profit or anti-capitalism message, but rather that, in the hands of its user community, the software will naturally achieve its greatest potential by providing greater value to more users. The largest open source project in history—the Internet—was originally used to share academic papers; everything beyond that narrow use case is the result of countless minds envisioning and implementing new possibilities.

While open source software is made freely available to the public, it is not in the public domain, a legal category of intellectual property devoid of any ownership rights. Through an ingenious twist of traditional copyright, open source software creators originated what they named “copyleft,” which permits limitless public usage, alteration and redistribution of the source code, but prevents others from making works based on the code into proprietary, copyrighted software (more on this below). However, today there are more than 100 different types of open source software licenses, some of which do permit derivative works built on open source code to be copyrighted and sold. This expands commercial opportunities for those who create open source software.

Open source software licenses

Again, Stallman’s GPL stipulated that anyone could rewrite his software however they saw fit, as long as the resulting code was published free for all to use. In this way, the GPL copyleft license created a new kind of quasi-public-domain intellectual property, yet with legally enforceable restrictions imposed by the original copyright holder to protect against later claims of restrictive ownership by others.

Since then, numerous open source software licenses have been developed; the Open Source Initiative lists over 100 approved open source licenses. Some of these allow proprietary products to be created from open source code.

Open source licenses are sometimes categorized as “permissive”–that is, allowing users to copyright their own works–or “protective,” like copyleft. The MIT and BSD open source licenses are the most commonly-used permissive licenses, while GPL remains one of the most commonly used protective copyleft license. Numerous alternative licenses are “compatible with” GPL or MIT, meaning that that software code written under this license can be used in another application which uses the GPL or MIT license.

Open source business models

While it seems that the creation of open source software is a high-minded, even charitable enterprise, there is work involved in creating, maintaining and evolving it, and getting this work done is a matter of money. Fortunately there are a number of ways that open source projects — and companies built around them — can prosper.

One route is through charitable contributions to foundations. Corporations have an interest in supporting open source software since it provides such significant functionality at such significant cost savings, and will often contribute funds and even dedicate salaried employees to work on open source projects. But this provides primarily for long-term maintenance of the technology, and does not lead to profits for the open source project.

A more common business model is to charge customers for support and expertise. in 1993, Red Hat began selling its enterprise redistribution of the Linux operating system, charging customers for support and added feature aimed specifically at solving problems an enterprise might encounter when deploying a non-curated, continually updated operating system. In 2012, Red Hat became the first open source software company to surpass USD 1 billion in revenue; in 2019 IBM Corporation acquired Red Hat for USD 34 billion, the largest software acquisition in history.

WordPress, originally a blogging platform, is now widely used for building, managing and hosting websites. WordPress operates as a cloud-based or software-as-a-service (SaaS) platform, and charges customers tiered subscription fees for web hosting, support, and added site functionality (e.g., e-commerce capability, SEO tools).

Others open software creators charge nothing for their software, but earn significant revenues due to the traffic their software generates. For example, GitHub earns revenues based on advertising that appears on their site; Mozilla Firefox earns revenues from search engines it supports.