How I started out with open source…
Everyone likes a cool origin story. Now this isn’t an origin story. This is just a story on how a guy got frustrated with proprietary software and the operating systems ( cough cost ) and eventually discovered the world of nix and finally the very core idea and world of open source.
Now, I did have a soft spot for conversing with the machines, and I liked to code. I started off with C ( and still work with it ), learning the basic rules, data types, functions, structures and finally the pointers ( I don’t have pointers..).
I used to use the Turbo C++ to write, build and run the code. Now, what I did at that time wasn’t something revolutionary. Just basic mathematical operations, some string manipulations and thats it.
Fast forward some years into the future and I’m in my bachelors. I liked working with computers but I was fascinated by the principles of electricity. So I majored in electrical engineering. And it was during this time, I finally came across nix.
Lightening can affect your electronic appliances and in one particular monsoon, my laptop gave up on me. The problem wasn’t in getting it repaired. It was at the moment when I discovered that it’s memory had gone kaput.
For those who use Windows, apart from the blue screen of death, the worst thing that can happen is loosing the license key of your OS. Now, here I was living in a budget and I don’t have the means to buy Windows License again.
A good friend of mine suggested why don’t I try Ubuntu. Now I was skeptical at that time because he said I just need to download the image, flash it in my memory stick and lo behold, I can start using it. ( I know, but at that time, that sounded something crazy to me.).
Eventually the need for a new operating system to finish my assignments trumped over the skepticism. I followed the steps, and booted to the Ubuntu 16.04. That was the first time and after that I got hooked ( Well it was still strange at that time, with the console. Though once I got the knack of using it, I loved the freedom it gave. ).
After graduation, I started working in an organization which was just getting started with it’s homegrown IoT Cloud platform and that is where I got the next level-up in my relationship with nix and specially the world of open source.
It felt strange that someone would just give out his work out to the world which can be used by anyone and they can even go on to package it and sell it. But then if history’s to be kept as a witness, there are instances wherein secrets have never worked. It is only when knowledge was shared openly, we progressed.
If a person where to look around, to the gadgets they use, the mobile phones, if it’s Android, thats based on the Linux Kernel which is an open source project. The application which you are using is hosted in a containerized environment using Dockers ( again open source ) and the orchestration is done using Kubernetes. The storage is NoSQL, probably say MongoDB. The VM would be nix based and so is the underlying virtualization environment ( Now this can also be some proprietary software or platform, but the majority of those solutions are eventually derived from the open source upstream projects.)
So, thats how a person is surrounded by application, solutions and platforms which run on code developed in an Open Sourced way. The best of the solutions is what goes a the end inside the main branch of code. People point out flaws ( issues ) which can be fixed. There might be people who’ll be documenting stuff so that the next person taking up the work isn’t hindered by misinformation or lack of information.
At the end it is the sharing of knowledge and getting a constructive criticism and working on getting better rather than getting in an echo chamber which appealed to me. And that is how I started working on some prosaic ideas and started pushing the ideas to Github.
One thing which troubled me sometimes is the attitude wherein organizations take in the readily available solutions, the contributions of people who’ve worked on them and then simple put it under the hood. And then they’d sleep peacefully without contributing back to the community. The idea of open source works only because when someone applies the solution provided by someone else, they work on it, fix certain flaws and maybe at the very least suggest those flaws and then contribute back based on their expertise or interest.
I finally joined Redhat last month and have started working on the Gluster storage. I cherish the feeling of finally belonging someplace wherein my ideals are inline with the very organization I’m working with.
I am just at the threshold of the world of open source. Not even started out properly. But I plan to go the distance. This is just the beginning.