“I think, fundamentally, open source does tend to be more stable software. It’s the right way to do things”Linus Torvalds
The last few years have seen a huge push for open source. Both start-ups and large companies are increasingly relying on the movement because it makes more business sense.
At Compile, we are fans of open source. The amazing things we do are possible because it is built on a foundation created by the work of developers across the world. We also contribute back to the community in multiple ways ‐ be it through code sharing or other initiatives. Recently, we contributed to a kickstarter campaign started by Tom Christie, the author of the Django REST Framework (DRF) we use.
Working better and faster with DRF
Imagine trying to implement an API and the process being so cumbersome that you end up writing your own mini framework?
We have been there in the past. This was before we started using the DRF, which has been life changing for us. When we started investigating it, we were amazed at how easy it was to expose APIs to our data. It isn’t just the DRF either, every piece of software written at Compile is built on open-source. Our systems are built on projects like Django, PostgreSQL, Tika, Nutch, Solr and Redis.
Contribute, share and collaborate
We consciously chose to go down the open source path for many reasons. For one, re-inventing the wheel has almost always been a bad idea. The projects we work on benefit from the contributions of a diverse set of people. Also, the collective intelligence ensures a bug-free and secure platform for us to work on. Since there are millions of users using these projects, it leads to millions of eyeballs, ensuring that these projects have bug reports filed and fixed, quite often, faster than paid support.
This idea is at the heart of what makes sites like Stackoverflow tick. Stackoverflow saves businesses billions of dollars every year in time saved for programmers. The reason this is possible is mainly because of the open nature of the system.
Systems which have their code available for anyone to read and go through are easier to understand; which is why support is more readily available. And if push comes to shove, there is always the option of rolling up your sleeves and going through the code yourself to figure out why something behaves the way it does. In the process, you may learn amazing things or fix a really annoying bug. Why not then contribute back to the community?
Paying it forward
And that is Compile’s promise - any improvements made to open source projects will be available in the public domain. Anybody, anywhere can take the code, use it or even better take it forward and contribute to the community.
Our motivation for doing this isn’t legal; most licenses do not mandate that changes made by us go back to the community. Think about it this way - if a neighbor shared her grandma’s secret recipe with us and we managed to improve it, we wouldn’t keep that to ourselves.
Contributions do not necessarily mean writing code. Reporting bugs and taking part in discussions are contributions too. If you have come across a bug in a project, chances are someone else is also being affected. Reporting these clearly and concisely is the first step to getting it fixed for all the users of the project. This process is so important for some open-source projects that entire projects have been spawned to deal with this.
As a developer, when you make improvements to an existing open source project, it feels good to be able to contribute back to the ecosystem that has allowed you to grow without worrying too much about tough problems like security and scalability. After all, the concept of free software works because someone decided that a solution to a problem they built, might also help somebody else. And when you are enjoying the fruits of the community’s labor, it’s only right that you let others make use of your work too.
At Compile.com, we deal with a variety of datasets both big and small. Often, there is a need to run analysis on top of 3rd party datasets that we haven’t ingested to see if it’s worth the effort. This particular …