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