Can closed source use Orocos

We are a commercial developer of industrial printing machines and are currently evaluating Orocos. It is essential to us that our own proprietary code remain closed source to avoid our competitors gaining an advantage over us. If we were to use Orocos we would probably use the RTT and some components from the OCL. We accept that any changes that we make to RTT and those OCL components would need to be released under the GPL and LGPL respectively. However, I had assumed that our own proprietary code could use RTT and OCL and remain closed source. By 'use' I mean that I has assumed that our closed source code could include RTT headers, link to RTT and create Orocos tasks.

A colleague of mine pointed to a paragraph in Wikipedia that implied that we would be forced to make our code freely available if it were to use RTT in this way. Is this true?

I'm aware that some RTT headers carry the following exception,

* As a special exception, you may use this file as part of a free *
* software library without restriction. Specifically, if other files *
* instantiate templates or use macros or inline functions from this *
* file, or you compile this file and link it with other files to *
* produce an executable, this file does not by itself cause the *
* resulting executable to be covered by the GNU General Public *
* License. This exception does not however invalidate any other *
* reasons why the executable file might be covered by the GNU General *
* Public License. *

My understanding of this is that our code can freely derive from the TaskContext class (using it as a template in the semantic sense rather than the C++ sense) and still remain closed source. Is this correct?

Thanks for your help.

Rick

Can closed source use Orocos

On Tuesday 03 February 2009 13:13:56 rparussel [..] ... wrote:
> We are a commercial developer of industrial printing machines and are
> currently evaluating Orocos. It is essential to us that our own proprietary
> code remain closed source to avoid our competitors gaining an advantage
> over us. If we were to use Orocos we would probably use the RTT and some
> components from the OCL. We accept that any changes that we make to RTT and
> those OCL components would need to be released under the GPL and LGPL
> respectively. However, I had assumed that our own proprietary code could
> use RTT and OCL and remain closed source. By 'use' I mean that I has
> assumed that our closed source code could include RTT headers, link to RTT
> and create Orocos tasks.
>
> A colleague of mine pointed to a paragraph in Wikipedia that implied that
> we would be forced to make our code freely available if it were to use RTT
> in this way. Is this true?

<start waving>
I assume you know that you should consult a lawyer for evaluating each license
of all software you buy, use or extend and that me and my employer are not
entitled to provide legal advice.
</start waving>

So, we got that out of the way. Could you provide the link to the said
paragraph in Wikipedia ?

>
> I'm aware that some RTT headers carry the following exception,

That should be 'all' RTT headers except the unit tests, which you typically
don't distribute, so to which many provisions of the GPL don't have effect.

>
> * As a special exception, you may use this file as part of a free
> * * software library without restriction. Specifically, if other files
> * * instantiate templates or use macros or inline functions from this
> * * file, or you compile this file and link it with other files to
> * * produce an executable, this file does not by itself cause the
> * * resulting executable to be covered by the GNU General Public
> * * License. This exception does not however invalidate any other
> * * reasons why the executable file might be covered by the GNU General
> * * Public License.
> *
>
> My understanding of this is that our code can freely derive from the
> TaskContext class (using it as a template in the semantic sense rather than
> the C++ sense) and still remain closed source. Is this correct?

In order to put this in perspective, open the /usr/include/c++/4.2/string file
(or similar) and read the license text. Now compare that to the RTT license
text. If you dare to write #include <string> in a closed source C++ program,
you should not worry about writing #include <rtt/TaskContext.hpp>.

See Also http://www.orocos.org/orocos/license

Peter

Can closed source use Orocos

sspr wrote:

On Tuesday 03 February 2009 13:13:56 rparussel [..] ... wrote:
> We are a commercial developer of industrial printing machines and are
> currently evaluating Orocos. It is essential to us that our own proprietary
> code remain closed source to avoid our competitors gaining an advantage
> over us. If we were to use Orocos we would probably use the RTT and some
> components from the OCL. We accept that any changes that we make to RTT and
> those OCL components would need to be released under the GPL and LGPL
> respectively. However, I had assumed that our own proprietary code could
> use RTT and OCL and remain closed source. By 'use' I mean that I has
> assumed that our closed source code could include RTT headers, link to RTT
> and create Orocos tasks.
>
> A colleague of mine pointed to a paragraph in Wikipedia that implied that
> we would be forced to make our code freely available if it were to use RTT
> in this way. Is this true?


I assume you know that you should consult a lawyer for evaluating each license
of all software you buy, use or extend and that me and my employer are not
entitled to provide legal advice.

So, we got that out of the way. Could you provide the link to the said
paragraph in Wikipedia ?

>
> I'm aware that some RTT headers carry the following exception,

That should be 'all' RTT headers except the unit tests, which you typically
don't distribute, so to which many provisions of the GPL don't have effect.

>
> * As a special exception, you may use this file as part of a free
> * * software library without restriction. Specifically, if other files
> * * instantiate templates or use macros or inline functions from this
> * * file, or you compile this file and link it with other files to
> * * produce an executable, this file does not by itself cause the
> * * resulting executable to be covered by the GNU General Public
> * * License. This exception does not however invalidate any other
> * * reasons why the executable file might be covered by the GNU General
> * * Public License.
> *
>
> My understanding of this is that our code can freely derive from the
> TaskContext class (using it as a template in the semantic sense rather than
> the C++ sense) and still remain closed source. Is this correct?

In order to put this in perspective, open the /usr/include/c++/4.2/string file
(or similar) and read the license text. Now compare that to the RTT license
text. If you dare to write #include in a closed source C++ program,
you should not worry about writing #include .

See Also http://www.orocos.org/orocos/license

Peter

Actually, the link to "the GNU Standard C++ library" in the Orocos license page is outdated; the link should be as follows (I think):
http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt01ch01s02.html

Can closed source use Orocos

On Wednesday 04 February 2009 09:36:11 t [dot] j [dot] a [dot] devries [..] ... wrote:
>

sspr wrote:
On Tuesday 03 February 2009 13:13:56 rparussel [..] ... wrote:
>
> In order to put this in perspective, open the /usr/include/c++/4.2/string
> file (or similar) and read the license text. Now compare that to the RTT
> license text. If you dare to write #include <string> in a closed source C++
> program, you should not worry about writing #include <rtt/TaskContext.hpp>.
>
> See Also http://www.orocos.org/orocos/license
>
> Peter
>
>

>
> Actually, the link to "the GNU Standard C++ library" in the Orocos license
> page is outdated; the link should be as follows (I think):
> http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt01ch01s02.html

Link updated. Thanks !

Peter

Hi PeterThanks for your

Hi Peter

Thanks for your quick response.

The link to the wikipedia article is:

http://en.wikipedia.org/wiki/GNU_General_Public_License#The_GPL_in_court

After reading through the exception again, the line "this file does not by itself cause the resulting executable to be covered by the GNU General Public License" gives me hope that we would be free to keep our proprietary code closed, but I guess we would have to seek some legal advice to be certain.

Thanks for your help

Rick