Note: I repost my entire answer to Andrew to the list. By mistake, before I sent it just to him.

---

Dear Andrew,

thank you for your clarification. I admit that we are not really competent in the legal side of open source.
I just read the LGPLv2 to understand the issue better.

Regarding the three points you mentioned:

a) we don't have any problem to indicate that our device is using RIOT. If we adopt it we will proud to show its nice logo (and, of course, the license, etc.).

b) Distributing source code of RIOT: no problem. Distributing our source code: I have mixed feelings. On one side, as a free-time developer I understand and sustain the open source movement for all the good it brought to the software scene. I also thank all you developers who make this possible.

On the other side, when you have to earn your living and moreover you have the responsibility for others, it's difficult to give away your software. Let me clarify: we will be happy in participating to the growth of RIOT by submitting all the bug-fixing, improvements and new features to the OS that we could help implement. But we feel not ready yet to make our proprietary application that will run above the OS in the nodes free to everyone. We are a small company and one of our most important assets is the know-how embedded into the application. We are not talking about turning on a light or read a temperature sensor. We have much more. In a world where copying the hardware is pretty easy (even IC are faked!), we cannot afford to give away the small advantage we worked so hard to gain. Not yet. Even distributing the object files sounds dangerous for us since today is pretty easy to disassembly everything.

Summarizing: we want to use RIOT, we want to contribute back to RIOT, we don't want to disclose our application (yet).
This vision is debatable, but I hope you understand our point of view.

c) I don't know exactly how to implement this option. Even separating well the application from the OS, it's inevitable to include some OS headers into the application and if I understand well from the LGPL, this is already considered "a work that uses the library" and therefore we must disclose the code/object files.


That said, we are still interested in adopting RIOT, but we must understand how we can do it without infringing the license and at the same time protect ourselves.

Practically speaking:

1) for the gateway, licensing maybe is not an issue.
a) On the main processor, we will use the Linux stack over SLIP, so no RIOT involved. (is it this correct?) b) On the radio module (connected via serial, remember?) we will have an application that exchange the USART SLIP packets and transfer them on air through 6LowPAN. I guess that this is nothing new and already implemented. If not or not completely, we can help to complete the code and there are no problem in disclosing the source.

2) for the nodes, here we have the issue. Nodes will implement RIOT as OS. Over the OS there is our proprietary application. How can we solve this? Does RIOT support loading/unloading of separate applications? (this feature BTW could be also useful for an OTA update mechanism where OS doesn't change but only the application).

Hopefully we will find a solution...

Kind regards,
Patrick

On 11/20/2015 10:58 PM, Andrew Ruder wrote:
Patrick,

Note: I believe you sent this to me privately and I am responding
publicly since I think it is good information.

On Fri, Nov 20, 2015 at 10:31:32PM +0100, Patrick Rota - Swissponic Sagl wrote:
b) Distributing source code of RIOT: no problem. Distributing our source
code: I have mixed feelings. On one side, as a free-time developer I
understand and sustain the open source movement for all the good it brought
to the software scene. I also thank all you developers who make this
possible.
You can get by with distributing .o files for your proprietary
application, such that the end user can relink (with ld) your
application with a new version of riot.  That is the recommended
approach.

See this for a bit of a HOWTO on how that works:

https://github.com/RIOT-OS/RIOT/wiki/LGPL-compliancy-guide

and this (regarding licensing):

https://github.com/RIOT-OS/RIOT/wiki/FAQ

Full disclosure, I opened this issue with the project.  So I am
definitely not 100% neutral in this debate.  As a result of this though,
RIOT did not change license but did improve the wiki *SIGNIFICANTLY*.

https://github.com/RIOT-OS/RIOT/issues/2128

Ultimately, I regretfully ended up not using RIOT for my products
because of these licensing issues and my company's inability to deal
with the licensing restrictions (more social issues than technical
- I am not the boss! :] ), but it is entirely possible to develop
a completely proprietary application around RIOT with care! (And IMO is
the best technical solution on the market *by far* even those with
other licenses).

Good luck,
Andrew Ruder

--
**

        

_______________________________________________
devel mailing list
[email protected]
https://lists.riot-os.org/mailman/listinfo/devel

Reply via email to