Open source software is ubiquitous, but strangely has the reputation of being "nerdy stuff". This article attempts to show how non-tech individuals, corporates could, or rather, should participate.
What is open source software (OSS)? OSS is any program, application, operating system that is released along with its source code so that you, the user, can change it at will. Or at least have the option to utilise the services of a vendor of your choice. The fact that any other type of software exists is itself strange: would you buy a car that is completely sealed off from repair? No access to the engine, the tail-lights, or the windshield wiper? Even the tyres? One and only one company — the manufacturer of the car — will be able to fix even the smallest problem. Would you buy such a vehicle? Forget buying, given the current competition in vehicles, such a product would not last in the market for even a week.
The fact that people are selling you software that you cannot take to another person to fix, re-package, assist in providing even basic upgrades is in itself wrong and the discussion should end right here, IMHO. But that is a whole different topic and best left to camp-fire discussions; we have neither the will nor the wherewithal to turn an entire industry on its head.
Let us rather focus on the only alternative today, open source, and understand who should be using open source software and why.
Let us try and answer the following questions:
- Why should companies invest in open source?
- Why should programmers invest time in helping open source projects?
- Why should non-tech user bother with open source?
Companies: Why should companies invest in open source software? Simple: Open source is rapidly becoming the most security-sensitive, reliable and cost-efficient way to build software applications and tools. Not saying there is no room for custom software; they still rule the roost in large, enterprise-level applications. The key reason is probably because large enterprises are fine with status quo, and don't mind spending large amounts on their software. More importantly, it works for them, which is actually just fine. But in the long run, a better system always wins, and OSS *will* help build better Software.
[Side note to OSS developers out there: sometimes the "run" is so darn long it seems interminable; hang in there: more than 20 years ago nix was just a very cool idea that didn't have much of chance of surviving except in large systems and application and look at it now!].
It is a matter of time before the gap between custom software and OSS becomes just too wide and companies will be forced to take the OSS route. The fact that Microsoft has gone open source in a big way, Android is (purportedly) open source and a huge slice of the cloud runs open source is no coincidence.
So, other than some of the larger-enterprise level applications, companies are well-advised to invest in open source, perhaps for no other reason than to invest in the future. To the HR folks out there: Do you have a person in your company who delivers superb code at will? She walks around with all sorts of stickers on her laptop, speaks a tongue that doesn't even sound English, goes on week-long 'hackathons' that you have to put up with because she's so good? Put her on an OSS project and you just bought yourself the best retention policy!
Another somewhat disturbing trend which is difficult to comprehend are companies that survive almost exclusively on OSS but don't allow their developers to contribute actively. What is with that? How does one justify simply picking things for free and never paying back?
We are about 30 developers using LAMP stack and a CMS. If I were to pay for, say, a paid CMS, paid infra, that would be a *minimum* of, $30(100+200) per month, not to mention 'training programmes' that cost a bomb. Shouldn't companies at least pay back a tiny fraction of this, both in cash as well as in developer time?
Note: the 100 (paid CMS) and 200/dev for paid infra (*SQL, Compilers, IDE, etc) is from random search and may be completely off; point being, there is real cost involved in running a s/w development Co. using custom software.
For the companies out there with more than 2,000 "Software Engineers": Considering that we have possibly the largest IT workforce as a nation, we're doing frightfully little to foster OSS talent. One suggestion: create an open source lab in your large office, with a fat server running OSS, terminals and lots of coffee (poison of choice during weekends will be a huge help). Have one HR and one Senior Architect employed specifically to run the OSS program and enable OSS contributions. That is all it takes to build a smart engineering workforce. Not to mention the next generation of Products and IP.
Developers: As a developer, you should seriously consider helping out with OSS project in your spare time. Why? Simply, because it is fun! Imagine hanging out with a bunch of like-minded folks on IRC discussing (mostly) the current political situation and occasionally some really nice code that you just put out. There is no better way to hone your skills than to get on a platform that has the best of the best who'll discuss the problem with you, help you way more than your peer in the next cubicle! You'll be pleasantly surprised at how friendly and approachable the architect, the mega hacker of your favourite software turns out to be. They've all been there, been a newbie, asked inane questions, got flamed, etc, etc. Most importantly, a huge number of them are really keen to impart what they know and allow someone else to improve upon their work.
So, rather than simply looking for answers on your favourite search engine, consider posting answers to question you can — you'll be pleasantly surprised how much you know! — contributing tiny bits of code when you find a bug, simply correcting grammatical errors in an API document, etc; every little bit counts!
In the very near future (if it isn't here already here) as a developer, your resume will be your github/gitlab/open-source-repository-of-choice handle. You will be known by what you have delivered to OSS very, very soon.
Build your resume on OSS in your area of expertise and you will be richly rewarded.
Non-tech users: It this even possible? A layperson using open source? No way, impossible! It is too geeky, too buggy, impossible to install and maintain!! Not quite; all this was true maybe 10 years ago, not anymore. OSS is now ubiquitous and chances are, you're anyway using it without even your knowledge. For ex: Firefox, OpenOffice, etc, etc. Case in point: my more than 80-year-old father started using computers a few years back, mainly to play online chess. He uses Linux desktop (and doesn't even know it!) installed five years ago that he's merrily using till date. Other than occasional upgrade, whenever I visit, the box is working just fine and he's perfectly happy with it (except that I’ve never managed to get Flash working properly on the browser)
OSS needs non-tech "I Just Want To Get The Job Done!" users more than any other kind. By actively using OSS, you will be doing the community a huge service. The paid software may be available (and better) than OSS, but I can practically guarantee that you'll get better 'service' for your problems on open source platforms than on most paid programs. Why? Because someone out there is doing something she loves. Closed source companies pay support staff and their time and money is limited, whereas there are many people who are giving their time for free to make their software better and better. In the 30 plus years since OSS became a movement, literally millions of people have been supporting it. So, you are in good hands!
Open source software is really important to safeguard your right to use software products like any other product in the market. There is a real case for people and organisations across the board to use OSS.
(Disclaimer: The views and opinions expressed in this article are those of the author and do not necessarily reflect the views of YourStory.)