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.hp
.
See Also http://www.orocos.org/orocos/license
Peter
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?
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 in a closed source C++ program,.
(or similar) and read the license text. Now compare that to the RTT license
text. If you dare to write #include
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:
>
>
> 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.hp
.
>
> 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