Critères
Introduction
Cet article a pour but d'aider à choisir et/ou conseiller une distribution au vu de critères les plus simples et objectifs possibles.
Distributions certifiées FSF
Certaines distributions GNU/Linux et Android ont été certifiées par la FSF car elles sont entièrement libres et en plus elles protègent les personnes utilisatrices contre l'installation accidentelle de logiciels non libres.
Elles ne contiennent donc pas les parties non libres qui servent à faire marcher certains matériels assez courants (cartes WiFi Intel, Broadcom, certaines cartes Graphiques ATI/AMD, etc.).
La plupart des personnes utilisant ces distributions soit:
La plupart des autres distributions incluent au moins des parties non libres pour faire marcher le matériel mais ont une compatibilité matérielle beaucoup plus grande.
Par contre, une fois que le matériel marche sans logiciels non libres, le support assuré peut être extrêmement durable car n'importe qui (et pas seulement le fabriquant du matériel) peut participer au réglage de bogues.
LTS vs rolling release
Faire une mise à jour d'une version à une autre d'une distribution peut être compliqué et/ou intimidant. Avoir une distribution Long term support (LTS) peut aider les personnes ne voulant pas aller trop souvent aux install parties.
Par contre le fait d'avoir des logiciels anciens peuvent poser problème avec l'apparition de nouveau formats de fichier (par exemple avec LibreOffice, ou pour les formats vidéo et audio) ou l'utilisation de matériel plus récent que la date de sortie de la distribution.
Certaines distributions sont en rolling releases, c'est à dire que les versions de logiciels sont mises à jour en permanence. Cela peut parfois poser des soucis lorsque les formats des fichiers de configuration changent lors d'un changement d'une version majeure d'un logiciel car toutes les distributions ne peuvent pas forcément passer de l'ancienne version à la nouvelle automatiquement. A contrario, les distributions avec des releases fixes ont plus tendance à faire ce genre de conversions automatiques. Sinon il convient aussi de vérifier si la distribution rolling release que l'on veut utiliser n'est pas trop boguée pour l'architecture que l'on va utiliser vu que ça demande quand même un travail conséquent pour tout tester et que tout est mis à jour en permanence.
32bit vs 64bit
Les distributions 64bit consomment plus de RAM
Pas mal de distributions (comme Tails, Fedora, Ubuntu, OpenSUSE Leap) ou projets (comme Xen) ont arrêté le support x86 32bit
Donc si la machine a assez de RAM (~4G) il vaut mieux s'orienter sur du 64bit pour ne pas avoir à réinstaller une version 64bit dans un futur proche. Si la machine n'a vraiment pas assez de RAM il vaut donc mieux une distribution 32bit car de toute façon le manque de RAM risque d'être trop handicapant. Il vaut donc mieux chercher des distributions qui comptent continuer à supporter longtemps le 32bit.
Références
Support
Pour les personnes débutantes, si on souhaite un meilleur support, il peut être judicieux d'utiliser la même distribution que les personnes pouvant nous aider et/ou dépanner.
Une autre solution consiste à choisir les distributions les plus faciles à utiliser pour être læ plus indépendant·e possible.
Système de sécurité
Sous GNU/Linux, la plupart des systèmes de sécurité (options de compilation, secomp, privilege drop) fonctionnent sans que ça se voit. Ils ralentissent parfois un peu la machine.
Par contre il existe en plus des systèmes comme SELinux qui augmentent considérablement la sécurité mais qui peuvent être contraignants pour les personnes qui veulent installer des logiciels non fournis par la distribution, et cela pose des soucis dans certains cas pour développer du logiciel.
Installation simplifiée et/ou avancée
Certaines distributions comme Fedora, Trisquel et Ubuntu sont relativement simples à installer si on utilise l'installeur par défaut.
D'autres comme Arch Linux n'ont pas d'installeur: c'est à la personne qui installe de tout configurer à la main.
Debian, Trisquel et Ubuntu peuvent aussi être installées à la main.
Paquets par défaut
Dans certains cas il existe plusieurs installeurs comme Ubuntu, Kubuntu, Xubuntu. Derrière c'est la même distribution et on peut installer KDE (installé par défaut avec l'installeur Kubuntu) après avoir installé Xubuntu par exemple. Il suffit d'installer les paquets qui vont bien (sans doute un truc du genre kde-desktop).
Législations différentes et leur effets
TODO:
DMCA vs libdvdcss et l'April qui a fait valider par la justice Française que de lire un DVD (chiffré) avec du logiciel libre (libdvdcss) est OK.
Brevets sur les CODECS aux USA et effets sur les distributions (PLF, multiverse, etc)
Distributions Android
LineageOS
LineageOS n'est pas 100% libre mais en contrepartie elle a une plus grande compatibilité matérielle.
Le support d'un appareil (Téléphone / tablette) est limité dans le temps. En général il est quand même bien plus long que le support fourni par le fabriquant.
LineageOS ne fournit pas de store d'application. Donc on doit en installer un (comme f-droid par exemple).
L'installation (mais pas l'usage) est parfois assez technique.
Replicant 6.0
Version 100% libre de LineageOS. En contrepartie ça supporte que très peu d'appareils et pas toutes les fonctionnalités (sur certains appareils la caméra ne marche pas par exemple).
Basé sur Android 6.0, donc avec des trous de sécurité.
L'installation (mais pas l'usage) demande de savoir copier/coller des lignes de commandes.
Distributions GNU/Linux
Arch Linux
Arch Linux n'est pas 100% libre mais en contrepartie elle a une plus grande compatibilité matérielle.
Référence.
On peut installer assez facilement pas mal de logiciels tiers à travers un système de paquets fait par n'importe qui et de qualité variable (/!\ Danger)
Architectures: x86 64bit. Arch Linux ARM et Arch Linux 32 sont des distributions séparées.
Mises à jour:
Mise à jour en permanence (rolling release).
Pas de mises à jour automatiques.
On ne doit donc pas éteindre l'ordinateur abruptement pendant les mises à jour.
Demande de s'y connaître ou de vouloir apprendre:
Utilisation serveur difficile :
TODO:
Debian
Debian n'est pas 100% libre mais en contrepartie elle a une plus grande compatibilité matérielle.
Référence.
L'installeur graphique pose un peu trop de questions. Par contre l'installeur est extrêmement robuste: en répondant bien on arrive quasi à coup sûr à installer Debian.
Les versions sont supportées longtemps (environ 3 ans).
Mises à jour automatiques de sécurité possible. On ne doit donc pas éteindre l'ordinateur abruptement pendant.
Officiellement, la mise à jour est compliquée (ça demande de faire ça en ligne de commande dans screen et de lire les instructions de mise à jour). Si on le fait en graphique ça peut rater (c'est pas supporté).
On peut installer assez facilement des logiciels tiers à travers des repositories externes, par contre une fois qu'on a fait ça, ça devient parfois ultra compliqué de faire les mises à jour ou de les enlever.
Fonctionne très bien sur des ordinateurs anciens (support x86 32bit) et supporte pas mal d'architectures (x86 32bit et 64bit, arm 32bit ancien, 32bit, 64bit, mips 32 et 64bit, powerPC 64bit, mainframe) et de cas d'utilisation (ordinateur standard, serveurs, Freedombox, etc).
Differents systèmes de configuration disponibles (debian installer, FAI, freedombox) qui permettent d'abstraire la configuration du système
Debian fait en sorte que les paquets marchent bien ensemble
TODO:
Fedora
Fedora n'est pas 100% libre mais en contrepartie elle a une plus grande compatibilité matérielle.
Référence.
Les versions de Fedora sont supportées pendant 6 mois.
L'installation est simple.
Fedora utilise le système de sécurité (très sécurisé) SELinux. Par contre si on veut installer des logiciels tiers ou développer ses propres logiciels, ça oblige à apprendre à écrire des règles SELinux.
Architectures: x86 64bit, ARM 32bit ARM 64bit.
TODO:
Comment on met Fedora à jour? Est ce que c'est simple?
Comment installer des logiciels tiers? Est-ce qu'un mécanisme supporté est prévu?
Fedora normalement a des firmwares pas libres, comment faire un texte simple à comprendre pour une personne qui ne sait pas ce qu'est un firmware? Est-ce que ça vaut vraiment le coup de faire une différence sachant que les firmwares pas libres sont déjà assez horribles (Attaques DMA par périphériques, bogues impossibles à résoudre dans les firmwares etc) ? Par contre au niveau de la longevité du matériel ça a un sacré impact. Nvidia arrête ses vieux drivers par exemple. Un firmware non libre continue normalement de marcher (par contre ça ne règle pas les bogues de sécurité trouvés après comme par exemple le WPA2 group keys).
Au niveau SELinux est-ce que ça gène vraiment pour du dévelopement standard? Personnellement j'avais eu des soucis avec openembedded sous Gentoo. Avec Guix on a besoin de rajouter une policy SELinux aussi. Est-ce qu'il vaut mieux parler de programmation système si ça ne gène pas pour des trucs standards?
Wikipedia dit que niveau architectures on a aussi: “Alternative: mips64el, mipsel, ppc64le, RISC-V, s390x[4][5]”. Quel est la quantité de support?
Mises à jour automatiques?
Gentoo
Gentoo n'est pas 100% libre mais en contrepartie elle a une plus grande compatibilité matérielle.
Référence.
Mise à jour en permanence (rolling release).
On peut tout compiler, du coup si on ne veut pas de support Xorg ou qu'on veut des options de compilations pour augmenter la sécurité, c'est possible. Par contre ça demande des ordinateurs puissants pour ça.
Supporte énormément d'architectures (x86 32 et 64bit, alpha, arm 32 et 64bit, hppa, ia64, powerPC 32 et 64bit, riscv 64bit, sparc 64bit)
TODO:
Comment installer Gentoo? On a maintenant un installeur graphique? Ou il faut tout faire à partir du stage3?
Sparc c'est du 64bit? le sparc 32bit n'est plus bien supporté de nos jours (bogues kernel, driver graphique qui crashe, etc)
Est ce que ça demande la ligne de commande? C'est utilisable par une personne non techinique? Notamment au niveau de la configuration?
Il y a t-il des paquets binaires de nos jours?
Mises à jour automatiques?
Guix
Guix est certifiée par la FSF mais en contrepartie elle a une compatibilité matérielle réduite.
Il y a un installeur graphique.
Mise à jour en permanence (rolling release).
Ça demande de connaître le lisp pour s'en servir comme distribution.
Système de configuration en lisp.
Support: x86 32bit (pas ultra stable), 64bit, ARM 32bit, 64bit, Power PC 64bit (experimental), RISCV 64bit (experimental).
On peut aussi s'en servir pour installer des logiciels sur une autre distribution, administrer des serveurs, etc.
Meilleure distribution au monde qui protège contre les attaques contres les compilateurs (trusting trust).
Certains languages de programmation sont manquants (C# par exemple)
Compile parfois, mais en général on peut utiliser des paquets binaires
Mises à jour automatiques possibles. Doit sans doute prévoir la configuration en conséquence.
Hyperbola
Hyperbola est certifiée par la FSF mais en contrepartie elle a une compatibilité matérielle réduite. En plus Hyperbola est en train de migrer vers un noyau BSD, donc la compatibilité risque d'être extrêmement réduite dans le futur.
Support logiciel réduit (pas de Java par exemple)
TODO:
Il y a un installeur graphique?
Utilisation pour personne débutante possible pour un usage non serveur? (normalement on n'a pas à toucher à des fichiers de configuration et on a un package manager graphique si on l'installe graphiquement).
Mises à jour de sécurité automatiques?
Support: x86 32bit (pas ultra stable), 64bit, ARM 32bit.
Mint
Mint n'est pas 100% libre mais en contrepartie elle a une plus grande compatibilité matérielle.
Référence. Mint inclut aussi pas mal de composants et d'applications non libres.
Il y a un installeur graphique.
Ne supporte pas la mise à jour d'une version à une autre. Il faut donc avoir un home séparé et réinstaller.
L'installation est simple. Par contre dans de très rares cas ça ne marche pas pour cause de bogues.
Parabola
Parabola est certifiée par la FSF mais en contrepartie elle a une compatibilité matérielle réduite.
Il y a un installeur graphique.
Mise à jour en permanence (rolling release).
Utilisation pour personne débutante sans doute possible pour un usage non serveur (normalement on n'a pas à toucher à des fichiers de configuration et on a un package manager graphique si on l'installe graphiquement).
Pas toujours très stable (on peut avoir à réparer son système ou réinstaller). Penser à faire 2 partitions ou à vérifier qu'on sait réinstaller facilement. C'est dû au fait que ça utilise les paquets de Arch Linux avec des paquets en plus dessus.
Pas de mises à jour de sécurité automatiques (il faut être devant l'ordi quand ça se fait).
Support: x86 32bit (pas ultra stable), 64bit, ARM 32bit.
Trisquel
Trisquel est certifiée par la FSF mais en contrepartie elle a une compatibilité matérielle réduite.
Trisquel est basée sur les versions LTS (Long term support) de Ubuntu qui sont supportées pendant 5 ans.
L'installation est simple. Par contre dans de très rares cas ça ne marche pas pour cause de bogues.
Mises à jour automatiques de sécurité possible. On ne doit donc pas éteindre l'ordinateur abruptement pendant.
La mise à jour peut se faire graphiquement et est relativement simple mais parfois ça pose quand même des questions auxquelles une personne débutante ne sait pas répondre.
Architectures: x86 64bit
Tails
Tails n'est pas 100% libre mais en contre partie elle à une plus grande compatibilité matérielle.
Référence
Mises à jour fréquentes (~ tous les 6 semaines)
L'installation est simple mais on doit l'installer sur un support de stockage externe (clef USB, disque dur externe, etc.) pour des raisons de sécurité (ça protège un peu les gens quand ielles l'utilisent dans un Internet cafe: ça n'essaie pas de trouver le disque dur interne pour démarrer dessus).
Fonctionnalités de sécurité avancées (Apparmor mais par exemple on peut pas mettre les téléchargements n'importe où)
Fait tout passer par Tor (sauf 1 navigateur qui sert pour les portails captifs).
Architectures: x86 64bit uniquement
TODO:
Ubuntu
Ubuntu n'est pas 100% libre mais en contrepartie elle a une plus grande compatibilité matérielle.
Référence. À noter qu'en France on est relativement bien protégé contre les brevets logiciels. Par contre Ubuntu viole la license de Linux avec ZFS (module compilé ⇒ pas OK (analyse légale sur le site de la FSF), si compilé par l'utilisatrice: pas d'analyse légale)
Les versions LTS (Long term support) sont supportées pendant 5 ans
Les autres versions sont supportées pendant 6 mois
L'installation est simple. Par contre dans de très rares cas ça ne marche pas pour cause de bogues.
La mise à jour peut se faire graphiquement et est relativement simple mais parfois ça pose quand même des questions auxquelles une personne débutante ne sait pas répondre.
On peut installer facilement des logiciels tiers à travers les PPA. Par contre ça implique de faire confiance aux personnes qui produisent ces logiciels.
Architectures: 64bit uniquement (x86, arm, powerPC, RISC-V, mainframe)
TODO:
Logiciels et fonctionnalités disponibles
Environnements de bureau
Cinnamon
Distribution | Paquets | Option lors de l'installation |
Arch Linux | Oui | N/A (installation manuelle ) |
Artix | Oui | ? |
CentOS | Oui | ? |
Debian | Oui | ? |
Fedora | Oui | ? |
FreeBSD | Oui | ? |
Funtoo | Oui | ? |
Gentoo | Oui | ? |
Guix | Non | Non |
Mageia | Oui | ? |
Manjaro | Oui | ? |
Mint | Oui | Bureau par défaut? |
OpenMandriva | Oui | ? |
openSUSE | Oui | ? |
Parabola | Oui | ? |
Pardus | Oui | ? |
Sabayon | Oui | ? |
Trisquel | Oui | ? |
Ubuntu | Oui | ? |
Void | Oui | ? |
Références:
Discussions et retours
Retour faits lors d'une soirée de contribution au libre:
Remplacer les personnes débutantes par le fait de soit déja savoir soit devoir apprendre ce savoir. Par exemple une personne débutante peux vouloir apprendre et utiliser une distribution comme Parabola juste pour ça par exemple.
Séparer les environments de bureau en une autre fiche pratique et y indiquer comment les installer pour les distributions les plus courrantes (apt install kubuntu-destktop, etc).
Faire un flowchart pour guider les gens?
Faire une page spéciale 32bit
Faire une page spéciale ARM
Faire une page spéciale Serveurs
Faire une page spéciale Autres architectures
Faire une page spéciale distro 100% libres?
Question sur comment communiquer la durée d'une LTS car les 5 ans commencent depuis la sortie de la version et pas forcément quand la personne fait l'upgrade. Exemple: 1 Personne qui met à jours une LTS vers une deuxième LTS quand la deuxième LTS est déja sortie depuis 3 ans
Cas d'utilisations conseillés (montage vidéo?) pour ne pas choisir une LTS mais une mise à jour tous les 6 mois.
La question de license de ZFS est considérée trop complexe pour un usage classique ⇒ à ne pas mentionner pour un usage individuel surtout si c'est pas activé par défaut ⇒ Vérifier le système de fichier par défaut des distributions.
Comment les distributions gèrent les dépendances optionelles?
SeLinux sans doute pas un problème pour du dévelopement simple.
Distributions pour utiliser le vieux matériel (Emmabuntus)