Switch to BSD?

Dear RIOTers,

we have been receiving an increasing amount of negative feedback from various companies concerning the practical usability of our LGPL license in their context, being a show-stopper.

For this reason, INRIA, Freie Universitaet (FU) Berlin and Hamburg University of Applied Science (HAW) are currently considering changing the license of their contributions to RIOT to a less restrictive license (i.e. BSD, potentially as soon as next release).

Such a switch to BSD is betting that the effect of a potentially smaller percentage of user/devel contributing back to the master branch will be dwarfed by the effect of a user/devel community growing much bigger and quicker. This seems doable considering the current momentum around RIOT.

In a second phase, if such a license switch takes place for INRIA/FU/HAW contributions, we would then contact other contributors individually, to check their status concerning a similar switch for their own contributions.

But in the first place, we would like to debate this topic. In particular: is anyone violently opposing the idea of migrating to a less restrictive license, such as BSD? If so, why? On the other hand, if you explicitly support the license change, feel free to indicate this as well. Please send your opinion to the list before Dec. 10th.

Cheers,

Emmanuel

Emmanuel, I support the change to BSD. One of the reasons is that OpenWSN is also on BSD, so integration of the different code bases might be easier when both have the same license. Thomas

Hi,

BSD is one of the most useless, outdated licenses there is. You give away all your rights to the code up to the point where you are sued because you use the code that you wrote.

Any enterprise who claims that they would like RIOT OS to switch to a BSD-style license is no gain for the community. They simply would like to rip off the actual contributors.

Opposed to that the Apache License was written by people who actually knew what they were doing, and the is core of the Android OS, which one can consider fairly successful, seeing that it is currently the most prevalent OS, used by many many small and giant enterprises.

I am not opposed to relicensing to Apache 2.0 [1], I would welcome it. Actually I already said a year ago that we should use the Apache License instead of LGPL. :wink:

But if you want to discard all the rights to your code, then at least use the MIT license. The name is clear instead of the having to specify which of the four different flavors of the license you mean, and MIT is much more often used in new project. [2]

Best regard René

[1]: http://www.apache.org/licenses/LICENSE-2.0.html

[2]: http://www.theregister.co.uk/2013/04/18/github_licensing_study/ Disclaimer: "… his study was by no means scientific, nor was his data set complete …"

While I’ve been a fervent supporter of the GPL for many years I’m on board with a change to a simple BSD or MIT style license. Initially I was skeptical about the need to move away from the LGPL but in the world of embedded systems it’s very common to make changes to the core codebase in order to work on various platforms. Under the LGPL such changes would have to be tracked, checked for IP conflicts, and made available. This requirement may very well end up being so onerous that it may vary well push companies to adopt a more suitably licensed alternative over RIOT.

This (migrating to a BSD license) should be an “awesome” step, especially for small design companies like us.

Thanks, Akshay

I am also very much in favor of using a license which requires openness but like Adam said, in the embedded world it is quite common that changes will be necessary in order to support some hardware configuration. Additionally, the interpretation that we would need dynamic linking in order to comply with the license without opening up all application code makes this a quite important question.

Companies are not always willing or even able (because of patents, NDAs or other contracts) to release the source of proprietary applications. The use of LGPL in RIOT has been the source of some discussion between me and my colleagues and I hope to see some other license in the future where it is possible to still distribute proprietary applications that run on RIOT.

Eistec (see www.eistec.se) generally has the policy that anything related to the platform and OS (cpu drivers, device drivers, etc) will be sent upstream to related OSS projects, mainly RIOT and Contiki for now (but we have also provided some patches for other tools we use, such as OpenOCD), but we usually want to keep application code (algorithms, higher level service implementations etc.) proprietary. Since we work as a consulting firm it is also common that we do not own the code to the applications themselves but have to negotiate with the client on what parts to release, clients are usually fine with sharing bug fixes and low level driver and OS code with upstream. So far we have only used Contiki commercially but I personally would like to see that change in the future, but for now I think the risk of ending up in a situation where someone can demand any proprietary application code from us makes this a bit too dangerous.

This is my personal view on the license situation, but I know that many of the people I work with share this concern.

Best regards Joakim Gebart Managing Director Eistec AB

Aurorum 1C 977 75 Luleå Tel: +46(0)730-65 13 83 joakim.gebart@eistec.se www.eistec.se

Hi again everyone,

If we’re going for a license that is less restrictive than LGPL, it does indeed make sense to consider alternatives such as Apache and MIT – and not only BSD.

However, I think we need to distinguish between two aspects:

  • the ideas
  • the effects in practice

The reason we consider moving away from LGPL is because, although the idea of GPL is great, its effect is a problem for us in practice. Experience so far shows LGPL is stopping RIOT adoption for too many companies we interact with.

So where I’m getting at is: we need to make sure that we don’t fall into the same trap with a new license. For example: if the idea of Apache seems better to us, but it turns out that in practice most companies we interact with do not want to read the term “patent” in the license, we’re back to square one, which may or may not be what we want [1]. Let’s assume it’s not what we want.

For the moment, surprisingly, I have not heard any company rant against BSD – quite the contrary in fact. So while BSD may be considered old and incomplete, it is still a strong contender in my opinion.

Personally, I agree that the idea of the Apache license seems better, indeed. But let’s check what IoT company (lawyers) think about the Apache license. I think we have to assess whether or not Apache is, in our case, yet another “good idea” which turns out to be a show-stopper in practice.

Caveat: IANAL – a funnily appropriate acronym I just saw in a related post [2]. If anyone has professional or personal ties with an IoT company lawyer, please do not hesitate to chip in at this point.

Cheers,

Emmanuel

[1] Note that we could also choose to stay in square one, and dedicate time/energy to fight for the idea. But in my opinion, we have to choose our battles: our plates are already full with other things that none other than us fight for (i.e. RIOT adoption & quality IoT code ;).

[2] http://programmers.stackexchange.com/questions/40561/is-bsd-license-compatible-with-apache

(( Sorry for x-posting, I assumed we'd talk on users@riot-os :slight_smile: ))

But in the first place, we would like to debate this topic. In particular: is anyone violently opposing the idea of migrating to a less restrictive license, such as BSD? If so, why? On the other hand, if you explicitly support the license change, feel free to indicate this as well. Please send your opinion to the list before Dec. 10th.

Hi,

BSD is one of the most useless, outdated licenses there is. You give away all your rights to the code up to the point where you are sued because you use the code that you wrote.

Any enterprise who claims that they would like RIOT OS to switch to a BSD-style license is no gain for the community. They simply would like to rip off the actual contributors.

Opposed to that the Apache License was written by people who actually knew what they were doing, and the is core of the Android OS, which one can consider fairly successful, seeing that it is currently the most prevalent OS, used by many many small and giant enterprises.

I am not opposed to relicensing to Apache 2.0 [1], I would welcome it. Actually I already said a year ago that we should use the Apache License instead of LGPL. :wink:

But if you want to discard all the rights to your code, then at least use the MIT license. The name is clear instead of the having to specify which of the four different flavors of the license you mean, and MIT is much more often used in new project. [2]

Best regards René

[1]: Apache License, Version 2.0

[2]: Study: Most projects on GitHub not open source licensed • The Register Disclaimer: "… his study was by no means scientific, nor was his data set complete …"

Hi again everyone,

If we’re going for a license that is less restrictive than LGPL, it does indeed make sense to consider alternatives such as Apache and MIT – and not only BSD.

However, I think we need to distinguish between two aspects:

  • the ideas
  • the effects in practice

The reason we consider moving away from LGPL is because, although the idea of GPL is great, its effect is a problem for us in practice. Experience so far shows LGPL is stopping RIOT adoption for too many companies we interact with.

So where I’m getting at is: we need to make sure that we don’t fall into the same trap with a new license. For example: if the idea of Apache seems better to us, but it turns out that in practice most companies we interact with do not want to read the term “patent” in the license, we’re back to square one, which may or may not be what we want [1]. Let’s assume it’s not what we want.

For the moment, surprisingly, I have not heard any company rant against BSD – quite the contrary in fact. So while BSD may be considered old and incomplete, it is still a strong contender in my opinion.

Personally, I agree that the idea of the Apache license seems better, indeed. But let’s check what IoT company (lawyers) think about the Apache license. I think we have to assess whether or not Apache is, in our case, yet another “good idea” which turns out to be a show-stopper in practice.

Caveat: IANAL – a funnily appropriate acronym I just saw in a related post [2]. If anyone has professional or personal ties with an IoT company lawyer, please do not hesitate to chip in at this point.

Cheers,

Emmanuel

[1] Note that we could also choose to stay in square one, and dedicate time/energy to fight for the idea. But in my opinion, we have to choose our battles: our plates are already full with other things that none other than us fight for (i.e. RIOT adoption & quality IoT code ;).

[2] http://programmers.stackexchange.com/questions/40561/is-bsd-license-compatible-with-apache

Hi,

LGPL is much different (then pure GPL) as you can link your - proprietary - code with RIOT kernel. Do you mean they plan to write proprietary code for RIOT ?

What's the real problem for companies? Linux Glibc is LGPL and everybody uss it without problem.

regards

----- Mail original -----

IANAL either*), and indeed it is worth talking to a few lawyers that know at least about the difference between common and civil law, and the peculiarities of the variations of the former.

First of all, thank you for this initiative, and the only additional comment I have is “what took you so long”.

Now with respect to which license to choose, there is indeed a small selection of reasonable ones, and some effort should be spent choosing the right one.

The important questions here are: 1) what is good for the licensee, and 2) what is the onus on the licensor (in addition to giving the copyright away, which is the point). Let’s look at the two relevant groups here, MIT/BSD, and Apache 2.0.

There is no single “BSD license”; there is a 3-clause and a 4-clause one, and we certainly want to avoid the toxic 4-clause one (with the advertisement clause). There is also a non-attribution clause, which is not really very useful — once you take that out, you essentially get the MIT license, which is indeed currently the leading permissive license for open-source projects.
The language is now simple enough that there is essentially zero onus on the licensor. As the numbers on github show, people already have voted with their feet here.

The Apache 2.0 license was written for the Apache foundation, and you can argue it was written in the interests of the foundation. It trades additional onus for the licensor for a better position of the licensee, making it more attractive for the licensee to use the software governed by the foundation. That is great if you have a foundation that already has traction. But the additional onus on the licensor may be a problem. The Apache 2.0 license not only signs over the copyright, but also grants patent rights. You need to understand the difference between these two to understand why this is a mountain of a problem. Copyright is well-understood; unless you set out “stealing” stuff, it is relatively hard to create a problem with copyright (SCO has shown you still can, in the US legal system, but that is a problem with that legal system).

Patent rights, however, are a legal cesspool. Not only does nobody really ever know what patent rights they have or are subject to**), the act of communicating about these (or thinking about these in a form that may later be retrieved by legal discovery) is toxic (i.e., greatly damages any legal position that the company may have). No company executive in their right mind wants to touch patent rights unless absolutely necessary, even if lawyers can make a ton of money in the process.

A lawyer that is asked to sign off on a source code release that grants patent rights would need to do all of the above. (How do you even find out which of your patent rights are touched by the code?) To me, it seems a license that requires signing away patent rights is a recipe to talk deciders out of making source code releases, in particular for larger companies that have powerful patent departments. Of course, some very large companies have established processes that can handle the Apache 2.0 license, so it may not be completely black and white. Companies that already have formed a consortium will have formed an opinion on this (Broadcom’s recent sudden exit from OIC serves as a warning light, though), so the Apache 2.0 license is less inappropriate for a consortium.

TL;DR: Go for the MIT license***).

Grüße, Carsten

*) But I have wasted too much of my life talking to them, and second-guessing some of their bone-headed moves.

**) If you think otherwise, you have no idea. Really.

***) (And if you must go for Apache 2.0, do so after talking to people who have real-world experience with getting source-code releases out of non-trivial organizations.)

Hello RIOTers,

Emmanuel Baccelli <Emmanuel.Baccelli@inria.fr> wrote:

we have been receiving an increasing amount of negative feedback from various companies concerning the practical usability of our LGPL license in their context, being a show-stopper.

They always do that. We have seen it in other successful projects such as linux kernel. I see RIOT as a part of a free an open infrastructure. And for the IoT we need an open infrastructure. There are companies that use (public) infrastructure but want to give anything back and BSD license favored this behavior. RIOT should not be another Contiki.

But in the first place, we would like to debate this topic. In particular: is anyone violently opposing the idea of migrating to a less restrictive license, such as BSD? If so, why? On the other hand, if you explicitly support the license change, feel free to indicate this as well. Please send your opinion to the list before Dec. 10th.

I am absolutely against the BSD license and I see no necessity for it. RIOT will be successful without this change.

That is my personal opinion, not the company where I work.

Best regards Johann Fischer

I entirely understand where Johann is coming from. My view are very similar; companies all over the world beat up on Linux in the early days because of the GPL but all these years later things have died down and multibillion dollar transnational corporations are not only still contributing to the Linux kernel but are increasing their involvement. If you had asked me fifteen years ago if I thought Microsoft would be contributing I would have likely laughed in your face. The Linux kernel is proof that the GPL is a real option for open projects.

That being said… I still wonder if even a quite permissive copyleft license like the LGPL is truly suitable for an embedded operating system. We all know how even little changes to an embedded system can require deep changes to the core of the OS. More than anything I’d like to see RIOT succeed and take its place as one of the core components in the IOT world but I think the choice of license that covers the core OS is going to play an incredibly important part in deciding whether or not that is going to happen. In my ever so humble opinion RIOT is in an unbelievably strong position from a technical standpoint but unfortunately we don’t necessarily live in a world run by meritocrats.

In my opinion there are at least two things that need to be figured out for an open project like RIOT to succeed and they’re inexorably intertwined. Those things are license and community structure/governance. A project’s core license and its community structure each have a huge impact on the other and the project as a whole.

I suppose I’m a little more on the fence than I originally thought. Or, maybe I just want to make sure that all potential outcomes are evaluated and the decisions that are made are well thought out. A license change is a fairly large undertaking and is fraught with potential peril. A change from a copyleft license to a more permissive license, be it BSD, MIT, X11 or something similar can never be undone; once the code has be released it can never entirely be brought back under a copyleft license. Of course it can, but doing so doesn’t eliminate the liberally licensed version from the universe and the project can be easily forked from using that code.

Emmanuel made a great point when he said that we should distinguish between the two aspects of the change, the idea, and the effects in practice. In an more ideal world I would like to see the LGPL win out but in terms of practicality I wonder if companies and even research groups are going to be willing to take on the additional workload that the LGPL demands in the form of making each and every one of their changes available to their end users and in turn to the wider community.

There’s another option on the table that would allow a potential license change to be put off for some time while still being able to do it with minimal headache down the road. Any license change is obviously going to require all the past contributors to agree to it so what about keeping the LGPL license for now and asking those contributors and future contributors to sign an SLA. One of the downsides to an SLA is that a legal entity (e.g. RIOT e.v.) would have to be created and managed.

Okay, that’s enough from me for the moment.There are other things in my life that I must attend to and Monday is near a close.

Adam Hunt

As long as relicensing hasn’t happened, RIOT stays in suspended animation for those of us who care about actual pickup in products. Waiting some more (a license change has been discussed for more than 1.5 years now) only weakens the position of RIOT. I could have people working on RIOT for those 1.5 years...

Grüße, Carsten

Hi everyone, this is a gentle reminder to input your opinions on this thread before Wednesday night (i.e., tomorrow). Thanks, Emmanuel

Hey,

allow a potential license change to be put off

As long as relicensing hasn’t happened, RIOT stays in suspended animation for those of us who care about actual pickup in products. Waiting some more (a license change has been discussed for more than 1.5 years now) only weakens the position of RIOT. I could have people working on RIOT for those 1.5 years...

Please stay objective and keep the logic straight.

For *some* of us who care about actual pickup in products the current license makes riot stay "in suspended animation".

And stating *now* that you could have had people working if the license would have been MIT/BSD/permissive cannot be an argument for a license change.

Kaspar

Hi Adam,

There's another option on the table that would allow a potential license change to be put off for some time while still being able to do it with minimal headache down the road. Any license change is obviously going to require all the past contributors to agree to it so what about keeping the LGPL license for now and asking those contributors and future contributors to sign an SLA. One of the downsides to an SLA is that a legal entity (e.g. RIOT e.v.) would have to be created and managed.

  we thought about this. In the current context, this will only help in case of relicensing. However, relicensing will require a lot of resources, which we should spend in technical development.

  Even with a BSD/MIT license, creating a legal entity and deploying a CLA should be part of our agenda.

Cheers   matthias

Hello,

I'm not absolutely against licence switch but... I actually feel uneasy about about this kind of demands...

If I understand right, some corporations which have probably contributed nothing to the project just barges in and said : "if you want us to use your work, you have to let us make whatever we want with it, ask nothing in return, no code contribution, no financial help (since this is free software), nothing". To be honest, I find this kind of behavior quite... displaced.

If I'm not mistaken, LGPL absolutely doesn't impose anything on the applications made with RIOT OS, only that changes made *into* the OS are contributed back. How could that harm a business that use RIOT (at not cost, remember) to build its solution? Of course, I'm no specialist, maybe there something I'm missing here, but...

Moreover, with that software patent crap that flourishes almost everywhere out of EU (and maybe even here in the future), wouldn't that change make us vulnerable to being sued for just developing our own code? As Rene Kijewski said, if we must change, we should find a license that protects us from that kind of trap...

Of course, it's good to broaden RIOT community, but what kind of members will be attracted by that kind of move? I can just wonder.

Best regards,

     KR

PS: sorry for my lack of contribution these last weeks, I'm finishing some paper submissions, and will be able to get back with some interesting element soon.

Le 03/12/2014 22:59, Emmanuel Baccelli a �crit :

Hi Kevin,

I'm not absolutely against licence switch but... I actually feel uneasy about about this kind of demands...

If I understand right, some corporations which have probably contributed nothing to the project just barges in and said : "if you want us to use your work, you have to let us make whatever we want with it, ask nothing in return, no code contribution, no financial help (since this is free software), nothing". To be honest, I find this kind of behavior quite... displaced.

  I think that is the wrong impression. In particular, BSD/MIT does not mean that companies will not contribute back. But LGPL means for many companies that they will not start to *think about* using the software.

Moreover, with that software patent crap that flourishes almost everywhere out of EU (and maybe even here in the future), wouldn't that change make us vulnerable to being sued for just developing our own code? As Rene Kijewski said, if we must change, we should find a license that protects us from that kind of trap...

  Why is MIT conflicting with this?

Of course, it's good to broaden RIOT community, but what kind of members will be attracted by that kind of move? I can just wonder.

  Honestly, I don't think we should argue in this direction, i.e., the bad and good people on earth. There are several very nice people and good programmers that contribute only to BSD projects.

PS: sorry for my lack of contribution these last weeks, I'm finishing some paper submissions

   Good luck!

Cheers   matthias

Hi Johan,