It seems appropriate that Sweden, the original home of MySQL, should be part of the ancient Norse territories, for the MySQL open/closed code story is threatening to turn into a saga as long and as complex as Njal's.
To recap. First, came the news that MySQL was preparing to release some backup code as closed source:
Officials at Sun Microsystems, which acquired MySQL in February, confirmed that new online backup capabilities now under development will be offered only to MySQL Enterprise customers -- not to the much larger number of users of the free MySQL Community edition.
Then came the explanation from MySQL's boss, Marten Mickos:
we are contemplating a number of scenarios. And one is that it would be closed source and nobody other than us could see the source code; another is that we give the customers the source code if they like to see it, which we certainly can do; the third one is that it is GPL, we just don't ship it to other than paying customers. So there's a number of alternatives. Because we didn't have to decide yet, we didn't, that's something we'll do when the features start to get ready and we start shipping them to customers.
Now we have this from Kaj Arnö, who is responsible for MySQL's open source community relations group:
MySQL Server is and will always remain fully functional and open source,
so will the MySQL Connectors, and
so will the main storage engines we ship.
MySQL 6.0’s pending backup functionality will be open source,
the MyISAM driver for MySQL Backup will be open source, and
the encryption and compression backup features will be open source,
where the last item is a change of direction from what we were considering before.
So what can we learn from this twisted tale?
First, that MySQL's initial announcement of the closed source code element was ill thought-out, something Mickos freely admits: “we didn't communicate this thing right, we have only ourselves to blame for this coming out the wrong way.” MySQL's later swervings are at least a sign that the company is paying attention. Moreover, as I've noted before, Mickos was very quick off the mark to start some damage limitation by contacting journalists and bloggers; that too augurs well for the future.
Another important point is that the outrage generated within the open source community did have some effect. As Mickos wrote to me in an email yesterday: “The timing of this new decision has to do with the public debate, but the actual decision is a result of on-going discussions we have and have had with core contributors and Sun's management.” This means that when the free software world sees something it doesn't like, it should shout. Whether or not the company concerned responds will vary according to the outfit and its attitude to the community. The ones better-attuned to their users will modify their behaviour, as MySQL has done; those who don't care and don't change probably won't be around for long anyway, so nothing is lost at least trying.
The final point is that MySQL's experimentation is clearly not over, even if some of the code that was to have been closed on this occasion won't be. There seems little doubt that the core MySQL code will always be open – to do anything else would be suicidal for the company. But as Mickos said to me a couple of weeks ago:
An important part of this is our and perhaps personally my belief that in terms of open source businesses it's such a new industry that we just must continue to experiment. And this is a serious experiment, but it's an experiment nevertheless. And some people say, Marten, why don't you just go back to selling support, that's the business model for open source? And I just refuse to think that that's the only way to build a business and that that's what we all should settle on, because I don't think that's a useful thing for either the customer or the vendor.
This was not just some isolated incident that won't be repeated; juding by Mickos's remarks above, MySQL looks likely to continue with its “experiments”, testing not just what works in terms of business models, but what is acceptable to the community. Free software purists will object, but Marten has a point about this industry being young. There may well be other ways of both making money and supporting open source, and it's to MySQL's credit that it's prepared to take a few risks – and a few PR knocks - in trying to find out what they might be. I can't wait to read this saga's next chapter.