The trouble with "Business Source"
by DJ Walker-Morgan
The problem of creating funding in a new software business is a major one, and doubly so for open source based companies. Michael Widenius recently described his solution to the problem, "Business Source", claiming it delivers "most of the benefits of open source". The H took a look to see how that held up.
Recently, Michael "Monty Widenius, creator of MySQL and founder of the MariaDB fork of MySQL, proposed an idea for something which he says is not open source but provides many of the same benefits while allowing companies to make money. He calls this idea "Business Source" and described it in an ZDnet interview -
The whole idea with business source is actually very trivial. It is a commercial licence that is time-based and which will become open source after a given time, usually three years. But you can get access to all the source. You can use it in any way but the source has a comment that says you can use it freely except in these circumstances when you have to pay.
Widenius is somewhat fuzzy on who would have to pay though, suggesting anything from companies having one hundred employees or "you're a big company or something like that".
But does it make sense for customers and the open source community? Does it deliver "many of the benefits of open source" as Widenius claims? It is somewhat hard to evaluate given what's not said, so we'll have to make some assumptions about the missing elements.
The issue with sharing
Let's start with customers and with the sharing problem. If the software is under a commercial licence then it won't be sharable. Even if it was sharable under specific terms, which customer wants the liability of sharing some software and ensuring it doesn't go to someone who should pay for it? Would the software vendor be sharing the code? And if so, under what terms, given that the code would not be under an open source licence and they've specifically selected "Business Source" as their model.
It's reasonably safe to say assume there won't be any sharing and that's where it starts going downhill. Not sharing means no collaboration between users, one of the big advantages of open source. There's only one organisation a customer could collaborate with and that's the company that sold it the business source licence. Customers wouldn't be able to share code between each other, only with the vendor, unless they were prepared only to share patches. That's convoluted and in the modern world of distributed source code control and pushed and pulled changes, rather unlikely to be a useful digital environment for development.
It is worth taking into account that the MySQL business model with which Widenius has been acquainted was built around taking ownership of changes through copyright assignment so that the company's GPL-based dual licensing model would work. It's a model that can be good for getting fixes into the core of the code, but not for building a development community; it could be suggested that the real expansion in the MySQL ecosystem came about with the diaspora of MySQL developers during the Sun/Oracle transition.
But, the customer still has code they can modify and change and deploy. They just can't share; does that have any tangible effect? Red Hat's Dave Neary thinks so; in a recent presentation he noted that "because open source enables wider adoption and distribution of the software we base our products on, we’re able to 'punch beyond our weight', making a bigger impact than otherwise possible". Without that extra impact, it's far harder for software to get the traction it needs to succeed.
The problems of deployment
At least the customer can deploy the software for their own use but the question is how much deploying can they do. It's another undetailed element of "Business source", but there do not seem to be any good outcomes. Does a big company that pays for business source get an implicit site licence or does it pay per server? The former restricts the possible monetisation and makes the price of the software higher; the latter keeps the cost down but adds in an extra deployment cost.
The alternative is to have support services separate and per server and the software licence only cover a right to run – "Business source" software may well come with all the complexity of proprietary software purchasing. With open source, even if a company signs up for commercial support, it is still free to use the open source version of the code and benefit from being able to freely deploy the open source version. As a side note, if your commercial open source supplier restricts that behaviour, it's not open source, it's a free trial.