Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Embedded Linux Development with Yocto Project

You're reading from  Embedded Linux Development with Yocto Project

Product type Book
Published in Jul 2014
Publisher
ISBN-13 9781783282333
Pages 142 pages
Edition 1st Edition
Languages

Table of Contents (22) Chapters

Embedded Linux Development with Yocto Project
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
1. Meeting the Yocto Project 2. Baking Our Poky-based System 3. Using Hob to Bake an Image 4. Grasping the BitBake Tool 5. Detailing the Temporary Build Directory 6. Assimilating Packaging Support 7. Diving into BitBake Metadata 8. Developing with the Yocto Project 9. Debugging with the Yocto Project 10. Exploring External Layers 11. Creating Custom Layers 12. Customizing Existing Recipes 13. Achieving GPL Compliance 14. Booting Our Custom Embedded Linux References
Index

Chapter 13. Achieving GPL Compliance

In this chapter, we learn how to fulfill open source license compliance and how we can use Poky to provide the needed artifacts such as source code, licensing text, and the list of derivative work. This is critical for most products being introduced in the market nowadays as open source code needs to live side-by-side with proprietary code.

Understanding copyleft


Copyleft is a legal way to use the copyright law in order to maximize rights and express freedom. It impacts our day-to-day work in such a way that companies must know how to deal with open source and free software licenses as they have a high impact on their products.

When building a Linux distribution, there are at least two projects being used: the Linux kernel and a compiler. The most commonly used compiler nowadays is the GNU Compiler Collection (GCC).

The Linux kernel is released under the GPLv2 license, and the GCC is released under the GPLv2, GPLv2.1, and GPLv3 licenses, depending on the project used.

However, a Linux-based system can virtually include all projects available throughout the world, in addition to all applications made by the company for its product. How do we know the number of projects and licenses, and how do we fulfill copyleft compliance requirements?

Note

This chapter describes how the Yocto Project can help you in the task, but be aware that...

Managing software licensing with Poky


One important Poky feature is the capability of license for license management. Most of the time, we, as developers, do not care about licenses because we keep our focus on our own bugs. However, when creating a product, it is very important to care and know about licenses and the kind of licenses present in it.

Poky keeps track of licenses, works with commercial and noncommercial licenses, and has a strategy to work with proprietary applications, at least during the development cycle.

Tip

One important thing to know, at first, is that a recipe is released under a certain license, and it represents a project released under a different license. The recipe and the project are two different entities and they have different licensing, so the two different licenses must be considered part of the product.

In most recipes, information is a comment with the copyright, license, and author name; this information is regarding the recipe itself. Then, there is a set...

Using Poky to achieve copyleft compliance


At this point, we know how to use Poky and understand its main goal. It is time to understand the legal aspects of producing a Linux-based system that uses packages under different licenses.

We can configure Poky to generate the needed artifacts that should be shared as part of the copyleft compliance accomplishment process.

License auditing

To help us to achieve copyleft compliance, Poky generates a license manifest during the image build located at build/tmp/deploy/licenses/<image_name-machine_name-datestamp>/.

To demonstrate this process, we use the core-image-full-cmdline image for the qemuarm machine. To start with our example, examine the files under build/tmp/deploy/licenses/core-image-full-cmdline-qemuarm-<datastamp>, which are as follows:

  • package.manifest: This lists all the packages into the image.

  • license.manifest: This lists the names, versions, recipe names, and licenses for all packages. This file may be used for copyleft compliance...

Summary


In this chapter, we learned how Poky can help with copyleft license compliance accomplishment and also understood why it should not be used as a legal background. Poky enables us to generate source code, reproduction scripts, and license text for used packages, to be used in our distribution. In addition, we learned that the license manifest generated within the image may be used to audit the image.

In the next chapter, we will understand how we can use the Yocto Project tools with an external BSP, the Freescale ARM BSP. We will use it to generate an image for use with the Wandboard machine.

lock icon The rest of the chapter is locked
You have been reading a chapter from
Embedded Linux Development with Yocto Project
Published in: Jul 2014 Publisher: ISBN-13: 9781783282333
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €14.99/month. Cancel anytime}