Licenses

As of Portage 2.1.7, the ability to manage the licenses of installed software is available. This document explains how to specify the allowed licenses and find out information on them.

Global: make.conf
The list of allowed licenses can be set through 2 methods. On a global basis, licenses can be managed via the ACCEPT_LICENSE option in.

The default value for ACCEPT_LICENSE is: ACCEPT_LICENSE="* -@EULA"

This allows all licenses, except those in the EULA license group. License groups are discussed below in the Getting License Information section.

You can check the current setting for your system by running:

Per Package: package.license
Licenses can also be managed on a per package basis using, which does not exist by default. The format of this file is similar to or. It contains a package specification followed by a list of allowed licenses.

For example, to allow the dlj-1.1 license for, add the following to : dev-java/sun-jdk dlj-1.1

Getting License Information
The list of licenses for packages in the official tree can be found in the subdirectory of the official tree. By default this is.

The list of license groups (which can be specified using the @ prefix, similar to the specification of package sets) are defined in.

You can find out the license that a given package is under using a package search via emerge or eix. Web based interfaces such as packages.gentoo.org and gentoo-portage.com also show the license.

For example: Shows: Latest version available: 1.6.0.17 Latest version installed: 1.6.0.17 Size of files: 159,892 kB     Homepage:      http://java.sun.com/javase/6/ Description:  Sun's Java SE Development Kit License:      dlj-1.1
 * dev-java/sun-jdk

Common Setups
To accept only free software licenses, you can set the following in your make.conf: ACCEPT_LICENSE="-* @FREE"

License group "@FREE" expands to licenses approved by the Free Software Foundation or by the Open Source Initiative, and some other free licenses. See for details.

If you wish to use Linux-Libre, a kernel with non-free blobs removed, then add deblob to USE in before emerging a kernel tarball: USE="deblob ..."

Please note that according to emerge: * Deblobbed kernels are UNSUPPORTED by Gentoo Security. * This means that it is likely to be vulnerable to recent security issues.

Another useful USE flag is bindist, which makes packages build in a binary format that may be redistributed, by removing certain trademarks and excluding some patent-encumbered code. (As a note, some programs may have requirements that you provide the source code, if requested by the recipient of the binary.)