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.