The puropose of this page is to summarise a discussion which started as a subthread of a long discussion about non-free files present in a package in the main archive.
The question is wether it would be acceptable to accept orig.tar.gz files containing some non-DFSG files if the resulting binary package prepared for main would only contain free files.
Some free software are accompanied by non-programmatic files whose licenses are not free according to the DFSG. In many cases it is non-modifiable documentation or logos. The current approach is that the Debian Developer downloads the archive file containing the sources privately, removes the non-free files, and uploads a Debian source package with a modified original source (.orig.tar.gz) file.
It has been proposed to keep the original sources instead, and to exclude the non-free material at build time instead of upload time.
This is, in my opinion, a disservice to the users, and a violation of the social contract. We are a part of the free software community. We are not just a glorified packager of binaries, we provide our end users source code with which they can do as they wish. The whole purpose of free software is to make changes, distribute these changes, and let people make changes of their own. By shipping non-free material in our sources would be as bad as shipping them in the binary package -- unless you think of debian is just a conveyor of pre-built binaries [http://wiki.debian.org/Manoj_Srivastava Manoj_Srivastava]
Similarities between the approaches
- In the process of making the source package, original sources are downloaded from the upstream web site and contain non-free files.
- The material the debian/copyright files refer to is the original upstream sources, since what is documented is not only the files present in the .orig.tar.gz file, but also the files removed from the original upstream sources.
- The modifications made by Debian are not contributed upstream.
- The binary packages do not contain non-free material
Discussion of the current approach
- The main archive is completely free of non-DFSG material, both in its source and binary aspects. However, since Debian is a binary distribution, it is likely that the vast majority of users who want to install a program from source will get them from the upstream website, not from Debian.
Debian is not just a binary distribution. It is a full member of the free software community, and is based around the fact that the source is free -- and we define what free means. Debian is what a number of other distributions are based on -- and most of these people take the source, bit just the Debian .debs. So far, everyone can take what they want from main -- sources included -- and not have to worry about non-free crap. [http://wiki.debian.org/Manoj_Srivastava Manoj_Srivastava]
- Users know that any file distributed by Debian in main is freely modifiable. Howerver, they still have to read debian/copyright to know how they are allowed to modify them. In addition, additional restrictions can stem from legal dispositions other than licenses. Therefore, the files in Debian main are not blindly modifiable anyway.
But so far, people can rely on Debian not shipping them non-free in main. You want to degrade what is one of our strong points -- the social contract, that says everything in Debian is free. This is not, in my opinion, acceptable. [http://wiki.debian.org/Manoj_Srivastava Manoj_Srivastava]
- The Debian main archive represents a fully free operating system at a given time. However, the process of upgrading it includes the manipulation of non-free files on non official machines by Debian developpers. Therefore, the Debian Operating System depends on non-free files anyway.
This is illogical. Upstream is not free. What gets shipped by Debian is free. In extracting the free bits Debian developers have to (ick) come in contact with the evil non free bits. Such are the heroic sacrifices they make. But the stuff that ships in main is fully free. [http://wiki.debian.org/Manoj_Srivastava Manoj_Srivastava]
Discussion of the proposed approach
- Debian would keep using the original upstream sources, which increases clarity about what is used to build the binary packages, and is more respectful to the choices upstream. However, the main archive would contain non-free files in the orig.tar.gz files of the main archive, which weakens the claim that Debian is a completely free OS. Nevertheless the non-free files discussed here are non-programmatic and non-essential to the program function, and it is questionable whether removing them before upload provide additional freedom compared to removing them at build time.
- In the case where the non-free file are not anecdotical nor redundant with already existing packages in non-free, it would be possible to build non-free packages from the main sources packages. However this can be a source of confusion, especially for people using dpgk-buildpackage locally.
This approach would require a modification of the social contract, and removal of the everything in Debian is free bit. [http://wiki.debian.org/Manoj_Srivastava Manoj_Srivastava]
Package maintainers who dislike removing files from the upstream sources can also simply upload the whole package to non-free instead of main. However, since central components of the Debian OS, such as the GNU compiler, contain non-free documents, this alternative is not always available.
Is the proposed approach possible ?
What is proposed is for the moment disallowed by the FTP team ([http://lists.debian.org/debian-legal/2003/05/msg00149.html]).
However, the Social Contract states "We provide the guidelines that we use to determine if a work is free in the document entitled The Debian Free Software Guidelines. We promise that the Debian system and all its components will be free according to these guidelines. We will support people who create or use both free and non-free works on Debian. We will never make the system require the use of a non-free component.", therefore, if the function of the OS do not depend on the non-free files discussed here, and if the orig.tar.gz conform to the DFSG, it should be possible.
Sorry, no. All of main is part of Debian -- especially the sources. [http://wiki.debian.org/Manoj_Srivastava Manoj_Srivastava]
According to the DFSG: "The license of a Debian component may not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license may not require a royalty or other fee for such sale.". So the possibility of ignoring the non-free, non-programmatic documents at build time instead of upload time ultimately depends on how the Debian developers agree on the meaning of the word "software".
When it comes to computers, stuff is either Hardware, Software, or Wetware. You decide. [http://wiki.debian.org/Manoj_Srivastava Manoj_Srivastava]