FloSoft Logo
FloSoft Systems
Developer, not business, friendly

Why Pure Open-Source Is Inappropriate for most Micro-ISV's

 
 

Overview

Throughout my career I have contributed to well over a dozen open source projects. The experience has been extremely rewarding from a personal point of view. I will continue to contribute to such projects until I leave the software business. But one thing this experience has taught me is that pure open-source is one of the worst models to build a software company on. At the same time I have had equally bad experiences with the closed source world and thus am even more painfully aware it too is the wrong model.

For these reasons this is the first of a series of blog entries on a middle ground model. This entry will focus on why Free Open Source Software (FOSS) is inappropriate for most Micro-ISV's, I assume the reader is well aware of the issues of a closed-source mode. In the next entry I will look at the philosophical and legal issues of making the middle ground solution. This final entry in the series will address the practical implications of this model and how FloSoft Systems implements it (along with a brief look at the community of like minded Micro-ISV's that has developed around this model).

 
 

Money and FOSS do not mix well

For various reasons it is very hard to make a living from pure FOSS work. While I get into the nitty gritty details below of why the root cause for this is it is almost impossible to cleanly combine money and FOSS projects. This leads to a number of long run problems for both the users and developers of such projects:

 
 

Current Ways to Make Money with Open-Source

Basically there are two ways to make money with open source and not violate the Open Source Definition:

  1. Ask for donations
  2. Sell services/merchandise related to the program but not the program itself

In the first case we are doing nothing the rely on people's goodwill. While one might argue due to the high rate of piracy all software companies do this; asking for donations is doing this much more then normal. In the second case we assume that there is some aspect of the product that the typical end-user cannot figure out on their own. Broadly put this also includes support contracts.

 
 

Why can't I sell executable (aka binaries)?

There is nothing that prevents this, but there is nothing that prevents anyone from doing the same with your code. The law of the lowest common denominator will therefore force the price of such programs to the price charged by the lowest cost supplier. In the FOSS world except for some coincidental costs like hosting and monthly connectivity fees there is no cost associated with making a copy of the program. Thus over time the price will trend towards being free.

 
 

So, what is so wrong about just being one of many sellers?

Due to a strict reading of OSD we can not discriminate between fields of between people and groups forcing payment for binary use is forbidden (if there is we also offer a free version of them). Without getting into a set of arguments and such that have evolved over the last 5 years or so, the reason why this is forbidden is that by creating two classes of users (commerical and non-commerical) we discriminate between the two. In addition OSD requires source code to be freely avaible (this is one area we agree wholeheartedly with in FOSS). When combining these two it means that anyone can download the source code and nothing prevents them from compiling it into binaries and giving/selling those (provided that they do not do both with the same version). Since the source code is freely available and I cannot discriminate this means they have zero duty to me (even though they are making money from my work).

 
 

So what, no one actually does that

This may sound too hypothetical and unlikely to happen, thus it is nothing more then an interesting theoretical discussion that does not effect me. To anyone who thinks that way I have one question "how do Red Hat and other commerical Linux Distributions make money?". Since this case is so obvious I will leave it as a exercise to the reader to answer the question. So the bottom line is Red Hat has market value of 3.76 billion (as of this writing). Except for some superstar developers that Red Hat sees the value in support they don't have to pay a penny to any of the developers of their flagship product.

While there are a few other minor issues that arise in different circumstances and under different licenses this is the core problem with attempting to make a living with FOSS.

 
 

Dual Licenses Solve this Don't They?

Yes dual licenses like the one for MySQL do solve this problem but they create a few problems of their own:

  1. While the initial developer is rewarded there is no provisions for contributors
  2. In order to comply with OSD most dual licensed products have a commerical and a "community" edition. The community edition is often not as rich as the commerical one and/or is a few versions older.
 
 

There is a solution

While I will not discuss it in any detail until next week's blog entry, FloSoft Systems in cooperation with several other like minded Micro-ISV's has developed a model that allows for the core benefits of FOSS, free and equal access to the source code and 3rd party enhancement and avoids the "Red Hat Problem". In the meantime please refer to the site of the governing body this group has established at Miai Foundation for Sustainable Intellectual Works.