Photo by Pi Supply on Unsplash
To recap, last week we introduced open source software which is defined as below:
Open source software is source code that anyone can inspect, modify & enhance
We also defined "source code" as below:
Source code is the code computer programmers can manipulate to change how a piece of software - a program or application works.
Open source software is collaborative, rely on community production & peer review to modify, use and share source code with each other.
Proprietary software such as Microsoft office suite, software from Adobe, Apple etc charge customers for using the software.
How can a free and open source software exist without any sustainable revenue? There are successful business models which run on open source software. Before we explain how, let us take some examples of open source software and the impact it has on our lives which is more than what we realize.
Linux
As I mentioned last week, we are familiar with windows or Mac OS operating systems. Operating systems are programs that sits at the base level in a computer or laptop and all other programs and software interact with the computer hardware using the operating system. For example, if we click "save" on a document or excel spreadsheet, the word or excel program "asks" the operating system to "write" this data to a persistent storage like your hard drive. Similarly, if we "close" a file, the software requests the operating system to "close" the file and the operating system "closes" the file as it interacts with the hardware and memory.
Linux is an operating system like windows or Mac OS. Unlike Mac OS or windows, Linux is an open source software. The code used to create Linux is free and open to public to view, edit and to contribute to. So how big is Linux? Let's look at some statistics below (Source : Refer here)
- 54.2% of the most powerful supercomputers operated on Linux in 2020.
- 90% of public cloud workloads are run on Linux.
- Android (based on Linux Kernel) constitutes 71.93% of the mobile market share
- In 2021, the Linux Kernel (The source code of Linux) counts 27.8 million lines of code.
- Linux server market share is estimated to reach $15.64 billion by 2027
- It's part of systems for TVs, cars, web servers, Internet of Things & even networking gears.
- Around 16,000 developers from more than 1,400 companies have been a part of the Linux kernel (The core of the operating system) development.
- Linux runs approximately 72% of all web servers worldwide.
There are multiple Linux based operating systems called "Distributions" which can be downloaded and used like Windows and Mac OS. It is free and easy to use. Examples are Ubuntu, Debian, Manjaro, Fedora etc. There are open source alternatives to office suite like LibreOffice. (Check out the links and feel free to explore!).
So a good portion of the internet runs on servers running Linux. The Android mobile OS is based on the Linux kernel.
How do companies using open source software make sustainable revenue? There are several business models, one of them is where companies like Red Hat and Ubuntu offers its software based on Linux kernel for free and charges enterprises users for technical support. Another one is where there is a free version as well as a paid version with additional features (E.g., Bitwarden password manager)
Raspberry Pi
The cover image above shows a Raspberry Pi. Raspberry Pi is the name of a series of single board computers made by the Raspberry Pi Foundation, a UK charity that aims to educate people in computing and create easier access to computer education. It is not a software but a very cheap computer that runs Linux but has applications from simple home automation to industrial applications and Internet of Things.
There are many other examples of open source software like Firefox browser, Bitwarden password manager etc.
Now, what happens when someone downloads an open source software and creates a different version of it without feeding it back to the original software, it is called forking.
As per wikipedia
In software engineering, a PROJECT FORK happens when developers take a copy of the source code from one software package and start independent development on it, creating a distinct & separate piece of software
Photo by Remi Moebs on Unsplash
For a blockchain, a fork is what happens when a blockchain diverges into two different paths. We will get more into it at a later stage.
Over the past 17 weeks, we explored different aspects of blockchain by starting with cryptocurrency & money and then explained decentralization, consensus, open source, nodes, distributed ledger, cryptography etc. Going forward, we will tie them all up from next week to see the process flow from initiation of a transaction till its acceptance into a "block" on the blockchain which means many more rabbit holes to go down... (again)!!!
Photo by Meghan Hessler on Unsplash