Features/FedoraFreedom

= Fedora Freedom =

Summary
Deliver on Fedora Marketing's messaging that "Freedom is a Feature", offering users means to distribute Fedora without distributing non-Free Software, and to avoid getting non-Free Software installed on their computers once they choose freedom.

Owner

 * Name: AlexandreOliva

Current status

 * Targeted release:  Fedora 10
 * Last updated: 2008-05-22
 * Percentage of completion: 0%

Detailed Description

 * kernel-libre

Offer users a kernel without any non-Free Software, not in the binaries, not in the corresponding sources. Ideally, this should come straight from upstream, but until upstream becomes Free Software, there are kernel-libre builds based on linux-libre and deblobbed stable, rc and git patches with sources and configurations identical to those of the standard kernel. Efforts to 'free' upstream linux are underway, but until there is some upstream release that doesn't include blobs, and commitment from upstream to not include them in this release, if we want to offer Freedom to our users, we may have to use a different upstream (such as linux-libre), as default or as an alternative. (Note: simply disabling configuration options that build firmware into the kernel is not enough for the sources to be Free Software if the firmware is still there; it would not enable users to distribute (some spin of) Fedora without also distributing, or promising to distribute, the non-Free Software still present in the kernel sources.


 * fedora-freedom

Offer users a package without actual content, that conflicts with known non-Free components of Fedora, such as non-Free firmwares and kernel.org's kernel. Users who don't want to have any non-Free Software brought into their computers in updates or even at install time may elect to have this package installed.


 * Fedora Freedom spin

Based on linux-libre (whether or not it is accepted into Fedora, if an exception is made; whether or not it's still maintained outside kernel.org or adopted by the Linux community), contains fedora-freedom (i.e., none of the packages it conflicts with). Live (such that people can take to stores to see whether the computer they want to buy requires the installation of non-Free Software) and installable (perhaps with fedora-freedom enabled by default). Should not contain any non-Free Software, and its corresponding SRPMS should not contain any non-Free Software.

Benefit to Fedora
We could then claim to respect and care about users' freedom without having to double-think about it, and without getting rid of all the non-Free Software (for now :-)

Scope
kernel-libre is already maintained [elsewhere, all the way back to Fedora 7.  It could even be offered for such earlier releases.

fedora-freedom would be quite trivial to create and not hard at all to maintain, since we don't go about adding non-Free Software to the distro every day.

The spin could ideally be launched along with main releases, but it wouldn't hurt to make it a custom spin. Whether or not to include linux-libre as a boot option in the main spin is something to be evaluated. It wouldn't address the issue of enabling people to distribute the main spins without distributing non-Free Software, though.

Test Plan
Check that the installer doesn't get confused about kernel* provides in kernel-libre and ends up installing a version of the kernel that is not what the user expects.

Check that package managers handle kernel-libre just like the regular kernel.

Check that, if the freedom feature is enabled at install time, kernel-libre is installed and configured as the default kernel, and that fedora-freedom is installed.

Check that a 'Freedom' install doesn't fail just because some essential component depends, directly or indirectly, on non-Free packages.

User Experience
Most users shouldn't notice significant differences, since Fedora is mostly free, and there are not very many blobs in the kernel. Areas most likely to be affected are common wifi communication devices, that typically won't function without non-Free firmware. Users would be able to choose whether to avoid such firmware entirely or to remove/reject the freedom feature in order to install such firmware as supplied by Fedora, or install it separately in such a way that doesn't trigger the conflicts in fedora-freedom. Users can then find their preferred balance between convenience, functionality and freedom.

Dependencies
None.

Contingency Plan
kernel-libre is a drop-in replacement for the current kernel. If the distro lacks a kernel-libre, it will be lacking in the Freedom feature.

fedora-freedom requires kernel-libre, but it's not necessary to actually offer users the feature.

The spin depends only on kernel-libre, but fedora-freedom would be a nice way to check that it delivers on the promise.

Documentation
Explain Fedora's stance in the difficult balance between offering users convenience, features and freedom, and the (hereby suggested) position of deferring to the user rather than imposing non-Free Software on the users of a distro that claims to regard freedom as a major feature.

Release Notes
Mention the new feature and how to choose it or disable it, depending on the defaults.