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. Hi Shlomi, I see your concern, and it’s a valid one.

    However, I doubt that changing the license at this point will make much of a difference. As Domas pointed out, even the GPL won’t stop people from modifying your work and not sharing their changes if they’re not distributing anything (well, except if you would consider going with GNU AGPLv3 – http://en.wikipedia.org/wiki/Affero_General_Public_License). So if they use your code for a product that is offered as a service, you still don’t have any leverage on forcing them to release their modifications.

    Heck, many don’t give a damn and even include GPLed code in the products they distribute. I don’t want to know how many do it and get away with it, because it a) needs to be discovered and b) someone needs to challenge them on that. If you haven’t assigned copyright of your code to the FSF, you would have to do this by yourself…

    So the sad reality probably is, that one can only hope that everybody plays by the rules as outlined by the license. And I think by keeping your code under BSD, you’re setting a good precedent, as it’s usually perceived as a much more “friendly” license with less strings attached, which encourages collaboration and contributions.

    I would be more concerned about the negative connotation that a sudden license change brings than a few free-riders that couldn’t care less about what license the software is under they are incorporating in their products.

    LenZ

  2. shlomi,

    just fyi if you don’t pick GPLv3 and I am a closed source company I take your code and use it internally and forget about this circus with licenses as many ppl said above.

    so if the license won’t protect your code against evil what is the right attitude?

    i think to use the less restictive license like MIT/BSDL

    this won’t prevent anybody in FOSS community to use your code

    using viral licenses(like gplv3) is not really nice from my point of view

Leave a Reply

Your email address will not be published. Required fields are marked *

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