eCosPro Software Licenses Compliance Guide
This guide provides a set of guidelines to follow when releasing products that incorporate software from an eCosPro release. It does not claim to be authoritative, it is still your responsibility to read, understand and comply with the various licenses that apply to different portions of the runtime source code.
The eCosPro Distribution Software Licenses Agreement contains the full text of all the licenses that apply to the software incorporated within an eCosPro Distribution. Examples of eCosPro Distributions include all eCosPro Developer's Kits and eCosPro Starter Kits provided by eCosCentric.
A summary of your responsibilities for each license is as follows:
eCosPro Non-Commercial Public License
The eCosPro Non-Commercial Public License applies to elements of eCosCentric's intellectual property within a distribution and permits free non-commercial use only of these elements. This license cover various files within the HAL, device drivers, and other components, all of which are clearly marked with a reference to the eCosPro Non-Commercial Public license in their headers.
For further clarification of non-commercial use, refer to the Defintions section of the license and its Example Usage appendix.
- You may only make non-commercial use of these elements, as well as any of their derivatives in any form. Non-commercial use includes the distribution of all formats of these elements.
- Commercial use and/or distribution requires an eCosPro License.
When distributing code, or its derivatives, (in any format) under this license, including any hardware or device containing the code or its derivatives, you MUST:
- give notice that portions of the software, within the device if applicable, is covered by this license and may NOT be used for commercial purposes; and
- include the text of and/or the URI to, this license; and
- either (a) include the software source with the distribution or device in machine readable format on a physical medium; or (b) include a note either offering the recipient the sofware source in machine readable format on a physical medium or inform the recipient where the software sources may be accessed from, if necessary providing the server connected to the internet from where the software source may be accessed.
eCosPro License
The eCosPro License removes all of the requirements of the eCosPro Non-Commercial Public License, permitting distribution of binary and object code deriatives without restriction and allowing commercial use of the software. A commercial eCosPro Distribution also includes files within the HAL, device drivers, and other components which are clearly marked with a reference to the eCosPro License in their headers. While binary and object code derivatives of these files may be freely copied, these source files themselves must not be redistributed.
- You CANNOT distribute any source code provided exclusively under the eCosPro License.
- Source code provided originally under the eCosPro Non-Commercial Public License and subsequently re-licensed under the eCosPro License does not have to be made available to recipients of binary or object code derivatives. However, you may still choose to make such source code available but may ONLY do so under the under the terms and conditions of the eCosPro Non-Commercial Public License.
- Although not specifically an eCosPro license issue, you MUST also ensure that you do not redistribute any eCosCentric proprietary applications or information. This includes your licensee file, if provided.
eCosPro Evaluation License
This license is defunct as it has been superceeded by the eCosPro Non-Commercial Public License. However, if you do still have code provided under the terms of this license, your evaluation period has been exceeded and you are required to discontinue any further use or evaluation of the Evaluation Software, and its derivatives, in accordance with the terms of the license.
eCos Public License
The bulk of the eCos sources are covered by the eCos Public License (EPL). This license is a combination of the GNU General Public License (GPL) with an exception clause. The exception allows non-GPL licensed software to be linked with the eCos sources without requiring the sources of the non-GPL'd software to be also licensed under the GPL. This means that your application, third party middleware, isolated additions that you have made to eCos, and other alternatively licensed sources do not have to be made publicly available. Note that if your modifications to eCos are derived from EPL licensed sources, or are integrated into an EPL licensed file, then they too must be licensed under the EPL and made public. If your modifications are isolated into a separate set of source files that contain no code derived from open source licensed code, then you may choose to license them as you wish.
- You must give notice that portions of the software incorporated in the device is covered by the GPL. This should be included in the documentation or other descriptive material distributed with the device. It is also considered good practice to included a printed copy of the GPL.
- You must either include a copy of the GPL (EPL) licensed source files with your device (for example on a driver or documentation CD), or a written offer to supply a copy of the source files upon request. If you include and ship the sources with the product then you are not obliged to offer the sources by any other means.
- In the case of a written offer, you may supply the sources via an FTP or web site, but you must be prepared to provide a copy on physical media if so requested. You may charge a reasonable fee to cover the costs of providing the software on physical media. The offer to supply the sources should be valid for three years.
When making EPL sources available you should ensure:
- A machine readable copy of the GPL license is included with the sources
- That any "scripts used to control compilation and installation of the executable" are included with the sources. This should include any makefiles and eCos configuration files.
- If you have modified any of the source code files, prominent notices should be included in each file stating that you changed the file, and the date of the change
- For each version of the code/firmware for your device that is released to the public, you should ensure that you make available a corresponding version of the EPL licensed source code
Modified BSD Licenses
The FreeBSD network stack, lwIP network stack, related networking software, and other minor portions of the software included in eCosPro releases are covered by modified BSD licenses. If your application does not include any of this functionality then this section does not apply to you.
There are two main variants of the BSD license, the 4 clause BSD (“4-clause”), and the 2 or 3 clause BSD (“3-clause”). The 4-clause BSD variant is the original version of the license that was released by UC Berkeley. It requires that “All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the University of California, Berkeley and its contributors”. This advertising requirement was subsequently rescinded by UC Berkely in 1999, creating the newer 3-clause BSD variant. In the meantime various software authors had adopted the 4-clause BSD license, retaining the advertising clause, and modifying the license to refer to the author instead of UC Berkeley.
- If your product makes use of a particular eCosPro feature identified in the table below, and your advertising
materials specifically mentions the feature, then you will need to acknowledge each software author's contribution
in those advertising materials as follows:
“This product includes software developed by <Author(s)>”
Feature | CDL package identifier | Authors |
FreeBSD network stack | CYGPKG_NET_FREEBSD_STACK | NetBSD Foundation, Inc. and its contributors, Niklas Hallqvist |
PPP (Both BSD and lwIP stack versions) | CYGPKG_PPP | Carnegie Mellon University and Australian National University |
CYGPKG_PPP_CHAP | Gregory M. Christy | |
BSD Bridge support | CYGPKG_NET_BRIDGE | Jason L. Wright |
BSD Random IP packet identifiers | CYGSEM_NET_RANDOMID | Niels Provos |
OpenBSD network stack (deprecated) | CYGPKG_NET_OPENBSD_STACK | Information Technology Division, US Naval Research Laboratory |
- Both 3-clause and 4-clause BSD variants require that the product documentation and/or other descriptive material shipped with the product reproduces the text of the BSD license, including its disclaimer and copyright holders. If your product uses any eCosPro feature identified below then you must ensure that it's authors copyright text is included.
Feature | CDL package identifier | Author's Copyright text |
FreeBSD network stack | CYGPKG_NET_FREEBSD_STACK |
Copyright (c) 1980, 1982, 1985, 1986, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995 The Regents of the University of California. (c) UNIX System Laboratories, Inc. Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001 WIDE Project. Copyright (c) 2000 Brian Somers <brian@Awfulhak.org> Copyright (c) 1998, Larry Lile Copyright (c) 1988, 1989 Stephen Deering Copyright (c) 1998 The NetBSD Foundation, Inc. Copyright (c) 1993 Daniel Boulet Copyright (c) 1994 Ugen J.S.Antsilevich Copyright (c) 1997 Niklas Hallqvist Copyright (c) 2000 Paycounter, Inc. Copyright (c) 1998, David Greenman. Copyright (c) 1996 Matt Thomas <matt@3am-software.com> Copyright 1998 Niels Provos <provos@citi.umich.edu> Copyright 1994, 1995 Massachusetts Institute of Technology Copyright (c) 1996 Alex Nash |
BSD IPsec support | CYGPKG_NET_IPSEC_LIBIPSEC | Copyright (C) 1995, 1996, 1997, 1998, and 1999 WIDE Project |
BSD PPP support | CYGPKG_PPP | Copyright (c) 1993, 1994, 1995 The Australian National University Copyright (c) 1989 Carnegie Mellon University Copyright (c) 1985, 1986, 1987, 1989, 1990, 1991, 1993, 1994 The Regents of the University of California Copyright (c) 1995 Eric Rosenquist, Strata Software Limited Copyright (c) 1991 Gregory M. Christy Copyright (c) 1995 Pedro Roque Marques |
OpenBSD network stack (deprecated) | CYGPKG_NET_OPENBSD_STACK | Copyright (c) 1980, 1982, 1985, 1986, 1988, 1989, 1990, 1991, 1992, 1993, 1994 The Regents of the University of California (c) UNIX System Laboratories, Inc. Copyright (c) 1999, 2000 Jason L. Wright (jason@thought.net) Copyright (C) 1995, 1996, 1997, 1998 and 1999 WIDE Project Copyright (c) 1996 Charles D. Cranor and Washington University Copyright (c) 1988 Stephen Deering Copyright (C) 1997-1998 by Darren Reed & Guido Van Rooij Copyright 1997 Niels Provos <provos@physnet.uni-hamburg.de> Copyright 1998 Niels Provos <provos@citi.umich.edu> Copyright (C) 1993-1998 by Darren Reed Copyright (c) 1997 Niklas Hallqvist Copyright (c) 1996 Theo de Raadt Copyright 1995-1998 by Randall Atkinson, Ronald Lee, Daniel McDonald, Bao Phan, and Chris Winters. All rights under this copyright have been assigned to the US Naval Research Laboratory (NRL) |
FreeBSD and OpenBSD network stacks | CYGPKG_NET | Copyright (c) 1983, 1986, 1987, 1990, 1991, 1993 The Regents of the University of California Copyright (c) 1997 The NetBSD Foundation, Inc. Copyright (c) 1999 Theo de Raadt Copyright (c) 1994 Jason R. Thorpe Copyright (c) 1995, 1999 Berkeley Software Design, Inc. Copyright (c) 1999, 2000 Jason L. Wright (jason@thought.net) |
lwIP network stack | CYGPKG_NET_LWIP | Copyright (c) 2001, 2002, 2003, 2004 Swedish Institute of Computer Science Copyright (c) 2001, 2002, 2003, 2004 Leon Woestenberg <leon.woestenberg@axon.tv> Copyright (c) 2001, 2002, 2003, 2004 Axon Digital Design B.V., The Netherlands. |
lwIP PPP support | CYCPKG_LWIP_PPP | Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc. Copyright (c) 1997, 1998 by Global Election Systems Inc. Copyright (c) 1993, 1994 The Australian National University Copyright (c) 1989 Carnegie Mellon University Copyright (c) 1991 Gregory M. Christy Copyright (c) 1995 Eric Rosenquist, Strata Software Limited Copyright (c) 1989 Regents of the University of California |
RedBoot | CYGSEM_REDBOOT_NET_TFTP_DOWNLOAD | Copyright (c) 1983 Regents of the University of California |
RedBoot | CYGSEM_REDBOOT_ELF | Copyright (c) 1995, 1996 Erik Theisen |
File Systems | CYGPKG_COMPAT_LINUX | Copyright 2002 Niels Provos <provos@citi.umich.edu> |
Posix Compatibility Layer | CYGPKG_POSIX | Copyright (c) 1990, 1999 The Regents of the University of California |
MIPS HAL | CYGPKG_HAL_MIPS | Copyright (c) 1992 The Regents of the University of California |
Standard C Library | CYGPKG_LIBC_STDIO | Copyright (c) 1990 The Regents of the University of California |
Standard C Library | CYGPKG_LIBC_STDLIB | Copyright (c) 1990, 1992, 1993 The Regents of the University of California |
Standard C Library | CYGPKG_LIBC_STRING | Copyright (c) 1988 Regents of the University of California |
Standard C Library | CYGPKG_LIBC_TIME | Copyright (c) 1999 Kungliga Tekniska Högskolan (Royal Institute of Technology, Stockholm, Sweden) |
Object Loader | CYGPKG_LOADER | Copyright (c) 1995, 1996 Erik Theisen |
Note: The above list of copyright holders and the associated packages containing their software has been provided as a guide and indicator only. This list may change over time. It is your sole responsibility to determine the authors and type of acknowledgement required when releasing products incorporating software provided under the terms of a BSD license.
ZLIB License
The zlib compression library included in eCos is licensed under the zlib license. The license is very permissive and does not require acknowledgement of its use, nor distribution of its sources.
eCos Contributions
It is not a license requirement, but it is considered good practice to assign and contribute back to the eCos project any generically useful modifications and additions that you have made to the eCos source files. This allows others to benefit from your modifications in the same way that you have benefited from all the previous contributions to the eCos project.
Further information and resources
- The eCos License Overview on the eCos community website
- GNU GPL version 2 FAQ (the EPL is based on version 2 of the GPL)
- The GPL Compliance Lab
- GPL product vendor FAQ
- Wikipedia entry for the BSD License