Immediate thoughts on Business Source Licensing

Sunrise at SanurI just got back from a vacation to see articles about Business Source Licensing. I’ve divided my thoughts into four parts here: Opensource and its merits, Is unpaid opensource usage bad?, MariaDB’s “Problem”, Business Source Licensing. If you haven’t read them yet, here’s some mandatory reading:

  1. Open source: Its true cost and where it’s going awry by Monty Widenius
  2. MySQL Co-Founder Wants You To Pay Up For Open Source

There is much abuzz on Twitter as well. From the likes of Mike Olson (who is right, MariaDB may have issues that are different to other OSS products – no two OSS projects/products are alike), to a lengthy conversation between Jim Jagielski & Matt Asay, as well as another conversation spurred by Matt Asay.

Now for some of my own commentary.

Opensource and its merits

Companies have been heavily using opensource and the reason they like this is because it is open. They don’t pay for licenses like proprietary software. They use opensource because they don’t have to pay for support, services, or anything around it. Countries have pro-opensource policies so that they can empower local citizens and further strengthen their sovereignty. This is what makes opensource popular: the fact that the software comes to you with many freedoms.

Is this bad for companies building businesses around opensource software products? Well, kind of. It means you have to provide real value before someone decides to pay you. And if for some reason you price yourself out of the market, companies choose to hire resources internally. This is the beauty of opensource. Many companies I know have started to use RHEL licenses from Red Hat; once they decide they see less value from the updates or the knowledgebase, they switch to CentOS at their next cycle. No problem there.

Is unpaid opensource usage bad?

I’m going to say that I disagree with Monty and think that he is wrong here:

“The more people are using it and, in these cases, abusing the whole idea of open source by not paying back either with development or money to help projects, it is actually destroying open source.”

I really don’t think opensource is destroyed by having many users and lacking corporate sponsors. This is the way of opensource and has been for a long time. Apple makes use of CUPS to ensure printing works – they did so long before they hired their main developer. We all benefitted from Samba which is how we talk to Windows printers/shares/etc. which had no real commercial company around it (Linuxcare, then IBM, then other providers funded the work). LibreOffice has always existed with lots of work by various distributors of (via the ooo-build system), which is why the project took off so fast.

MariaDB’s “problem”

When there is commercial need for opensource, the corporate sponsors will arise. It takes a long time to get to a stage where you are going to get profitable in an opensource services or infrastructure company. Red Hat didn’t get to a billion dollars overnight. Neither did MySQL.

I will not comment on the financials of Monty Program, SkySQL or how tough it has been to bootstrap the MariaDB project because I clearly am privy to information there. I am particularly proud of how we’ve done a relatively great job at getting MariaDB users and distribution, all on a bootstrap marketing/PR budget with no professional help :-) However, I will reminisce another day.

Simply put: if Oracle stopped producing opensource MySQL or decided that they would shut it down, there would be immediate need for MariaDB and the corporate sponsors would come in throngs. The truth is that Oracle continues to produce MySQL as an opensource product. It may not be a full opensource project (internal trees, delayed public pushes, private bugs database, internal mailing lists, etc.) that follows “the architecture of participation”, but it is still an opensource product. This is what has enabled people to take MySQL and extend it further. Look at the Facebook 5.6 tree, or the Twitter 5.5 tree.

There is talk about the dual-licenses that MySQL chose to use. I remember a time when the connectors were LGPL. They were then relicensed as GPL. They still are. But I think we effectively nipped this with the: MariaDB LGPL Java client, MariaDB C Client Library, and the BSD drizzle stuff.

Business Source Licensing

Now for the bits on business source:

“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 said.

“You’re forcing a small part of your user base to pay for the restrictions, which can be if you’re making money from [the software], if you have more than 100 employees, or you’re a big company or something like that. So you’re forcing one portion of your users to pay. But because it’s time-based, everybody knows that you can still contribute to the project,” he said.

“Because you have the code, you know that if the vendor does something stupid, somebody else can give you the support for it. So you get all the benefits of open source except that a small portion of users has to pay. As long as you continue to develop the project, each version still gets a new timeline of three years.”

Hmm. I see many people commenting that MariaDB might become business source licensed. I am here to tell you that MariaDB is GPLv2 software. It will stay GPLv2 software.

Reading the definition of business source licensing, it is nothing like what Matt Asay portrays it to be:

“Business source is simply proprietary software released under a Microsoft-esque shared source license that magically becomes fully open source after a period of time.”

I’m sorry but the description above is pretty clear. This is nothing like Microsoft shared source. It is code that becomes licensed under an OSI-friendly license after a time-period; however everyone using the software gets the code. How does one enforce payments? I don’t know. What are the conditions requiring you to pay? I don’t know.

At this stage, I am open to thoughts on such a licensing model but I have no firm thoughts on this myself. The best description of how this works is given above by Monty.

Update: Sun 2 Jun 2013 17:33:53 MYT Monty has an update on business source licensing in a comment on Matt Asay’s column.

  • Arjen Lentz

    The business source license would only make sense for a product that doesn’t have open source development, but rather was using or would use open source publishing. That is, all development is done internally, and only the releases are open source rather than the development process.

    If a product is developed in that way, it could be GPL and be sold to clients. That is, anyone who wants the product buys it, and gets the source with it under GPL license. Most clients have their own core business and will have zero interest in re-publishing that code. They just have the code available in case anything happens.

    So from this perspective, I don’t see the point of having a business source license at all, as it amounts to the same as using GPL in the way described above.

    However, open source publishing has issues, whereas open source development has proven advantages including better code quality and higher contributor rate. With business source it’s even worse, with the source only becoming available to a larger group after some time. This inevitably limits the number of people with expertise. That may be regarded as an asset (clients have a limited set of service providers to choose from) but for those who need expertise internally, it’s highly problematic.

    Also remember how when MySQL Enterprise Edition received new features and bugfixes not yet present in MySQL Community Edition, those clients also had the joy of being the first limited set of users encountering new bugs. Had the development model been open, the bugs would have been spotted or encountered by the community much earlier and probably never even existed in a release. It was bad for quality.

    So, the problem with the development model at Oracle is merely an extension of the open source publishing employed at MySQL AB. Its problems are not mitigated by going even more closed or being differently closed. The problem is that the closed aspects hinder bug finding, code quality, and even release speed (as the QA cycle is slower, if you do want to deliver good quality with fewer testers and no external feedback).

    Thus, it is my conclusion that the solution is to be more open, and always employ the full open source development model. This produces the best code quality and serious users respect that. Crying that people won’t pay is silly, the trick is to figure out what people actually need.
    Annual support contracts (aka insurance policies) are quite outdated. People demand value for money, what do they actually get out of it?

    My company sells services that people actually need in a way that makes sense to them, and my clients are even happy to pay a bit on top directly for the MariaDB Foundation. This is how Open Query funds its sponsorship (and future membership), it’s directly paid for by its clients. We all have a stake in MariaDB’s future, and that’s not a hard sell at all.

    Dual licensing possibly made sense for some time, but it definitely doesn’t now (not just because we’re all on the receiving end of its problems rather than being the owners).
    I think business source has a similar issue. It tries to mitigate the negative effects of part of the development and business model by introducing more restrictions, thereby hindering all kinds of things that a healthy product ecosystem requires.
    Once you have established that overview, I cannot imagine why anyone would think this could be a good idea.

    Don’t get me wrong, I’m sure it can make money – but that doesn’t mean anything for the long-term quality of the product, the ecosystem, or even the company that makes the profit. I conclude it is not a good idea.

    • Pnáwål Husnoo

      “My company sells services that people actually need in a way that makes
      sense to them, and my clients are even happy to pay a bit on top
      directly for the MariaDB Foundation.”

      What does your company sell?

      • Arjen Lentz

        DBA/sysadmin/security service (mainly remote but some on-site), training, consulting – see

        • Pnáwål Husnoo

          Thanks :-) It’s good to see that there are successful companies out there that give away the code and make a living on the service contracts.