What is Open Source Software?

The Story of Ram and Suman

Ram and Suman are two friends. They decide to make a small machine that will pick up stones, use a sieve to ensure that all loose mud is dusted off, then throw a jet of water on the stones to wash off any remaining mud and particles on the stones, and then give them to a professional for further processing, whether for cutting and polishing, or for packaging and sending.

Such a machine would be very useful, right?

As it happens, they are able to build the machine. After a lot of testing, they find that it works very well. They put a hood on the machine, so that only the inlet and output pipe are visible to the user, and everything else is hidden under a neat hood. They then paint the hood in a bright colour to make the machine look good, and they try to use it in their uncle’s shop.

Machine with Input and Output slot

Rita, one of their friends, asks them to show her how the machine works. At this point, Ram and Suman have a difference of opinion. Ram feels that if they lift the hood of the machine and show how the machine works, anyone will make a copy and take away their advantage. Suman feels that they should share the mechanism with everyone, so that their friends can benefit from their work. This way, everyone can work to improve the mechanism of the machine also. What one makes, another can improve and then share back with the community, and so on.

The Story of You and Your Class

Now, think about this for computer programs. Suppose you write a computer program that allows a user to enter two numbers and the program will add them.

You decide that you don’t want to share this program with anyone else.

But your friend, Suman, who has also written a similar program, does share it with the class.

Rita takes Suman’s program and improves it so that the program can now ask the user whether they want to add or multiply the two numbers, and will do either multiplication or addition, whatever the user wants.

Rita shares this new program with the entire class (except you, of course), and then Sujata thinks, “Why stop at two numbers? Let the user enter up to 5 numbers”.

So, she takes Rita’s program and improves it to work with up to 5 numbers.

Programming Coding Computer - Free photo on Pixabay
Example of a computer program

She shares this new program with the class. Sujit notices that when the user enters a wrong value, the program simply does not run. He thinks, “Maybe we should tell the user that the program did not run because they entered a letter instead of a number.” So, he adds that error message feature to the program.

Understanding Proprietary and Open Source

What Ram feels (and what you did) is called proprietary software. In this case, the user can only use the product or program. They cannot see the actual code (computer program) written.

What Suman did (in both cases) is called Open Source.

Open Source software is, as the name indicates, software in which the basic source code (the actual computer program written) is open and visible to everyone. Anyone can take the program and use it, or improve it, and return it to the community.

Let’s take a familiar example. Most of us are on MacOS or Windows PCs/ laptops. But can you see the source code of Windows? Can you see the program that makes the computer run? Or Microsoft Office? Can you see the code behind, Microsoft Word, or Microsoft Excel, etc? We cannot. That is proprietary software. Only the companies that make this software – Apple and Microsoft, in this case, can see the software and make changes to it. This is why we have versions of Windows and MS Office every few years.

Programs like Open Office and Libre Office do the exact same thing that MS Office does. These are open source and can be downloaded from the internet. Individual programmers, working together, create features in these packages and after checking, they are released regularly. So, the updates to Libre Office and Open Office are likely to be frequent.

Why do people do Open Source?

Sharing one’s work is a very satisfying thing. But its not all altruism. As you saw in the example above, open source helps a community build better programs. There are thousands of programmers who work every day to create programs and programming languages that are available for free. You will be surprised to know that Google, Facebook, and many other tech giants are made on open source software.

Proprietary software is important too. A software programming company that has worked hard to create a program that does something unique (for example, identify tongue prints of humans) would like to retain control over their unique software, and would like to also sell it to make money.

Is all Open Source Software free?

Not at all. One can make a computer program and make it open source, such that everyone can see the code. But they may still charge you for a copy of the code. Sourceforge.net is a website that is dedicated to open source software. Here, you will get every kind of open source software. Most of it is free, and some of it is paid too.

One Reply to “What is Open Source Software?”

Comments are closed.