- Is your software your primary USP?
- Do you have a mature software platform that serves a specific purpose, developed by you and your team?
- Do you have hundreds of thousands of people using your software?
- Is your software under continuous development.
If the answer to all the above questions for you is yes, then here is why you must release your software source code under an appropriate license.
1. Limit to innovation and experiments over time
Developing a kick-ass product and doing it right is really a great achievement. I have seen many good ideas just not make it through the first 6 months. So if you have hundreds of thousands of users for your application, you have really achieved something. Have a champagne or something and celebrate. And after that, just think for a moment where your product will be heading from here. You can get a team to work on the product and figure out what new features you want to add. Maybe, you already have a team in place doing that, but the truth is, there is very little you will be able to achieve that way. You can conduct tens of experiments every month but users will hardly like some of them. Think about Google's Gmail, it was launched in April of 2004 and has taken 11 years to become what it is today. On the other hand take something like Android OS, again owned by Google. It is open source and has gathered a large community working to improve it. It has become very intuitive and easy to use in just 6 years. It is competing head on with Apple's iOS, which is considered to be a marvel in terms of usability. If you find a bug in Android and you think you can fix it, you can download their source code, fix the bug, create a patch and submit to them. This makes every Android user a potential QA and a developer. There are other ways you can contribute to Android by reporting bugs, etc. If you don't want to contribute, you can just release it as another OS. All this makes Android a very engaging experience which people flock to.
2. But there are so many open source software out there.
That is true, and here is where your hundreds of thousands of users are going to help you. When you release your software with an appropriate license, it makes it mandatory for people who are using it, to provide proper attribution to the creator of the software, in this case you. Checkout some popular blogs and look out for something like "Proudly Powered by Wordpress" or simply "Powered by Drupal". These blogs are using the said open source software and providing proper attribution to the authors of the software. Of course these can be removed but you can license your software so that it becomes mandatory. Now when a blog reader sees the attribution and finds out how easy it is to create his own blog website, he becomes a user too, thereby increasing the reach of the software. This is self driven growth. You did not have to invest, but you are getting more users and also becoming quite popular. And most of entrepreneurs will know the importance of this.
3. Is that secure enough?
The short answer is yes. Let me give you an example, you must have used some ssl enabled websites, the ones where the URL starts with https://. Well guess what, these servers are most likely using OpenSSL, an open source software that enables ssl over the internet connections. Every once in a while vulnerabilities are found in this software, but because OpenSSL has such a large community, that the bugs are quickly fixed and patches start circulating in a matter of hours. OpenSSL is being supported by Department of Defense and Department of Homeland Security. So the point being, if you do it right, you can have a very secure open source software.
4. There are many closed source products that have made it big without going open source
That is mostly true for either early products like Microsoft's Windows OS or exceptional ones. But if you look closely, there will be some parts of these products which are open source. Coming back to Microsoft's Windows OS, it is a very popular OS, but it hails from the days when things like open source did not matter. It has a very strong hold in the market, but it is really losing traction gradually. On the other hand, open source Linux based operating systems are gaining traction. Even if Slowly but surely. If you project statistics, you can clearly see where it is all going.
5. Do I have to release source for entire software?
No, you can release parts of it and keep some of the software to yourself. You can even have an alternate version which is open source and may not release your own software. Something like Google's Chrome browser. It has an alternate open source version called Chromium. You can contribute to Chromium but not to Chrome. You can even create your own browser using Chromium. In fact Google Chrome draws it's source code from Chromium. Sounds confusing? It's really not. In this case think about yourself as a vendor using the software. You would get the source code, customize the branding part and whatever is allowed by the license and use it as your own. So Chromium is the open source software here. Google is pulling code from it, making other changes and releasing it as Google Chrome. What they are giving a part of software and what they are receiving are a lot of contributions in terms of patches, bug reports etc. Compare this with Microsoft's Internet Explorer and you will know what I mean! In essence, you may release part of your software as open source and keep some of it proprietary to yourself. But it does not make sense here to have an open source part that will not work without the proprietary one. Your open source software should be a complete working product, even if it is with a few missing features. Even Facebook has many software which are open source, but their main platform is not.
To put this in final words for the article, you should seriously consider going open source with your well adapted software product. Going open sources create innumerable opportunities for the growth of your product. It will drive more users and create a community which is interested in that same area as your product. You can also leverage this community for many benefits ranging from accepting patches from them to getting suggestions for cool new features. The only key to do this right to be careful about choosing the license and keeping certain parts to yourself. There are experts available to help you with both of these.
What do you think about it? Let me know in the comments below...