I am a fan of Ayn Rand’s writings,
and I deeply admire and follow Objectivism to the extent of my understanding.
I consider rational selfishness to be a great virtue, and anyone who understands its value would scoff at anything that has an altruistic motive.
For this reason, some Ayn Rand fans might disagree with the premise of the open source software movement. That, however, could be a mistake.
What exactly is open source? Open
source is a movement started by people who believe that when customers buy
software, they should have the actual source code to the software.
This means anyone capable of making changes to the source code and customizing the software to suit their needs, can do so without worrying about whether they’re infringing upon copyright or trademark laws.
It also follows that you are free from mandatory updates and have a choice about whether to use any updates you receive. Unlike some commercial products, once you buy or download open source software, you get the entire software with redistribution rights and not just the “right to use it for a limited time.”
This freedom, coupled with the availability of the source code, is the backbone of open source. This has made it possible for people to incorporate a great number of important changes to the software and make it truly world-class.
This also makes the nature of development in open source community-based, which is the reason why almost all open source software is available free of cost.
The open source movement has developed an intricately balanced, yet surprisingly robust, community for developing software.
However, since open-source software is available free of cost, most people outside the movement — and within it — mistakenly see it as an altruistic undertaking.
Quite a few of them have even forgotten that it is not intended to be free as in "free beer" but free as in “freedom of speech.”
Either way, most of them fail to realize that there is an individualism at its core. And it is this spirit, not altruism, which lies at the heart of the open source movement.
Let us see how.
When I purchase a computer, I do so by paying a lot of money for the hardware. Then I realize that for all the functionality I need on my system, I need to spend at least half as much on the software too. And what’s worse, it’s not a one-time cost; I have to keep updating and re-purchasing the license renewal packages for my system to be up-to-date.
This entire cost could be difficult to maintain for someone like me who doesn’t make commercial use of his computer. So the only way out of this situation is to use software that is available for free.
However, non-profit enterprises are difficult to maintain; after all, you can’t have your cake and eat it too. Well, there is a way out.
The solution does not miraculously make a non-profit enterprise possible but explores other non-monetary areas of profit like obtaining software free of cost, enabling user contributions, making money on advertisements, making money on software support, enhancing skills under the mentoring of senior developers at no cost, etc.
It usually starts with a person or a group of people interested in developing an application. This group announces the start of the project and provides all the details of what they wish to accomplish.
The announcement is also accompanied by an open invitation for anyone to contribute to it.
As a user, this is my opportunity to play my part in supporting open source. When I see such a request, I can start by developing my own code for that application and upload it for the project.
There are other alternate methods of contribution available for users: documentation, monetary support, answering users’ questions on the forums, etc.
The least anyone could do is try out the new product and give back an update on whether it works properly, or if there’s anything else you would like to have added to its functionality.
And when I do any/all of these things, I’m not doing it for any charitable purpose; I’m doing it because I want the software to remain free for my usage.
This is how open source works on an individualistic principle and not an altruistic one. Here, every man’s effort is ultimately driven by a sole purpose: making free software possible.
Any undertaking where you get more than you invest is worth looking at. Open source makes it possible for you to obtain an impressive range of world-class software while there is no compulsion or limit to the amount of contribution you have to make.
Even if you are financially sound and in a position to buy all the software you need, there are many advantages for anyone associated with open source. These include:
- The fact that your contribution has been accepted for open source means it was worth incorporating in the product. That speaks volumes about your coding or other capabilities, which adds a lot of weight to your resume
- In the process of contributing to a project, you come in contact with great professionals who mentor you in your undertaking and you end up with more knowledge than you ever anticipated
- Is there anything more satisfying than seeing your name in the credits of world-class software?
- Lastly, you get loads of free software that helps you save an enormous amount of money
That was from the perspective of a user. Now let’s look at it from the perspective of a software developer.
In developing software, code is not the only important factor. There are hundreds of other aspects — namely, documentation, installation support, bug reports, testing, add-ons, language translation etc, each of which requires different specialized skills.
Developing something in-house would mean employing people from each of the above areas. In short, spending a lot of money.
It would also mean purchasing other commercial software that I have to use to be able to create my own set of things — for example, I would need an Office suite for documentation.
What if I didn’t have enough money to support this process? I would either have to ask for an investment from a third party or obtain a loan from a bank. This is where open source steps in.
This business model doesn’t need a high initial investment capital. Of course, in return, you might have to provide the software free of cost. It is not mandatory, though, since open source only says that you have to give the source code with the software; it doesn’t have a limit on how much you can charge for it.
However, charging for it would drive away contributors, since they wouldn’t get what they were looking for: software that is free of cost.
Instead, what one could do is to give the product for free and sell its support. Since you’re the one developing it, naturally, you’re the best person to ask for help when one faces a problem with your software.
This helps you save a lot of investment money, earn money by means of support services and advertisements on the site — free software sites always have great traffic, therefore, their advertisement revenues are naturally very high — and the users get their desired software for free.
Besides, when you give out the source code, it only means that the application will be enriched by someone else’s contribution.
Furthermore, if your software is highly scalable and can be used for large deployments, you might even be successful in attracting the support of large corporations who would support your project for a profit motive of their own: obtaining world class software with a total understanding of its development and support. Either way, everyone wins.
The only obligation one man has towards another is to give value for value. Open source helps you do just that. And here’s the best part — it’s easy on your pocket.
Kushal Sharma is an aspiring writer and web developer. He currently works as an online marketing professional for a technical publishing company in India. He is also an editor at The Atlasphere and maintains a personal blog.