Switch to BSD?

Hey,

Hi Kaspar!

1. The entity distributing such a product must mention the use of RIOT.

Isn't that the case also for some non-copyleft licenses (e.g. some BSD-style licenses)? Not sure, just asking.

This requires the device to be field-upgradable

I still seriously doubt this. We're talking about IoT devices. Most of them are gonna be deeply embedded with no possibility for any end user to reprogram them - if you're not a hardcore electric magician (soldering, etching stuff...).

As far as I interpret the opinions of the RIOT community, we mostly agree that the actual license does what we expect our license to do (apart from patent protection).

I'm not convinced that a potential commercial user of RIOT is able to link its (closed-source/non-LGPL) software/driver/whatever against RIOT without risking to disclose something it doesn't want to disclose.

The only reason why we think about another license change is FUD on the company side, as the perception of the license scares away potential users. We don't want to push away potential users, so we try to find a license which takes away the FUD by giving up all rights to the code that we develop in order to please those companies.

I'm not willing to give up all rights - nor is any of the other RIOT developers I've talked to. But I don't think we have to.

IMHO, we don't need those companies to succeed as a community project which will play a large role in IoT.

I pray for that, but I'm not convinced that this is enough - given that the recipient of my prayer is pretty much unknown.

That said, if most of the community agrees to switch to a less restrictive license, I will agree to that, too. That is not because I have been convinced that the change is the right choice, but because I really like the biggest strength of RIOT: the community and the actual people behind it.

I don't want to force you (or any other active member of the RIOT community) to change the license or whatever else to something she/he doesn't feel comfortable with. I want to keep the project I'm contributing to for the last five years alive.

My perception of the situation is, that we have to make a bet: - Stay with copyleft licensing and hope that we will still find enough   contributors in the long run to keep RIOT developing at the current speed   (with the monetary support from research projects). - Open the license to something less morally and less educational to attract   more companies willing to give money to some people to do what the love:   coding RIOT, and trying to keep the momentum in the community so high that   theses companies don't have any incentive to do their RIOT-based stuff   behind closed doors.

It's up to the community to decide which bet they're willing to take. I can live with both solutions. Either as a person being proud of doing the ethical correct thing or as a person hoping that the last five years commitment to this project helped to make the world a better place.

Cheers, Oleg

Hi,

Hi Kaspar!

>In general, I would agree that - to my understanding - (L)GPL with linker >exception is more aligned to what we're looking for than to LGPL only. Could we sum up the differences?

Wikipedia is saying: "Compared to the GNU Classpath license above, the LGPL formulates more requirements to the linking exception: you must allow modification of the portions of the library you use and reverse engineering (of your program and the library) for debugging such modifications."

And I think this reverse engineering clause is an important thing for most companies. (Actually, a lawyer of the FSF confirmed this interpretation IIRC. I could search the link if necessary.)

Cheers, Oleg

Dear all,

As for the general topic of relicensing:

Personally speaking I’m rather pragmatic on this topic and either license is fine for me *but* I tend to advocate for MIT.

ad "contributing back”: Apart from companies practicing an open source culture forcing those others to open their changes doesn’t imply for me RIOT will actually benefit from these. Opening their changes doesn’t mean these will be opened in a way RIOT maintainers know about it. They simply have to put them somewhere publicly accessible. While with a non-restrictive license we could get the contributions (maybe also in a better shape in terms of coding style and quality) from those who’d do it with LGPL and maybe broaden the basis and convince others (by improvements and further development on RIOT’s master) to consider opening their changes to not get left behind. * As Emmanuel put it, it is a bet we will have to place.

ad “mimic Linux’s story“: Looking into Linux’s story is and was very unique and GPL is no guarantee against patent trolls. Additionally I think today we are embedded in an even faster moving/developing environment with a big challenge arising next October in form of mbed OS.

The biggest blocker implied by LGPL I see is that someone providing RIOT driven hardware has to provide means to re-flash the devices with self compiled binaries. At least that’s what I understood in past discussions and what I simply can’t imagine to become widely adopted.

IMHO I think in the short and mid term it is greatly beneficial at least one big player taking up on RIOT providing resources to maintain and improve it and the whole surrounding quite changed since Linux emerged. Also as most “bigger” open source projects are in some sort backed by a company to ensure development, we are dealing with companies (I’m mainly referring to HW aspect here) who are not used to deal with open source by now. Taking this into account I don’t believe RIOT’s technical advantages can prevail the concerns for many companies. **

To sum up, I would like to see RIOT as wide spread as possible and thereby promote (at least) open networking standards and I think RIOT licensed under MIT has the highest chance to succeed in this. ***

Best, Thomas

* Philosophical question: If we take open source software as an altruistic approach to publish software for the greater good wouldn’t it be contradictory to tell others to give something in return and exclusionary to those who simply can’t?

** My (limited) experience from working for HW manufacturers is more like “don’t even mention these three evil letters”. This matches Emmanuel’s and Matthias’ experiences quite well.

*** In my personal Utopia we wouldn’t have to discuss this but would be consensus to open all code for the greater good but the above thoughts come to my mind when reality hits me.

Hey,

Hi,

Hi!

Giving away source code which strenghtens those is contraproductive to the common good.

Says the man earning a shit load of money from one of these evil companies, using a proprietary smart phone, and buying Facebook goggles. :wink:

Let's keep the discussion non-political/-philosophical - otherwise there's no end.

Cheers, Oleg

+1

Hey,

Giving away source code which strenghtens those is contraproductive to the common good.

Says the man earning a shit load of money from one of these evil companies, using a proprietary smart phone, and buying Facebook goggles. :wink:

That implies I'm buying Facebook goggles. For the record: that's not the case.

Let's keep the discussion non-political/-philosophical - otherwise there's no end.

Sure. Keep the discussion "GPL or not" non-political/-philosophical. Why discuss at all?

Kaspar

Hi, speaking of proprietary smart phones: seems like Android decided against LGPL for more or less the same reasons as we discuss right now: https://source.android.com/source/licenses.html#why-apache-software-license.

Cheers, Martine

Hi,

Dear RIOT Community,

after being quiet on the mailing list for some time, I gave the topic some more thoughts.

In an ideal world I would personally want RIOT to be even published under GPL, as of RIOT should be free. But we all know that world does not exist.

As I am tending towards a not-so-idealistic and pracmatic mind-set, I would vote for the move to a less restrictive license. Personally I would go for the MIT license, but for this I don't have a strong urge/argumentation. I will however use the term MIT as placeholder for a less restrictive license in the remainder of this mail.

The main incentives for my opinion are driven by my view on (i) RIOTs perspective as well as on (ii) my (subjective) knowledge of the embedded/IoT market and (iii) my personal opinion on the impacts of a less restrictive license:

(i) I would like to see RIOT as open-source, de-facto standard OS in the context of IoT and maybe even further as one of the natural choices for any real-time embedded system. I think we have the strong advantage of a good timing as there is not really any dominant system out there yet and the whole IoT market is just about to go ballistic.

(ii) Pushing RIOT to become a major player in the embedded world is dependent on a number factors. Just having a great community and being the technical best system on the market are not sufficient. I think a wide adoption by industrial/commercial users is evenly as important, and in the real world this adoption is highly correlated with political decision making and prejudices in companies. To my experience the typical situation in (larger) companies is, that technical people actually would like to work with LGPL products an give code back but that they are not allowed to from their management due to their lawyers not allowing LGPL. For MIT I see a different picture: from my experience there are mostly strong rules in industry about choosing a certain license, but not so many about giving back changes to the community. So I would guess (yepp, this is a bet), that with MIT we still have a strong flow of code being contributed back to the community.

My second reason for tending towards MIT in the context of commercial use is a simple technical one: In contrary to most open-source software and even to Linux, RIOT is far more entangled with the underlying hardware. I mean this is the major characteristic of embedded systems. Now that hardware plays a significant role for the overall product/system, we do not only deal with (classical) software developers, but also with hardware developers/companies who have a quite different view on licenses, development processes and project management. Even as open-source software is emerging the world market is number-wise dominated by commercial products (always remember hardware AKA 'real objects you can touch' cost money to build). Every commercial company has parts of their 'close-to-hardware' SW that they do not want to open up. I don't say that they can not do it with LGPL, but by offering them an MIT based OS I think we take away unnecessary hurdles for everyone considering to use RIOT.

(iii) Last I think the community is not influenced very much by changing to MIT. It's not like a company can take the code and forbid anyone to continue working on RIOT. If the is a company taking the code, developing it further internally and selling the results without sharing it can happen. But in the mean time RIOT will move on (and that fast to the current point) and that means the motivation for paying for a closed-down RIOT clone instead of using the open Original is not very high.

So sorry for the long text: In conclusion I would vote for changing to MIT because I think that the embedded market is different from the conventional SW market and less restrictive licensed SW will prevail. That a license change will at least not weaken the RIOT community but in the same time open new opportunities.

Cheers, Hauke

Hi,

Hi, speaking of proprietary smart phones: seems like Android decided against LGPL for more or less the same reasons as we discuss right now: Contributor license agreements and headers  |  Android Open Source Project.

But they are explicitly not talking about the kernel (not that they could change it if the wanted, it being Linux under GPL2 and all). It doesn't say whether they would have chosen differently for the kernel if they were at liberty to do so.

Of course we could do a similar thing and get crazy with licenses. GPL for /core, Apache for /sys, BSD for /cpu, /drivers, ... :wink:

Finally, the post-sale support situation of Android devices is a point against letting manufacturers do whatever they want with the code, at least according to my personal views on the longevity of computing devices.

Cheers, Ludwig

Hey Hauke!

In an ideal world I would personally want RIOT to be even published under GPL, as of RIOT should be free. But we all know that world does not exist.

I would say: In an ideal world RIOT should have been published as public domain.

Cheers, Oleg

Hey Hauke!

To my experience the typical situation in (larger) companies is, that technical people actually would like to work with LGPL products an give code back but that they are not allowed to from their management due to their lawyers not allowing LGPL. For MIT I see a different picture: from my experience there are mostly strong rules in industry about choosing a certain license, but not so many about giving back changes to the community.

Actually, the person from FSFE we've contacted told us that the attitude of several executives towards open source software is: "Oh, it's free, but you have to contribute back? Okay, then we have to live with that." or "Oh, it's free and we don't have to give anything back? Great, why the hell should you publish our code. Don't do it!"

(Of, course there might be many more executives just saying: "Oh, it's free, but you to contribute back? Don't even think about touching it!")

(iii) Last I think the community is not influenced very much by changing to MIT. It's not like a company can take the code and forbid anyone to continue working on RIOT. If the is a company taking the code, developing it further internally and selling the results without sharing it can happen. But in the mean time RIOT will move on (and that fast to the current point) and that means the motivation for paying for a closed-down RIOT clone instead of using the open Original is not very high.

I second this thought! As Kaspar has written, too: It's all about the community and the fun time spending with this awesome tool. It's gonna be always free and open source, no matter what stupid companies try to do with it behind closed doors. We are RIOT, the rest is just code!

Cheers, Oleg

Hi Oleg,

At risk of further confusing things maybe there’s a happy medium between a strong copyleft/(L)GPL and a the BSD license. While I’m most certainly not a lawyer, copyright or otherwise, a quick look at the Eclipse Public License (EPL) and the related EPL FAQ makes me wonder if it might be another possibility. The way I read it the EPL would keep RIOT itself free and open, along with any changes a person or company makes to the core OS, in-tree drivers, etc… but would also allow for “extensions” to be made and distributed under whatever license the creator sees fit (open or not). It seems to me that this would end up in a similar situation to what Ludwig suggested in his license craziness post but in a slightly more sane way.

Point 27 in the EPL FAQ seems to be very applicable to what we’re all talking about here.

Let's keep the discussion non-political/-philosophical - otherwise there's no end.

Sure. Keep the discussion "GPL or not" non-political/-philosophical. Why discuss at all?

While I think this discussion can not be lead without political or philosophical considerations, I agree that this particular subtopic is noise in the discussion. Let's get back on topic.

I read a lot of strong words and claims like “ethical correct decision” and similar in this debate (I had them on my mind too) which are by definition highly political and philosophical and I for my self question the metrics I use to support these.

But yes, this list is not the right place to discuss this.

Thomas

Hey,

I second this thought! As Kaspar has written, too: It's all about the community and the fun time spending with this awesome tool. It's gonna be always free and open source, no matter what stupid companies try to do with it behind closed doors. We are RIOT, the rest is just code!

See it from a different perspective:

(substitute BSD with your favorite non-restrictive license)

All work I do on RIOT, I do in my spare time.

If RIOT is BSD'ed, for *me* personally time spent on it is not fun time I like to in my unpaid spare time anymore, it becomes work that is also fun. Work others can (and will) sell under their terms.

(L)GPL guarantees that my contribution will stay part of something that might improve, but is always available to me under clear tearms.

BSD doesn't.

As the man earning a shit load of money from one of these evil companies, using a proprietary smart phone, and buying Facebook goggles, working on RIOT for me is a very expensive hobby.

BSDing turns it into work I do for other companies, for free. I will probably not contribute much this way, unless I become one of the companies taking RIOT and selling it somehow.

Kaspar