Gautam Rege, Co-founder and Managing Director, Josh Software suggests why startups you should think Open Source to deliver their best work
December 8 2017: Open source has already taken the world by storm. Businesses from across industries are embracing it. Earlier open source was just a tiny revolutionary idea that was not given any hope, but it has now become to just mainstream but possibly the only stream. The world has realized its importance and benefits over other closed source languages and tools. More importantly, start-ups have started embracing open source whole heartedly to get the edge over their competitors in the market. But the question is, how are they utilizing it to their advantage and how is it benefiting them?
Start-ups and Open Source
To know how start-ups are using open source to their advantage we need to understand what start-ups are? Start-ups are the entities with limited funds and run primarily on enthusiasm and passion. In such cases, any start up would prefer the easiest, fastest, cheapest, reliable, and most productive solution. Open source comes to the rescue as it provides all these in the most cost economical way, ease in term of accessibility and the quality and maintenance due to the continuous support from the community. There are different types of start-ups viz, technology start-ups, product start-ups, start-ups which are mobile first, and in most cases, each of these will always have some open source alternative. Therefore, it could be assumed that everyone uses open source or at-least a component of it; even bigger corporations are embracing open source solutions. Due to this, open source has no longer remained a revolution but it has turned into a way of life. Staying away from this can cause these companies a serious sort of harm and the stand to lose a lot of money as well as productivity.
Is it Free?
Open source does imply that source code is free - it depends on the license the source is shipped with. If it does not have the right license, you would be infringing on its copyright. Even if the proper license is available (MIT, Apache, GPL, LGPL, etc.) and you do not have to pay in terms of money, you must adhere to standards of the license, sometimes use the code “as is”, declare that you are using it, keep their copyright notice, etc. Open source should be used just because its available easily. You should always evaluate all the open-source tools, libraries, and other code that it needs and check for their authenticity and any malicious intent in the code.
Security and Monetization
If you are building an open-source product, you must keep certain configurations, modules, features hidden and not accessible to all to avoid people from fudging of the system, for example, the algorithm to generate some secure data, access keys to your hosting provider, admin configurations, hosting configurations, etc.
There is a lot of money that can be made, but the question is how fast and how much money can be made? When we use open source we always look at the freedom and flexibility of the solution, but too much freedom and flexibility can be dangerous and can backfire. Remember, that in your haste if you use some open source library for your commercial purpose and there is any problem to your customers, you cannot blame the open source code you used. It becomes your responsibility and usage of open-source tools has a non-transferrable price on your head! So, be aware, be safe and dig deep into the source code you intend to use! This does not happen in case of any proprietary software. Very often, quality concerns arise out of open source code because the quality consciousness and responsibility is dependent on the people who are contributing to it.
Follow the Process
Many people put efforts to make a solution faster, but the negative side effect could be quality. The reason operating systems and language versions are rolled out slowly is because it needs to be tested, and many conditions are required to be kept in mind. Ruby gets updates once in a year, while rails gets updated every week. Ruby is built on the Rails framework, and if there is an error, the language cannot be blamed, but rather needs to fixed. A system can be fixed by ensuring that all test cases are covered. Therefore, along with open source what is critically important is the process one follows. Every major successful company has one success mantra: Its Process. There are a lot of methodologies for processes e.g. Agile, Kanban, etc. Using the right process and mandating its utilization is the key to open source successful enterprise!
Easy and less time consuming? No!
Open source is not less time consuming, therefore it is rocket science. It’s a common misconception that open source consumes less time and it’s easy. Initially, open source does seem to take less time, but the learning that comes along can take its time! For example, an application can be built on Ruby within no time (sometimes even minutes or hours) but if the programmer doesn’t know the internal workings, the programmer cannot build it to near perfection, keeping in mind performance, speed, memory, and the right language constructs. Investing sufficient time in understanding the language, libraries, frameworks, and tools is integral to the success of an open-source solution. Open source is not rocket science, it’s like opening the science of the rocket. If you know the science behind the rocket, you can build a good rocket. Easy, right?
The essential point is that open source is not here to just stay, it is here to rule! If it is adopted correctly, it will work like a charm. You need to adopt open source with the will to invest your time and effort to ensure the support and progress. You need to contribute back to open-source if you want it to survive! If businesses learn to not just embrace open source but also support and contribute back, they will be able to unleash the true power of open source.
The whole open source movement across the globe has made it into a giant, and start-ups using open source are already in the league of giants.
Josh Software is a Pune based software Development Company focused on the Ruby on Rails framework for developing innovative web applications