I started learning to code when most things were closed source; at least they were to me. There was no Github and the internet wasn’t something I could effortlessly access. Nothing like today. I had to try hard to create something, and I was taught to never reveal my secret once I’ve created it, since it was my intellectual property and my road to success.
How wrong I was.
Even the best programmers make mistakes, and they can’t know everything. Creating software isn’t possible without collaboration, brainstorming and different skills. One person can not know all. And it’s not everyday that you have access to a dedicated team of programmers for making software.
On the other hand, knowledge will die if it’s not transferred. How did I learn to code? Either someone taught me or I read other peoples codes. What if everybody wanted to keep their knowledge a secret? I wouldn’t have the money for buying it and I would never become a programmer. We’re as good as the information we have access to.
Thankfully there are enough great developers who don’t think knowledge should be locked away. Enters Github, StackOverflow and so many other great places to find open-source and free (as in freedom) knowledge and code to learn from.
Everyday we use countless open-source projects without realizing the people behind them and their efforts; without realizing the countless hours of their lives spent making these amazing tools and software. We just use them for free, make money out of them and go bash them in their Github Issues when something goes wrong. God forbid if they respond to the issue an hour late; we start tweeting at them harshly. Basically we expect them to be our free servants who do anything we ask them to, for free.
When it comes to our own software that we built using other peoples free code, everything is a secret and intellectual property and we wouldn’t even consider open-sourcing a line of it’s code. Because we’re making money out of it.
I understand we can’t just go open-source everything. There are some things that have substantial business value to them and some are trade secrets. In a company that depends on such things, it’s not at all possible to release this kind of software for free.
But there are some things that have nothing to do with the business itself, like build tools etc. If they can help other developers to be better at their jobs too, why not open-source those? Only good can come out of this. We should give back to the same community that we took from.
Let’s think for a second: would our software be possible without open-source code? How much time and money would it cost to build everything from scratch without using a line of open-source code?
I have been dedicating a good amount of my own time to writing and releasing open-source software. I think I personally owe it to the community to give knowledge back. I wouldn’t be here in this position if it weren’t for the community. I’ve learnt a lot from every single line of code they have released and every single advice they have given. And I’m lucky to have people around me who think and believe the same.
To the open-source community: Thank you.