This is the mail archive of the ecos-maintainers@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: question regarding eCos license not covered yet


Fendt Oliver wrote:
Hi,

my name is Oliver Fendt, I'm working for a Siemens central division,
currently we want to evaluate eCos, because it seems to be a really
interesting operating system.
But when I looked at the license I recognized a point which puzzled me and
which is not really clear to me, so I want to ask you whether you can
provide me with some clarification.

Sure, although I should say of course that I Am Not A Lawyer, this is not legal advice, etc.etc. :-). But as one of the people who put together the license I think I have a good idea....


Here is my question:

1. Is the following the correct license:
eCos is licensed under GPL with the following add on:
"As a special exception, if other files instantiate templates or use macros
or inline functions from this file, or you compile this file and link it
with other works to produce a work based on this file, this file does not by
itself cause the resulting work to be covered by the GNU General Public
License. However the source code for this file must still be made available
in accordance with section (3) of the GNU General Public License.

This exception does not invalidate any other reasons why a work based on
this file might be covered by the GNU General Public License."


2. For a first look this add on is really good but if you look deeper on it,
it might also bring a problem, because of the last sentence
"This exception does not invalidate any other reasons why a work based on
this file might be covered by the GNU General Public License."

The GPL says for example in chapter 2

...If identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.

Now the problem is that if I link my drivers and my application to eCos one
would expect that the GPL does not apply to my code, because of the GPL
barrier you defined. But in my opinion all my work has to be GPL'd when I
distribute the drivers statically build in the kernel and all my
applications when they are statically linked to eCos. Because your GPL
barrier does not take care of the "distribution clause" of the GPL.
Furthermore statically linked is not regarded as mere aggregation.
Can you please help me on that question? And I right or wrong and if I'm
wrong, why am I wrong?

Because of the exception, the resulting work as a whole is not covered by the GPL, and thus distribution makes no difference, because the GPL simply does not apply to that resulting work as a whole. In other words the bit you quote in the GPL that says "the distribution of the whole must be on the terms of this License," is specifically overridden for those parts of the eCos source code covered by the eCos license, because of the exception in the eCos license.


The purpose of the section: "This exception does not invalidate any other reasons why a work based on this file might be covered by the GNU General Public License." is to deal with the situation when you link eCos licensed code (GPL+exception) with pure GPL'd code. That's all.

The end result (and very much the intended one) is that you need only distribute the source code to the eCos licensed files under the GPL terms (although the exception can then still apply if those source code files are then linked into another file).

As well as any derived works of those files of course, so for example if you do a new port or write a new driver, based on an existing port or driver, then even despite heavy modifications it would still be a derived work and so source code must be distributed. So your drivers and application must have been wholely written from scratch and mustn't have used eCos code even only as a starting point.

Another question I have is regarding the stuff which has to be delivered in
source form, is it also necessary to deliver the config file of the package
database if I want to deliver eCos with a binary only driver, where I not
intend to deliver the sources (assuming that I'm wrong regarding my first
question ;)).

You're referring to the ecos.ecc file, right? That is a derived work of the ecos.db file and the CDL files (it is a work based on those files), which are all covered by the eCos license, and so yes that should be delivered.


I hope this helps clarify things!

Jifl
--
eCosCentric    http://www.eCosCentric.com/    The eCos and RedBoot experts
--["No sense being pessimistic, it wouldn't work anyway"]-- Opinions==mine


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]