Guidelines for Free System Distributions

Introduction

The purpose of these guidelines is to help people determine whether or not all the information for practical use in a system distribution (such as a GNU/Linux distribution) is free, and to help people create such distributions. "Information for practical use" includes software, documentation, fonts, and other data that has direct functional applications. It does not include artistic works that have an aesthetic (rather than functional) purpose, or statements of opinion or judgment.

These guidelines are not complete. We have mentioned the issues we are aware of now, but we're sure there are more. We will add them when we come across them.

We would like to thank the Fedora Project for their help in focusing these policies, and allowing us to use their own distribution license guidelines as a basis for this document.

License Rules

All information for practical use in a free distribution must be released under an appropriate free license. We list the ones we have evaluated on our license list, with separate sections for licenses that are suitable for software, documentation, fonts, and other useful works. If such a work is released under multiple licenses, at least one of which is free, it can be included in the system; the system developers just need to follow the terms of the available free license(s) when they distribute and/or modify it.

A free system distribution must not assist users in obtaining any nonfree information for practical use, or encourage them to do so. There should be no repositories or ports for nonfree software. Programs in the system should not suggest installing nonfree plugins, documentation, and so on.

A free system distribution should be self-hosting. This means that you must be able to develop and build the system with tools that the system provides you. As a result, a free system distribution cannot include free software that can only be built by using non-free software.

There's a lot of code in most free system distributions today; the amount of effort it would take to audit it all directly is impractical for most teams. In the past, some nonfree code has accidentally been included in free system distributions. We don't de-list distributions because of this; instead, we only ask that a distribution put forth a good faith effort to avoid including nonfree software, and commit itself to removing such programs if they are found later.

Certain kinds of license situations merit special attention for people creating or considering free software distributions; those are discussed in the sections below.

Nonfree Firmware

Some applications and drivers require firmware to function, and sometimes that firmware is distributed only in object code form, under a nonfree license. We call these firmware programs "blobs." On most GNU/Linux systems, you'll typically find these accompanying some drivers in the kernel Linux. Such firmware should be removed from a free system distribution.

Blobs can take many forms. Sometimes, they will be provided in separate files. Other times, they may be incorporated into the source of the driver itself—for example, it could be encoded as a large array of numbers. But no matter how it's encoded, any nonfree firmware needs to be removed from a free system.

(To be clear, not every array of numbers in a driver is firmware. It's important to understand the purpose of the data before deciding whether or not it's appropriate for a free system.)

Brian Brazil, Jeff Moe, and Alexandre Oliva have developed a series of scripts to remove nonfree firmware from a stock version of Linux. You may find them helpful if you would like to develop your own free GNU/Linux distribution. The complete source for a blob-free version of Linux is also available; you can learn more about this from the Free Software Directory.

Non-functional Data

Data that has an aesthetic purpose, rather than a functional one, may be included in a free system distribution as long as its license gives you permission to copy and redistribute, both for commercial and non-commercial purposes. For example, there are some game engines that have been released under the GNU GPL, and have accompanying game information—a world map, game graphics, and so on—released under such a verbatim distribution license. This kind of data can be part of a free system distribution.

Documentation

All the documentation in a free system distribution must be released under an appropriate free license. Additionally, it must take care not to recommend nonfree software.

In general, something that helps people who already use nonfree software to use the free software better with it is acceptable, but something that encourages users of the free software to install nonfree software is harmful.

For example, a free system distribution may have documentation for users setting up dual boot systems. It could explain how to access filesystems from the proprietary operating system, import settings from it, and so on. That would be helping people install a free system distribution on a machine which already has proprietary software, which is good.

What would be unacceptable is for the documentation to give people instructions for installing a nonfree program on the system, or mention conveniences they might gain by doing so.

For a borderline case, a clear and serious exhortation not to use the nonfree program would clearly make it acceptable.

Patents

It is effectively impossible for free software developers and distributors to know whether or not a given piece of software infringes any patents: there are too many of them, and they're often worded so as to obscure their intended application. In part because of this, we don't expect free system distributions to exclude any software because of threats from patents. On the other hand, it's also not a problem if a distributor chooses to exclude some software to minimize the risk of patent infringement suits against them.

Final Notes

We list the free system distributions we know about on our links page. If you know about one that isn't listed there, please have the developers write to us at <gnu@gnu.org>. If you have questions or comments about these guidelines themselves, feel free to send those to <licensing@gnu.org>. We hope this helps everyone better understand the issues that are important for free system distributions, and we look forward to promoting more of them in the future.

Updated: $Date: 2008/05/30 15:27:43 $

Translations of this page