Open Source: Know It Before You Embrace It
Here’s what you need to know before you embark on that open source project.
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 not 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 gain an edge over their competitors. 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 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. Consequently, open source has no longer remained a movement, but has turned into a way of life. Companies stand to lose a lot of money as well as productivity if they shun open source.
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 and keep their copyright notice. Open source should be used just because it is 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 the system, for example, the algorithm to generate some secure data, access keys to your hosting provider, admin configurations, hosting configurations among others.
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 backire. 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 places 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 quality consciousness and responsibility is dependent on the people who are contributing to it.
Follow the Process
Many people put efforts to build a solution faster, but the negative side effect of speed could be quality. The reason operating systems and language versions are rolled out slowly is because they need to be tested, and many factors need to be considered. 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 such as Agile and Kanban. Using the right process and mandating its utilization is the key to a successful open source project.
Easy and less time consuming? No
Open source is not less time consuming. It’s a common misconception that open source consumes less time and it’s easy to implement. Initially it appears that open source does seem to take less time, but the learning that comes along with it can take its own 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, she 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, but you need to know the science behind it to get things right.
The essential point is that open source is not here to just stay, it is here to rule. If 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 support and progress. You need to contribute back to open-source if you want it to do well for you. 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 author is Co-founder and managing director at Josh Software.
Disclaimer: This article is published as part of the IDG Contributor Network. The views expressed in this article are solely those of the contributing authors and not of IDG Media and its editor(s).