|
eCos FAQ :
Licensing |
Information about the distribution license and copyright of eCos and RedBoot
Note: this section only corresponds to the official eCos 1.3.1 release. eCos sources from anonymous CVS are covered by a different licence which is a modified version of the GPL. Future releases will also be covered by this licence.
|
What are the licensing terms?
OK, but what does this license actually mean?
Do I have to give away the source code of my application?
What about changes to the core system?
What exactly is the core system?
What about other packages?
What if I create a new package?
Why has Red Hat created a new license?
Does the license cover situation ...?
|
|
eCos FAQ : Licensing :
What are the licensing terms? |
eCos is released under a new license, the Red Hat
eCos Public License or RHEPL for short.
|
|
eCos FAQ : Licensing :
OK, but what does this license actually mean? |
You can use eCos to develop products without paying anybody anything,
no matter how many developers are working on the product or how many
units you expect to ship. This applies not only to the core system
itself but also to any changes anybody makes to the core system.
A key aspect of the eCos public license is that it is intended to
protect the eCos user community as a whole. It should prevent any
company or individual contributing code to the system and then claim
that all eCos users are now guilty of copyright or patent
infringements and have to pay royalties. It should also prevent any
company from making some small improvements, calling the result a
completely new system, and releasing this under a new and less
generous license.
The license does impose one obligation on application developers: you
must include a notice with your
product indicating that it makes use of eCos.
|
|
eCos FAQ : Licensing :
Do I have to give away the source code of my application? |
No. Your application source code is your own, to do with as you
please. As far as the eCos public license is concerned you are under
no obligation to reveal a single line of your source code to Red Hat or
to anybody else. In fact you do not even have to tell Red Hat about the
existence of your project, although we would love to know about all
the different products that use eCos.
|
|
eCos FAQ : Licensing :
What about changes to the core system? |
If you make a change to the core eCos system then we believe that
the entire user community should have the opportunity to benefit from
that change. This does not necessarily mean that your changes will
become part of the core system, since there are fairly strict criteria
that have to be satisfied before any contribution will be
incorporated. However any such decisions will be made by the eCos
maintainers, not by the person making the changes.
|
|
eCos FAQ : Licensing :
What exactly is the core system? |
eCos is designed to be the component framework for the embedded
systems industry. An eCos release consists of a number of different
packages including the kernel, the C library, and a uITRON
compatibility layer. All the packages that go into such a release and
the associated documentation constitute the core system, and the
license describes this using the term "Original Code".
Another way of looking at this is from a purely practical perspective.
At the end of the day building an application involves linking
together some application-specific object files with some libraries.
The current eCos build system will produce a library libtarget.a,
containing all the packages that the user has selected. All the source
code that goes into the building of this library is part of the core
system and is covered by the eCos public license. Anything which goes
into the application-specific object files is not part of the core
system and is not covered by the public license. Note that this is not
a legally binding definition - in particular you cannot get around the
public license simply by copying bits of eCos sources and making them
part of your application code.
|
|
eCos FAQ : Licensing :
What about other packages? |
Typically other packages will end up as other libraries that need to
be linked with the application code. These other packages may be
covered by different licenses, and application developers should make
sure that the requirements for all licenses are satisfied.
Some companies or organizations may release packages that are not open
source or freely available. Instead the application developer may have
to pay a one-off license fee or quite possibly per-unit royalties if
the application uses such a package. Not only is this perfectly legal,
Red Hat would very much like other companies to make money by providing
such packages.
Some packages may be released under the eCos public license without
becoming part of the core system. Typically this will happen if the
eCos maintainers believe that they would be unable to maintain such a
package themselves, for example because it relies on special hardware.
|
|
eCos FAQ : Licensing :
What if I create a new package? |
There are two possibilities. If the new package is derived in large
part from some existing software then it is likely that there are
existing license restrictions that will apply. For example if you
create a new eCos device driver by copying an existing one and editing
it then this would constitute a modification to existing code and the
eCos public license would apply to the new device driver. If you
create a new device driver from scratch then you can decide for
yourself what license should apply. If you want the package to be
freely available to the entire eCos community then we recommend the
eCos public license, but the choice is yours.
|
|
eCos FAQ : Licensing :
Why has Red Hat created a new license? |
Balancing the needs and desires of all the companies, organizations,
and individuals involved with eCos is difficult. The most important
requirement is that the freedom of all eCos users is protected: it
must be impossible for anybody, even Red Hat, to impose restrictions on
how the system can be used now or in the future. Some existing
licenses such as the X11 license do not provide this.
It is also desirable that all enhancements are made available to the
community as a whole, thus improving the system and making it even
more attractive to potential users. Some existing licenses such as the
BSD license do not provide this.
The GNU Public License does meet these requirements, but it goes
further: all applications that get linked with GPL'd code are also
covered by the GPL, which means in practice that application
developers have to make the sources available. In the embedded systems
market this requirement is generally considered unacceptable and many
companies refuse to use any GPL'd code as a result. This would reduce
the uptake of eCos, and we want as many people as possible to use the
system.
The Netscape Public License came closest to meeting the requirements.
There were some modifications to reflect the needs of embedded system
developers, and the result was the eCos public license.
|
|
eCos FAQ : Licensing :
Does the license cover situation ...? |
Hopefully yes, but there may be situations that we have missed. If you
have any queries about the license and how it applies to your
situation, please contact us. There are both public and private
channels of communication available, depending on your requirements.
We are always interested in suggested improvements to the license that
are compatible with our overall goals.
|