There are many advantages associated with sharing, but what I want to talk about in this blog post is one aspect which has (in my opinion) contributed significantly to the very success of the rails ecosystem. Since I started working with rails, I’ve noticed that the community is full of nice and caring people who share their knowledge and help others learn. This is achieved in many different ways: from creating fully fledged learning sites like codeschool.com and railscasts.com (from which I have benefitted immensely) to the vast array of awesome, high quality, well-maintained ruby gems made available by community members. Often times, you find Rubyists contributing back to the community (as much as they can) which results in the ecosystem as a whole to be enriched further. Collectively, we have achieved a stack of tools, libraries and resources which are very helpful, and this couldn’t have been made possible if we had not had the virtue of sharing. Rails itself was extracted from DHH’s work on basecamp. He could have kept it to himself and not care to share his work with others, but he was generous enough to do so, and hence we have one of the best frameworks to develop web-based apps with (and in my opinion, a very well designed piece of software that brings much happiness to developers).
More tech companies should open up, too. Now, after talking to a fair number of people in IT, I have realised that unfortunately one of the things preventing some of them from sharing is that they think by making their recipes known, they “risk” giving away important & secret information about their idea, product or whatever it is that they are working on. This, I believe, is a false notion. Take cooking books for example. Chefs who write those books are not worried that someone might steal their secret recipe, open a restaurant next to theirs, and compete with them. That’s just not how it works.
Lastly, another gain of sharing, which I have experienced personally, is the sense of joy that comes with it. It’s very satisfying to see others benefit from your recipes/solutions/methods, etc. So, do give it a try. A good way to start, you ask? I suggest you establish an online presence immediately, through a weblog. Fortunately in the ruby world, there is an awesome blogging engine, called Octopress, that makes this extremely simple. In fact, Octopress is the very engine that powers ParsaLabs weblog. In my next blog post, I am going to walk you through the steps involved in creating a weblog with Octopress and deploying it to heroku. So, stay tuned for that ;–)
Together we can achieve the unimaginable.