samedi 16 novembre 2013

Fedora, a non-gnu distribution? Or blobs and *-firmware: states. UPDATED

Reason of update: Kevin Kofler add some (important) information in this [9] comment. Thank you!

Hi,

Recently, I sought Fedora in the GNU free-distros list [1], and surpise, Fedora isn't in this list! However, Fedora has a serious political about the inclusion of proprietary softwares... On other page on gnu.org enlighten me [2]: 

"Fedora does have a clear policy about what can be included in the distribution, and it seems to be followed carefully. The policy requires that most software and all fonts be available under a free license, but makes an exception for certain kinds of nonfree firmware. Unfortunately, the decision to allow that firmware in the policy keeps Fedora from meeting the free system distribution guidelines. "

Fedora include proprietary software? A quick search redirect me to this part of the Licensing wiki page [3].

"Some applications, drivers, and hardware require binary-only firmware to boot Fedora or function properly. Fedora permits inclusion of these files as long as they meet the following requirements:[...]"

Well, it's for support most hardware... Update: Firmware are exucted on the target devices, not ont the main CPU. To verify if your equipement is supported by open-source application, you can try a Live CD of a totally free distribution (like Trisquel [4]), and see if your hardware work correctly.
On that case, you can run:
   # yum remove *-firmware
This command will be remove all proprietary firmwares, the naming guidelines oblige a name like <foo>-firmware. You can also see the wiki page of the SIG firmware [5], if you want to help to remove them of the project. But, even if you ran the previous command, your fedora is not totally opensource...

After a discussion about proprietary softwares in the #fedora-devel-fr on irc.freenode.net channel with some (friendly) french contributors, I run a:
   $ yum info kernel
And I can see that:

[...]
Licence: GPLv2 and Redistributable, no modification permitted
[...]

What? Kernel isn't under free license? After some french contributors, it is a fact from blobs (I can't found any "official" information about that). What is blobs? B.L.Ob [6] "a closed source binary-only driver without publicly available source code". Update: Blob are also firmware. The Fedora kernel not have binary-only drivers. Upstream work on that, you can help if you want. So, the linux kernel, the base of Fedora, is not totally free... That a very big problem!

To work with a totally opensource fedora, you can find some help with the freed-ora project [7], his homepage describe the procedure to change Fedora on a free distribution. Freed-ora have an active support, the last kernel was built the 26 october 2013 when I write this lines (the 16 november 2013).

The solutions:
I thought about some solutions about this problem :) I class their in order of importance (for me):
- Create a wiki page about blobs in the kernel.
- Add an option in Anaconda "Add proprietary firmwares" to allow a choice for users.
- Work actively on this problem (certainly resubmit this feature [8], I don't understand why it is abandoned). 
- [Add a "kernel-free" package in our repository (like the freed-ora's kernel) ] Update: It is a short-term solution. It is better to work on the existant kernel. " Focus your efforts on moving the blobs to linux-firmware, and getting the dependency in the kernel package removed. Then the same kernel package should make everyone happy."
- Create a Free Spin, endorsed by tne GNU project.
- Put all *-firmware in RPMFusion repository. 
- Say "Fedora is Freedom!"

[1]: https://www.gnu.org/distros/free-distros.html
[2]: https://www.gnu.org/distros/common-distros.html
[3]: https://fedoraproject.org/wiki/Licensing:Main#Binary_Firmware
[4]: https://trisquel.info/
[5]: https://fedoraproject.org/wiki/Firmware
[6]: https://en.wikipedia.org/wiki/Binary_blob
[7]: http://www.fsfla.org/ikiwiki/selibre/linux-libre/freed-ora.en.html
[8]: https://fedoraproject.org/wiki/Features/FedoraFreedom
[9]: http://nobrakal.blogspot.fr/2013/11/fedora-non-gnu-distribution-or-blobs.html?showComment=1384750540460#c6458436824776626505