Monday, October 13, 2008

Free Open Source Software (FOSS) is Not Free and Commercial Software is Not Cheap

Sometimes open source is thought as free but there are commercial products that are open source as well. “Free” should be used if no price is paid when acquiring software (In some place, “Free” is used as in “Free Speech” but in this post I refer to “no price” meaning).

Open Source model is a very big debate. In any software project, main question is to buy or build. This question can be asked in any level or part of software. “Buy” decision follows Commercial or FOSS options. Commercial products and free software compared again and again in any project. If no solution found in the market for the requirement, “Buy” decision is changed to “Build”.

I think when answering to use or not to use FOSS question, following dimensions should be determined to give the right decision. These dimensions (Project, Team, and Software) are important to show why there is no single answer to the question:

1- Project Scope: If this project aimed to produce a software product, what will be the implications depending on FOSS from licensing to support in the future?
2- Project Schedule: Do we have enough time and resource to compare options? What will be the right option for us? If wrong option is chosen, do we have enough time to change selection?
3- Project Team: Do I have skilled personnel to easily adapt to FOSS? Will we find required personnel if turnover occurs?
4- FOSS Type: Type of software artifact is changes answer. How critical the FOSS dependency is important. If I depend on FOSS API, what will I do if API changes? Is this API only a utility?
5- FOSS Maturity: Sometimes commercial alternatives can be very weak.
6- FOSS Alternative: Sometimes there may be no commercial alternative.

FOSS types can be categorized as follows (List could be as long as software categories. I gave only one example for each, but there are many others):

1- Operating System: Linux
2- Application Server: JBoss
3- DBMS: MySQL
4- HTTP Server: Apache
5- Persistence Frameworks: Hibernate
6- Web Frameworks : Struts
7- Reporting Frameworks: Jasper Reports
8- Messaging Frameworks: OpenJMS (Free?)
9- JS Libraries : jQuery, YUI
10- Rule Engines : Drools
11- Workflow Software: jBPM
12- Office Software: Open Office
13- ERP : Compiere
14- CRM : SugarCRM
15- SCM: (?)

“FOSS is not free” argument is based on following hidden costs (Some of these costs are also valid for commercial alternative):

1- Learning Cost: FOSS especially lacks documentation. Sometimes FOSS documentation is subject to a fee. After acceptance of FOSS, initial learning curve is high and if this period is not supported with good educational material, it is impossible to reach result.
2- Integration Cost: FOSS integration is sometimes higher than commercial alternative, because FOSS depends on many open source projects. These dependency chains bring much higher cost.
3- Replaceability Cost: In any software project, dependency is tried to be minimized and replaceable. Standards help us in this issue. This cost also exists when using commercial product.
4- Customization Cost: As the license allows us to change source code, fixing problems creates another venue to manage. Our fixes should be reflected to the core of FOSS otherwise we should apply every time when we get a new version.
5- Support Cost: There is no call center or customer representative in FOSS or with paid services. Finding a support service may be very hard and trusting this service will be another problem.
6- Longevity Cost: There is no corporate strategy behind FOSS option. Many of the strategies are determined by the developer team. Everything is dependent to these core team or person. If someone switches to another open source project, it is ambiguous that his/her gap will be replaced without any problem. Corporate umbrella is very important in this aspect.
7- Down-time Cost: If something goes wrong, how the problems are fixed and what will be the total time to solution? How many users exist in the system and how much does it cost when system interrupts working? This issue is not limited with only down-time cost; another major cost is people decreasing (or vanishing) belief in the system or project if this occurs frequently.
8- Change Cost: I see many major changes in terms of API or standard support. These changes in the release notes are not taken into considerations when software evaluation. I think users can’t affect these changes as much as in commercial one.

Although these costs are associated with FOSS, vendors who provide commercial products have many problems that power this movement:

1- Very High Prices: Some products are very expensive (sometimes with the advantage of monopoly). When considering many servers, many CPU’s, many clients, total amount of invoice is dramatic. This cost may result with over-budget project failures.
2- Wrong Licensing Policies: Some vendors do not provide options for company scale. Some vendors change from one-time paid license to annual paid model. Maintenance prices are changed very easily without customer feedback.
3- Re-polishing: Same products are rebranded or repackaged without valuable features. Especially technology hypes are used for this purpose. For example, subscription based software model name is changed from ASP, to SaaS, then recently On Demand. SOA is one another example.
4- Vendor Consolidations: Corporate merge hurts customers in terms of product strategy changes. This brings customer confusion and liability of vendor.
5- Making Products Bloatware: Some products have turned into giant of software in terms of feature and functionality. Users pay same price for 15% usage for overall product.
6- Lack of Innovation: As company and customer base grows, stagnation begins. First years of innovation is left behind in the past. Users can’t meet new requirements from vendor products then have to search open source projects. For example, most of ORM libraries are written in open source community. It is nearly impossible to find a new ORM product in the market.

2 comments:

Stewart said...

Hi Ibrahim,

This is truly awesome information on "Free Open Source Software (FOSS) is Not Free and Commercial Software is Not Cheap". Thanks a ton for sharing it and I look forward to see more from you... :)

Commercial Software

Ibrahim Levent said...

I've just received an email from Thought Inc. about their ORM product Cocobase. Thank you for your feedback.