openark-kit, Facebook Online Schema Change, and thoughts on open source licenses

MySQL@Facebook team have recently published an Online Schema Change code for non blocking ALTER TABLE operations. Thumbs Up!

The code is derived from oak-online-alter-table, part of openark-kit, a toolkit I’m authoring. Looking at the documentation I can see many ideas were incorporated as well. And of course many things are different, a lot of work has been put to it by MySQL@Facebook.

openark-kit is currently released under the new BSD license, and, as far as I can tell (I’m not a lawyer), Facebook’s work has followed the license to the letter. It is a strange thing to see your code incorporated into another project. While I knew work has begun on the tool by Facebook, I wasn’t in on it except for a few preliminary email exchanges.

And this is the beauty

You release code under open source license, and anyone can pick it up and continue working on it. One doesn’t have to ask or even let you know. Eventually one may release back to the community improved code, more tested (not many comments on oak-online-alter-table in the past 18 months).

It is a beauty, that you can freely use one’s patches, and he can then use yours.

And here is my concern

When I created both openark-kit and mycheckpoint, I licensed them under the BSD license. A very permissive license. Let anyone do what they want with it, I thought. However Facebook’s announcement suddenly hit me: what license would other people use for their derived work?

The OSC has been release under permissive license back to the community (again, I am not a lawyer). But, someone else could have made it less friendly. Perhaps not release the code at all: just sell it, closed-source, embedded in their product. And I found out that I do not want anyone to do whatever they want with my code.

I want all derived work to remain open!

Which is why in next releases of code I’m authoring the license will change to less permissive and more open license, such as GPL or LGPL. (Of course, all code released so far remains under the BSD license).

20 thoughts on “openark-kit, Facebook Online Schema Change, and thoughts on open source licenses

  1. Thank you all for your valued comments and input.
    I will meanwhile refrain from making changes to projects already released by BSD, until I get to consider in more depth the implications.

  2. To ellaborate my eariler comment: you just proved that BSDL works! And you change to a viral license now? 🙂

  3. Please note that what you wrote will always stay as free as you made it, someone else will not make it vanish by doing something with the code and not publishing their own changes to it.

    Also, ask yourself if you would rather have someone redo the work you did, possibly less well, than use your work to build on when they are not going to contribute back. For myself, the answer is that I’d rather have people spend time on new code and re-use what has been done once well enough.

  4. stargazer how does the original code get vanished if somebody fork it and doesn’t give it back to the community?

    it is obviously not true what you are saying, and what I pointed out earlier there is no license will protect you from an in-house usage by any company. how can you prove that somebody is using your code if there is no public visible sign of it?

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.