Due to the fact that the industry gets more
and more interessted in RT-Linux and
RTAI, but also gets more and more
distracted (because of the ongoing discussions),
i intend to write a clearifing article about the
licencing situation concerning both implementations.
Downbelow, you can read the current
status of my investigations ...
Please, please, please don't discuss the following
contribution on the mailing list, but send me
your comments personaly to avoid damaging the
mailing list server :-) If you realy intend
to put your comment on the list, be aware that
you have started the flame war, not me!
Last week, the exhibition "Embedded Systems 2001"
took place in Nuernberg/Germany. Along with a couple of
Linux-Companies like Montavista and Lineo,
there was a "Linux-Forum" organized by the management
of the exhibition and its' media partner "Linux New Media
AG", publisher of "Linux-Magazin", "LinuxUser" and their
UK sister "Linux Magazine".
In my function as staff writer for the german
Linux-Magazin, i did some presentations in this Forum
about realtime-linux in general and also mentioned
RT-Linux and RTAI in detail. Afterwards there
was some time for Q&A. Here it showed up that
the auditorium (about 300 tech and management people
on three days) had concerns about the recent
license/patent issues. As i certainly couldn't give
a 100% satisfactory answer, i'd like to
do an article on that topic to clearify the
situation. For this reason, i have noted
my current thoughts below. Everybody is
invited to send me a qualified comment.
With your input, i will try to mix it
together to a complete article ...
One problem, of course, is that there
are different laws for different
countries. As i am not a expert on international
legal stuff, i will mostly have a sane look
on the techical side according to my
profession as engineerer.
Mixing GPLed and proprietary code
>From what i have understood it by now, the
main dicussion is about proprietary code
mixed up with GPLed Code in some way:
Just adding or modifying code in GPLed
files will certainly result in a "derived work",
means it has to be GPL.
Creating a new Application from scratch might
be not considered a "derived work", even
when linked to GPLed code, because every
single line of the new program was written by
yourself. But you usualy have to include some
GPLed C header files in order to be able to
compile your application and link it to the GPLed
binaries due to definitions and symbols.
Also, the headers oftenly include macros
that will result in assembler code mixed with
the instructions of the application.
As far as i understood, the LGPL was created
to have a 100% clearification to this situation.
But the problem does still exist for GPL:
one can argue that including header files
doesn't imply a derivation from a GPLed work.
Especialy when you have recreated the
necessary header files on you own in a
"clean room". Usualy, it is hard to prove
clean room conditions, but in our special case
about programing pure posix complient applications, this
could be (more or less easily) possible due to open
non-GPL RT-Linux Licence illegal?
But now, let's be nickpitting by saying
a code derivations is implyed by using
GPLed header files. This means that any
RT-Linux application would be a derived work
due to the fact that files like rtl.h,
rtl_fifo.h and rtl_sched.h usual have to be
Now, there is the situation that
companies might like to write applications
for rt-linux, but can't open the source codes
(even if they like to so) due to the fact that
their application incorporated licenced code
from other companies.
The way out is that the copyright holders
of the headers files (here fsmlabs) are forced
to have another license for these files
in order to fit with proprietary code.
(BTW: So far, RT-Linux is comparible to Qt:
licensing is free of charge as long as
you go the new "Open Source Way". Those
who want (or have) to go the old way might
(or in fact will) have to pay some fees according
to the alternative non-GPL licence.)
If you are agreed so far, then we are in
big troubles! The RT-Linux header files
include GPLed standard linux header files,
rendering the RT-Linux headers a
derived work from the standard linux
kernel (not to mention the implementation
of rtl_sched, rtl_time etc. which are also
a derived work, then).
Consequently, the RT-Linux header files can't
be licenced under other conditions than GPL!
Means: proprietary rt-applications can't be used
along with RT-Linux at all! The only solution,
again, is the clean room implementation of
the necessary linux header files - a work
virtualy impossible to be done ...
For this reason, for example, proprietary binary only
linux kernel drivers are always encapsulated
in an "open source stub" (i.e. the nvidia GFX driver).
Unfortnuatly this method cannot be applied to
One way out would be to extend RT-Linux to
a full stand alone operating system where
the linux-kernel is just an application
that can be optionaly loaded and startet,
just like user-mode-linux (have a look at
sourceforge) could theoreticaly run on top
of QNX or VxWorks.
The other way out would be to be less nickpitting
and simply considering including headers file not
implying a derived work. But this would render the
whole discussion obsolet: Any proprietary
program could use GPLed RT-Linux header files
without special licences ...
What's about RTAI and/or the Patent?
RTAI is published under the terms of the
LGPL, means running proprietary
rt-applications is no point of discussion.
But with the same argumentation chain as
for RT-Linux, it could be even possible that
the current licencing policy for RTIA is illegal!
(as standard linux include files
are used with RTAI, too)
But let's assume it's ok to have LGPL
for RTAI, thus making it possible to
mix it with propritary realtime applications,
there is still left the patent: "Use of the Patented
Process is permitted, without fee or royalty,
when used by software licensed under the GPL".
This means, you don't have to pay for a software
licence/royalty but for licensing the patent.
Basicaly, the patent means nothing to european
contries where only those software
patents are allowed that could be
implemented in hardware as well (that's
the basic theory). On the other hand,
in times of globalization, no european company
would dare to ignore the patent completly, as
America is an important market.
Because of all the contradictions explained
above, i hear more and more voices telling
that the industrie is realy interessted
in RT-Linux and RTAI, but the current
situation is too unclear to have a
clear conscience when using either of the
Also, there are signs that both,
Victor and Paolo are preparing
legal actions against each others.
This would kill the whole realtime-linux
movement immediatly! Let's hope the
situation can clearified befor this
catastrophy happens ...
-- [rtl] ---
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
For more information on Real-Time Linux see: