Previous: Priotitised Load Balancing with nanomsg
In past days I was challenged couple of times about my decision to publish nanomsg under MIT/X11 license. Other folks, on the other hand, were extremely happy about the license. So, I written this article to give a short explanation of the licensing choice.
First, there are two different meanings of "freedom" in software world. No, I don't mean "free as in speech" vs. "free as in beer". What I mean is freedom as in "freedom to run, inspect the code, redistribute and modify" vs. freedom as in "Internet made us free".
The former is, of course, four essential freedoms as defined by FSF. There's no need for more clarification. The latter is kind of vague, so let's try to define it:
- The infrastructure is "free" if it is deliberately designed in a way to prevent any entity to exercise control over other entities; and
- The infrastructure is "free" if it is accessible to everyone; and
- The infrastructure is "free" it it is widely deployed.
The first point means things like "there's no central control point that can be abused to control people at the edges", "The Internet interprets censorship as damage and routes around it" etc. This is obviously not a black-and-white property, but it's often pretty clear to which end of the spectrum individual technology gravitates. So, for example, Internet goes a long way towards being "free". Broker-based messaging, on the other hand, thanks to it's enterprise pedigree is firmly rooted in the non-free sphere.
To finish the discussion of this point, let's say that both ZeroMQ and nanomsg projects were designed with the latter kind of freedom in mind.
The second point means that people are not excluded from the use of the technology by their wealth, country of origin etc. Once, again, it's not black and white, but overall this means that the technology should be freely available even to poor people living from $2 a day. (This used to be a fantasy, but today, with mobile phones getting even into poorest areas in Africa, it is technically doable. China and North Korea are still a problem, of course.)
Moreover, it means that the technology is based on open and free standards. If it was not, some people would be denied access, because they are running exotic hardware incapable of using existing sotware stacks or for similar reasons. If the standard was not open they would not be able to implement the stack themselves. (And yes, we are lacking open standards in the area and we should work hard on delivering them.)
The third point is the most interesting one. The idea is that communication technology that is not deployed is close to useless. If Internet stack run on a dozen of boxes globally, it would bring us almost no freedom.
So, what we need to make the technology free in this sense is to make it run on all operating systems, both free and proprietary, make it used by all kinds of applications, both free and commercial etc.
To achieve this goal, GPL is not just not the right tool. It places an impenetrable barrier between GPL'd world on the one hand, and permissively licensed and proprietary world on the other. Yet, what we need to gain more "freedom" is to penetrate both of these worlds.
Consider following use cases that would not be possible with GPL'd codebase:
- Putting the technology into BSD kernel(s).
- Incorporating the technology into Windows OS.
- Providing the infrastructure on iPhones and iPads.
- Even using ZeroMQ (LGPLv3) code in Linux (GPLv2) in-kernel implementation would be a problem.
- Supporting the infrastructure inside networking hardware.
- Plugging the proprietary products into the infrastructure (IBM's WebSphereMQ, anyone?)
That, hopefully, should explain why nanomsg uses MIT/X11 license and why communication infrastructure, in general, should follow the same path.
Martin Sústrik, Jan 30th, 2013
Previous: Priotitised Load Balancing with nanomsg
Why not public domain?
AFAIK "public domain" is not a legal concept in some countries.
Okay, why not unlicense.org then?
Simple answer: Corporate lawyers. Typically they have clear instructions with respect to using software with major OS licenses (GPL, BSD, MIT). Once you want to use something different, you have to go through corporate approval process which may drag on for months
It's good that you chose the MIT license. I realize this is an old post and an old thread of replies, but I just wanted to add to the discussion that the Unlicense actually has some serious problems in its wording. Specifically it tries to put the licensed material into the public domain as it's first paragraph, then in the third paragraph says if you *DO* have copyright laws in your jurisdiction, then this license also put the licensed material into the public domain. The problem with this is that some jurisdictions have absolutely no concept of a public domain, and some jurisdictions (including those without a public domain) further have no legal ability to relinquish or waive one's inherent or moral rights. So you can't legally give these rights up just because you wrote that you wanted to. The best global license is one that just retains your rights as the author of the work, and simply grants a perpetual license to use, copy, modify, whatever…. i.e. the MIT license. It is well recognized for this, and as you said, it is lawyer approved.
Yes. I should have probably mentioned that in the article. Thank's for pointing that out.
I truly appreciate this post. I have been looking all over for this! Thank goodness I found it on Bing. You've made my day! Thanks again! gakgadfkdcebkbbe
Great post. Sorry to raise the dead.
The Apache License is often superior to 2-4BSD and MIT for freemium/commercial open source projects, especially related to patents and intellectual "property" and it's GPL compatible on the libre-side of things. For a few examples, Android, Swift, Puppet, Cloudera/Hadoop and obviously many other Apache projects use it. BSD and MIT are simple but don't sufficiently watch out for customer concerns. Finally, nearly anything which gains even modest success in the realm of distributed infrastructure will probabilistically encounter patent trolls demanding money for bullshot claims… better have your ducks sexāgintā quattuor aligned.
Have to say, you have a great bias against China.
Post preview:
Close preview