What is Open-source Software?

Gregory Terzian
The Web Platform Explained
3 min readApr 5, 2023

Software is a written medium: a collection of plain text files known as source code; and, as with any other kind of text, copyright applies to it. Once upon a time, software engineers and their corporate masters regarded source code as a valuable secret: one that should be guarded through strict application of intellectual property. This private software would be built by teams of contracted employees working from offices, their work orchestrated by layers of management, fixed schedules, and the rhythm of missed deadlines.

Across the proverbial street, a different kind of software would be written by a wild bunch. Geographically disperse, their paycheck either absent or coming from various institutions, and any hierarchical structure based on respect alone: these software engineers would come to be known as contributors, and their work — the source code of which was public and usable by all — would come to be known as open-source software.

From a legal perspective, the main difference between private and open-source software is in how intellectual property applies to the source code: private software is regarded as “all rights reserved”, open-source is licensed for all to use with few restrictions. But the real difference is in how projects are managed: top-down orchestration and fixed deadlines — always missed — are the norm in the private space; bottom-up collaboration and continuous progress — never finished — are the norm in open-source.

Today, many companies, including the world’s largest tech companies, pride themselves on using and producing open-source software. Why would such large companies, with their army of lawyers, choose to produce software that could be used by competitors? Why would Google, the owner of the open-source browser engine Chromium, choose to make that engine open-source, thereby allowing Microsoft to start using it in its Edge browser?

When it comes to high-complexity software, the answer is found in the difference in outcome between software written as private, and software written as open-source: private software failed. When I write high-complexity software, I do not mean large distributed systems. Private companies are able to mix and match existing open-source software, and combine those into their own large scale systems; however, the foundation of these systems — when original, reliable, and praised — are always open-source(even Apple’s is ultimately based on BSD Unix).

Modern management methods, so effective at running organizations ranging from high-tech factories to consulting companies, are unable to manage large software projects. The open-source method is successful, not because it is better at managing these projects, but because it does not attempt to manage them. Whereas your corporate manager will, during the daily ritual of the stand-up meeting, point out the ever-growing list of work items on the project as a problem to be addressed; that same growing list will be praised in open-source: it presents new contributors with a large and diverse menu of potential work to choose from. And, when writing code —as well as documenting the code, and describing potential follow-up work — when your audience is the larger public, it forces you to write clearly: you cannot fallback on calling a meeting to make up for your lack of writing skills. Finally, when the managers of an open-source project — known as reviewers — have earned their stripes through years of dedication, leadership is not dictated, it is organic, based on respect, and an order of magnitude more effective.

And so today, when it comes to the largest and most complicated software, it is written in the open. This brings us back to the Web: the quintessential large scale project that could only work as open-source. We will next look at how the Web is managed, or perhaps rather, how it is not.

--

--

Gregory Terzian
The Web Platform Explained

I write in .js, .py, .rs, .tla, and English. Always for people to read