Monday, November 16, 2009

Is Freeware enough? Why disclosure of Source code is so important?

Software developer and Blogger Marco Milani wrote a nice article about pitfalls of "Freeware". 

Software like Firebird, Firefox, Thunderbird, Freemind, Joomla, WordPress, Debian, Lingoes can be great but "All that glitters isn't gold"! Some threats may break the dream of completely free software.

First of all a software that is free today can not be free forever! A recent example comes from PostBox, a new e-mail client based on thunderbird (wrote by the former thunderbird's developers) originally claimed as "a free e-mail client" and switched to commercial in September once the first stable release appeared and after a lot of users tested the beta versions. In this case the testing of the user was free not the product!

Free mean "at your own risk"
If you pay nothing to get a things you also get no warranties about that things and no support in case of problems. If company stops giving away free you may have already been using it and you may realize FREE CHEESE IN MOUSE TRAP!

Open source is Preferred
Even open-source projects can die because of lack of development, but in case of crucial business involved the last chance is to directly support the development. Secondly when you have source code instead of waiting for next release you can customize it from the first day. Internet Explorer is one of the worst example of such Close source free product. Since release of IE 6.0 there were too many known bugs and and users who has been accustomed with IE  had to live with that.  Then next version of product had different problems. IE had even many critical bugs that took time to get fixed. If source code were in users' end they could fix it themselves.

Plan the way-out
Even if the project is promising good things try to answer the question:"what if the project will die?". Some ways out can be:
  • Start maintaining the code (maybe really expensive in term of resources...)
  • Switch to an existing fork or equivalent product
  • Build a new similar product from scratch
  • Buy a commercial version if exists
The way-out plan is mandatory if the free product or service is part of the core business. It would be unacceptable to build an important business over a weak solution or a solution with an uncertain future! You can only do that if you have source code in hand!

This means that in general is a bad choice to use free-closed-source software in core businesses