Table of Contents

Making a product

There is a big difference between a product and a project. Here are a few tips, which might help turn your project into a product.

Debug Options

There are various debug options in the Linux kernel - which you may want to turn off as you are getting closer to product deployment. These options are turned on by default in the standard releases, (to make debugging easier/possible), but they do add overhead (performance impact) and code size. Turning these options off will make your system faster and smaller, but also more difficult to debug.

Legal Issues

This is not legal advice, you should consult your legal advisor to ensure you comply with the law.

Different Licenses

The uClinux GNU/Linux distribution found on blackfin.uclinux.org or uclinux.org(the Software) is a modular operating system. Most of the components are open source packages, developed independently, and accompanied by separate license terms (such as GPL, LGPL, BSD , modified BSD or others). Your license rights with respect to individual components accompanied by separate license terms are defined by those terms; nothing shall restrict, limit, or otherwise affect any rights or obligations you may have, or conditions to which you may be subject, under such license terms.

For more information, see the software_license section.

The Linux Kernel License

The Linux kernel is distributed under a GPL license with exceptions.

file: trunk/COPYING

scm failed with exit code 1:
file does not exist in git

What this exactly means with respect to kernel loadable modules - a judge needs to decide. Until then, there is a Position statement from various kernel developers which can be found in pdf or on a web page.

Complying with the GPL

To ensure you will not run into legal issues, as you are developing your product that may include GPL licensed software (like the Linux kernel), please consult with professional legal services - which is not anyone here. This is not legal advice, if you have doubts (which you should) consult your legal advisor.

There are many potential legal issues to consider:

Using Libraries

To ensure you will not run into legal issues, as you are developing your product that may include LGPL licensed libraries (like the uClibc System Library), please consult with professional legal services - which is not anyone here. This is not legal advice, if you have doubts (which you should) consult your legal advisor.

There are many potential legal issues to consider:

 5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library".  Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.

Binding Licenses

Although it would be nice to think “I'm a software developer - not a lawyer, these licenses do not apply to me”, that is not correct. When developing a product, you (the software developer) always has two options:

  1. accept the license, and read it, understand what it means, ensure that your company/product understands the ramifications of the software choices you are making.
  2. do not distribute the software based on licenses that you do not accept.

Both the GPL, and LGPL state:

  5. You are not required to accept this License, since you have not
signed it.  However, nothing else grants you permission to modify or
distribute the Program or its derivative works.  These actions are
prohibited by law if you do not accept this License.  Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.

Pointers

For more information, check out: