Free System Distribution Guidelines (GNU FSDG)

This page is maintained by the Free Software Foundation's Licensing and Compliance Lab. You can support our efforts by making a donation to the FSF. Have a question not answered here? Check out some of our other licensing resources or contact the Compliance Lab at licensing@fsf.org.

Introduction

The purpose of these guidelines is to explain what it means for an
installable system distribution (such as a GNU/Linux distribution) to
qualify as free (libre), and
help distribution developers make their distributions qualify.

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.

Complete Distros

Our list of distributions is a guide for systems you can install in
a computer. Therefore, it only includes distributions that are
complete in themselves and ready to use. If a distribution is
incomplete — if it requires further development, or presupposes
installing other software as well — then it is not listed here,
even if it is free software.

An exception to this requirement and to the self-hosting
requirement above is for small system distributions, which
are distros designed for devices with limited resources, like a
wireless router for example. Free small system distributions do not
need to be self-hosting or complete, because it is impractical to do
development on such a system, but it must be developable and buildable
on top of a free complete system distribution from our list of
distributions, perhaps with the aid of free tools distributed
alongside the small system distribution itself.

License Rules

“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.

All information for practical use in a free distribution must be
available in source form. (“Source” means the form of the
information that is preferred for making changes to it.)

The information, and the source, must be provided under an
appropriate free license. We
evaluate specific licenses and list our determinations
in 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 a disjunction of licenses, the work is free as
long as at least one of its licenses is free; the system developers
should follow the terms of the applicable free license(s) when they
distribute and/or modify it.

A free system distribution must not steer users towards obtaining
any nonfree information for practical use, or encourage them to do so.
The system should have no repositories for nonfree software and no
specific recipes for installation of particular nonfree programs. Nor
should the distribution refer to third-party repositories that are not
committed to only including free software; even if they only have free
software today, that may not be true tomorrow. 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 nonfree
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's developers
make a good faith effort to avoid including nonfree software, and
commit themselves to removing such programs if any are discovered.

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 the Linux kernel.
You may find them helpful if you would like to develop your own free
GNU/Linux distribution—although we recommend joining development
of an existing free distro rather than fragmenting effort by starting a
new one. The complete source for a blob-free version of the Linux
kernel is also available; you can learn more about this project from the
Free
Software Directory.

Non-functional Data

Data that isn't functional, that doesn't do a practical job, is
more of an adornment to the system's software than a part of it.
Thus, we don't insist on the free license criteria for non-functional
data. It can 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, some game
engines released under the GNU GPL have accompanying game
information—a fictional 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, even though
its license does not qualify as free, because it is non-functional.

Trademarks

Trademarks are associated with some software. For example, the
name of a program may be trademarked, or its interface may display a
trademarked logo. Often, the use of these marks will be controlled
in some way; in particular, developers are commonly asked to remove
references to the trademark from the software when they modify
it.

In extreme cases, these restrictions may effectively render the
program nonfree. It is unfair for someone to ask you to remove a
trademark from modified code if that trademark is scattered all
throughout the original source. As long as the practical
requirements are reasonable, however, free system distributions may
include these programs, either with or without the trademarks.

Similarly, the distribution itself may hold particular trademarks.
It is not a problem if modification requires removal of these
trademarks, as long as they can readily be removed without losing
functionality.

However, it is unacceptable to use trademarks to restrict verbatim
copying and redistribution of the whole distribution, or any part.

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 not.

For example, a free system distribution may have documentation for
users setting up dual boot systems. It could explain how to access
filesystems of 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 move it to the acceptable side of the line.

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, they vary from
country to country, they're often worded so as to make it hard to tell
what they do or don't cover, and it isn't easy to tell which ones are
valid. Therefore, we don't generally ask free system distributions to
exclude software because of possible threats from patents. On the
other hand, we also don't object if a distributor chooses to omit some
software in order to avoid patent risk.

No Malware

The distro must contain no DRM, no back doors, and no spyware.

Commitment to Correct Mistakes

Most distribution development teams don't have the resources to
exhaustively check that their distribution meet all these criteria.
Neither do we. So we expect distros to occasionally contain mistakes:
nonfree software that slipped through, etc. We don't reject a
distribution over mistakes. Our requirement is for the distribution
developers to have a firm commitment to promptly correct any mistakes
that are reported to them.

Maintenance

To be listed, a distribution should be actively maintained,
and should give the GNU Project a clear and specific way to report problems
of nonfree software that we find out about. It should also
inform us when the problems we have reported are fixed.

Name Confusion

We will not list a distribution whose name makes confusion with
nonfree distributions likely. For example, if Foobar Light is a free
distribution and Foobar is a nonfree distribution, we will not list
Foobar Light. This is because we expect that the distinction between
the two would be lost in the process of communicating the message.

Contacting Upstream If You're Downstream

For distro developers (or anyone else) who have sent an important bug
report for a GNU package: if it has gone unheeded by the package
maintainer after a reasonable time (please allow at least two weeks),
you can escalate the bug by writing to <maintainers@gnu.org>.
This is especially warranted if you can't find evidence of recent
activity by the package maintainer.

Please Teach Users about Free Software

To establish lasting freedom, just giving users freedom isn't
sufficient. It is necessary also to teach them to understand what it
means and to demand it. Thus, we suggest and urge that free distros
announce prominently on the screen, before login and on the default
desktop after login, a prominent statement about freedom, such as
“This system is freedom-respecting free/libre software” or
something comparable, and to present a link or icon pointing at
gnu.org or gnu.org/philosophy for further information about the
issue.

Please Avoid Repeating Propaganda and Confusion

Please see our list
of words to avoid, which
are either biased, misguided or misleading, and try to avoid them in
your public statements and discussions with the public.

Final Notes

We maintain a list of the free
GNU system distributions we know about. If you know about a free
distribution that isn't listed there, please ask its developers write
to <webmasters@gnu.org> with a description of
their system and a link to their web page.

If you have questions or comments about these guidelines
themselves, feel free to send those to <licensing@gnu.org>. We hope
that they help everyone better understand the issues that are important
for free system distributions, and we look forward to promoting more
of them in the future.