Skip to content

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

MySQL mycheckpoint Open Source openark kit Opinions September 16, 2010

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).

- Twitter
- LinkedIn
- WhatsApp
- Email
- Facebook
- Print

###
20
Leave a Reply

20 Comment threads
0 Thread replies
0 Followers
Most reacted comment
Hottest comment thread
9 Comment authors
Recent comment authors

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

Subscribe
Notify of
Guest
Tyrael

hi.

haven’t you thought about this kind of situations before?
I mean it’s weird that you change your license, after somebody actually do-what-they-wanted-and-the license-allowed-to-do.

Tyrael

Author
shlomi

@Tyrael,
Well, people change their minds 🙂
I’m happy with the use made so far to my code. I have just realized how important it is for me that the code remains open: for me, for you, for everyone.

openark-kit, Facebook Online Schema Change, and thoughts on open … | Facebook Good Tips Info

[…] this link: openark-kit, facebook or twitter Online Schema Change, and ideas on open … Category: Uncategorized Tags: bsd, code, code-incorporated, currently-released, […]

Guest
Domas

though I’m not alleging anything about this exact case neither do I represent positions of affected parties, I just wanted to say that more restrictive licenses may be the reason your code will not be reused and you will not get attribution.

also, GPL will not force people to opensource their modifications, so you will not win openness.

whatever license you pick, it applies to redistribution only, and nobody is obliged to redistribute, only the method of redistribution is shaped by license texts.

Author
shlomi

Hi Domas,
Thanks. You were sure careful to pick your words 🙂 No reason to.

You are right that GPL will not force people to opensource their modifications, if they never release them.
But should someone choose to distribute a commercial product, then he/she is affected by the GPL.

“…more restrictive licenses may be the reason your code will not be reused…” – I need to think this over

“…and you will not get attribution…” – this is not my concern. It’s not a matter of glorification.

Thanks

Guest
LenZ

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… Read more »

Author
shlomi

Thanks, Lenz, valid points. I’ll give it further thought.

Facebook open sources live MySQL makeover

[…] code for OSC is derived from Shlomi Noach’s tool, and like Noach’s tool, it has been open sourced under a BSD […]

Guest
ahoka

This license change makes no sense at all.

Guest
istvan

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

Author
shlomi

Istvan,
Yes, of course in-house code doesn’t have to do anything. That’s OK.

Author
shlomi

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.

Guest
ahoka

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

Guest
stargazer

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.

Guest
istvan

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?

Guest
istvan

stargazer, sorry i got it wrong what you wrote, i was in rush

i agree with you

Guest
Vitaly Karasik

Shlomi, many thanks for your openark-kit, especially for oak-chunk-update.
I’m going to delete about 70-80% from 50M records InnoDB table in production environment. So oak-chunk-update should save me at least 3-4 hours of downtime.

Vitaly [I was on you mysql performance course last year]

Author
shlomi

@Vitaly,
Good to know it is being put to good use!

Guest
Mark Veltzer

Shlomi, There is a very important philosophical reason to use the GPL. My next bit may sound too self important or the like, but philosophy is like that. Here is a claim: Human progress is made up of mechanisms in society which make people co-operate more when they short term interest is to co-operate less. Usually this also involves serving some of the other self-interests that these people have (in the end people always serve their own self interest). Examples: – marriage: the father (usually) would leave the mother after childbirth. In early societies we would be huddled in clans… Read more »

mycheckpoint (rev 208): aggregation tables, enhanced charting, RPM distribution | code.openark.org

[…] mycheckpoint is released under the New BSD License. Still, and will continue to be. Thanks for the good advice by Lenz, Domas and […]

wpDiscuz
Send to Email Address Your Name Your Email Address Cancel
Post was not sent - check your email addresses!
Email check failed, please try again
Sorry, your blog cannot share posts by email.