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. silent booting controlling the network decreasing boot_speed 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. Kernel Hacking Magic SysRq key - Inserts extra code into the kernel and serial driver. See docs for more info Kernel debugging - turns off many options, which are handy for developing drivers or trying to debug or identify kernel problems. This will save about 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 (GNU's Not Unix)/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 (GNU General Public License), LGPL (GNU Lesser General Public License), 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 (GNU General Public License) license with exceptions. 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 (GNU General Public License) 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: There is a advertising clause in the GPL: 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. This is why many manufactures are including the GPL (GNU General Public License) license for their products: Sony Tivo Netgear LinkSys TomTom and the list can continue for a long time… just use google. You do not have to provide Source by ftp or web site, the GPL (GNU General Public License) states: 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) According to the Free Software Foundation you must distribute the source, not point somewhere else. Also have a look at what they say about distribution of unchanged binaries. An option is to “distribute” something in cvs, svn, or git. GPL (GNU General Public License) and your proprietary application - If you include GPL (GNU General Public License) source as part of your application, the entire application falls under the GPL (GNU General Public License). What defines “include” and “your application” is up for a judge/jury/lawyer to decide - not anyone here. Just because you include a GPL (GNU General Public License) application on the filesystem, does not mean that your proprietary closed source application will fall under the GPL (GNU General Public License). The GPL (GNU General Public License) (v2.0) states: In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. Also, check out what the Free Software Foundation has to say about this. Using Libraries To ensure you will not run into legal issues, as you are developing your product that may include LGPL (GNU Lesser General Public License) 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: Make sure that all the libraries you are linking to are under a license which you understand. Some libraries are distributed under a GPL (GNU General Public License) license, and will cause your application to also be under the GPL (GNU General Public License). See what the Free Software Foundation has to say about this. This is done on purpose. There is a advertising clause in the LGPL: 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You do not have to provide code for applications which use LGPL (GNU Lesser General Public License) libraries. 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. You do need to provide a way to re-link the LGPL (GNU Lesser General Public License) Library with your code. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. For Linux applications, using elf shared libraries (fdpic) is a suitable mechanism for meeting the requirements of the LGPL (GNU Lesser General Public License) 2.1, section 6b. 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: 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. do not distribute the software based on licenses that you do not accept. Both the GPL (GNU General Public License), and LGPL (GNU Lesser General Public License) 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: GPL FAQ Vendor FAQ Source Code Release FAQ Open Source compliance-manual The Software Freedom Law Center's Practical Guide to GPL Compliance