On peut lire par exemple sur sebsauvage.net:
Je n'ai plus à me demander si le logiciel que je suis en train de télécharger ne va pas me carroter le système: Les logiciels présents dans les dépôts Ubuntu sont vérifiés et signés cryptographiquement. L'installeur me signale tout paquet étranger. Si une saloperie s'installe, c'est que je l'aurai vraiment voulu.
Et je peux choisir en qui j'accorde ma confiance en ajoutant les clés cryptographiques des dépôts de mon choix.
Le système de rêve... Sauf si les logiciels présents dans les dépôts ne sont pas à jour. J'ai découvert mumble il y a peu de temps, dont la version 1.2 est sortie récemment. Mais dans le dépôt ubuntu il y avait seulement la version 1.1.8... je l'ai installé avec dégout car je savais que mes amis sous Windows allait en 2 clicks télécharger la dernière version.
Faisant office de serveur, celui ci était aussi à la version 1.1.8 contraignant les windowsiens d'utiliser une version compatible (inclus dans l'installeur Windows 1.2 heureusement).
Après avoir testé avec succès à 4 (3 versions windows, 1 linux) le logiciel, je regarde en détail le site de mumble pour les réglages avancés. Puis je tombe sur:
2009-12-11 - Mumble 1.2.0 has just been released with tons of new features, see http://mumble.sourceforge.net/1.2.0 for details.
Je découvre que la nouvelle version apporte une quantité considérable de nouveautés et surtout d'améliorations que l'on n'a pas pu profiter à cause du dépôt d'ubuntu non à jour.
Cependant, sur le site on propose le téléchargement du serveur compilé en static, c'est toujours mieux que rien. Il a d'ailleurs très bien fonctionné pour les utilisateurs Windows mais pas pour moi puisqu'il n'existe pas de client 1.2 Linux.
Résultat, cette belle description issu du même site de tout à l'heure:
- Il me suffit de cocher une case pour installer ou virer un logiciel. Il me le télécharge, décompacte, installe et configure automatiquement.
- Encore mieux: Il me télécharge les paquets qui sont nécessaires au fonctionnement du logiciel que j'ai choisi (plus besoin de faire la chasse aux DLL nécessaires à un programme donné.)
- Encore mieux !: Quand je déinstalle, il vire les fichiers qui ne sont plus nécessaires. Plus de tonnes de DLL à la con qui traînent dans system32.
- En deux clic je peux virer un logiciel. Résultat: Ça encourage à en essayer plus.
- Et il y a plus de 20000 paquets disponibles, concernant tous les sujets (bureautique, outils système, graphisme, vidéo, généalogie, bases de données, serveurs web, image de synthèse, illustration, comptabilité, P2P, musique, sciences, électronique...)
Fait tristement une pâle figure quand j'ai vu sur le forum du projet:
With linux this isn't so easy. You'd have to release and maintain a packet for every distro / version. (Ubuntu 9.10/8.10/8.04 RedHat....and so on). This is why you have packet maintainers for the different OSses that feed your releases into the source tree of the distro.
We don't do that for snapshots/pre release version. So you either have to self-compile or find a packet from someone who did. If you have a specific request for a distribution you might be lucky and someone in this forum can give it to you.
Ah, la voici la réalité... Sur Linux il y a trop de distributions, donc les développeurs préfèrent laisser les mainteneurs de chacune d'entre elles faire leur travail. Et comme Mumble n'est pas aussi populaire que firefox, et bien je pense que je peux attendre. Déjà qu'avec Firefox c'est "long"...
Ceci dit sebsauvage ne cache pas ce point dans les "contres":
Les dépôts avec vieilles versions des logiciels, ça me gonfle. Les dépôts mettent des plombes à être mis à jour.
Je veux la dernière version de VLC ? Pas dans les dépôts Ubuntu 7.10. Dépôts Debian ? Même pas la peine d'y penser !
Je vais donc sur le site de VLC pour télécharger la dernière version. Je clic: Et là on m'indique gentiment le dépôt Ubuntu.
Gros malin, si je viens télécharger VLC sur le site de VLC, c'est qu'il n'est évidemment pas à jour dans le dépôt, sinon il se serait mis à jour automatiquement. Mince y'a aucune version compilée disponible ! Faut vraiment être une buse.
J'en suis réduit à télécharger les sources et compiler... et installer un paquet manquant... et recompiler... et installer un autre paquet manquant... et recompiler... et installer un paquet manquant... et recompiler...et... et merde !
Pour le coup, les utilisateurs de Windows sont moins emmerdés: Ils téléchargent le fichier .exe, double-clic et terminé !
Avec Linux on rajoute ainsi une étape par rapport à Windows: la diffusion de l'application par les dépôts de la distribution. La sécurité a ainsi un coût.
Pour revenir sur mumble, le problème était également ceci:
We released version 1.2.0 of Mumble on December 10, 2009. This release uses a new protocol between the client and server, which means a 1.2.0 client is only compatible with 1.2.0 or newer servers, and a 1.1.8 client can't connect to a 1.2.0 server. The new protocol is designed to be easily extended, so we should never have this problem again. If your favorite server still runs 1.1.8 don't worry, 1.2.0 comes with a backwards compatible client.
Ils ont changé le protocole client/serveur en passant de la version 1.1.8 à 1.2.0, du coup impossible de conserver le serveur 1.2 sous peine de ne pas pouvoir me servir de mumble.
J'ai toute fois tenté de compiler la version 1.2 cliente de mumble en suivant le guide en ayant pris soin de modifier la commande et d'enlever les paquets manquants (libboost1.37-dev):
$ sudo apt-get install qt4-dev-tools libqt4-dev libspeex1 libspeex-dev libboost-dev libasound2-dev libxevie-dev libxevie1 libssl-dev g++ libspeechd-dev libzeroc-ice-dev libpulse-dev slice2cpp libcap-dev libspeexdsp-dev libprotobuf-dev protobuf-compiler libogg-dev
Les NOUVEAUX paquets suivants seront installés :
comerr-dev gccxml ice33-slice libasound2-dev libaudio-dev libavahi-client-dev libavahi-common-dev
libboost-date-time1.38-dev libboost-date-time1.38.0 libboost-dev libboost-filesystem1.38-dev
libboost-filesystem1.38.0 libboost-graph1.38-dev libboost-graph1.38.0 libboost-iostreams1.38-dev
libboost-iostreams1.38.0 libboost-math1.38-dev libboost-math1.38.0 libboost-program-options1.38-dev
libboost-python1.38-dev libboost-python1.38.0 libboost-regex1.38-dev libboost-regex1.38.0
libboost-serialization1.38-dev libboost-serialization1.38.0 libboost-signals1.38-dev libboost-signals1.38.0
libboost-system1.38-dev libboost-system1.38.0 libboost-test1.38-dev libboost-test1.38.0 libboost-thread1.38-dev
libboost-thread1.38.0 libboost-wave1.38-dev libboost-wave1.38.0 libboost1.38-dev libboost1.38-doc libcap-dev
libdb4.6++ libdbus-1-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libfreeze33 libgl1-mesa-dev
libglacier2-33 libglib2.0-dev libglu1-mesa-dev libglu1-xorg-dev libgssrpc4 libicebox33 libicegrid33
libicepatch2-33 libicessl33 libicestorm33 libicexml33 libicu-dev libkadm5srv6 libkdb5-4 libkrb5-dev liblcms1-dev
libmng-dev libogg-dev libpq-dev libprotobuf-dev libprotobuf3 libpulse-browse0 libpulse-dev libpulse-mainloop-glib0
libqt4-dev libqt4-opengl-dev libspeechd-dev libspeex-dev libspeexdsp-dev libsqlite0 libsqlite0-dev libssl-dev
libxcursor-dev libxevie-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxmu-dev
libxmu-headers libxrandr-dev libxrender-dev libzeroc-ice33-dbg libzeroc-ice33-dev mesa-common-dev
protobuf-compiler python-dev python2.6-dev qt4-designer qt4-dev-tools qt4-doc qt4-qmake x11proto-evie-dev
x11proto-fixes-dev x11proto-randr-dev x11proto-render-dev x11proto-xext-dev x11proto-xinerama-dev xlibmesa-gl-dev
Il est nécessaire de prendre 172Mo dans les archives.
Après cette opération, 577Mo d'espace disque supplémentaires seront utilisés
577 Mo à installer pour compiler l'application... J'ai donc laissé tomber par manque d'espace disque.
Pour résumer: le système de dépôts possède des avantages, mais aussi beaucoup d'inconvénients. Tout d'abord pour les utilisateurs qui ne sont pas à jour, mais aussi pour les développeurs qui doivent contacter les mainteneurs de chaque distribution (quoi que) pour satisfaire ceux qui ne souhaitent pas compiler, ou bien proposer eux-même les versions pour chaque distribution.
Au final, l'utilisateur "avancé" devra tôt ou tard tard installer des logiciels en dehors du système de dépôts dont la complexité d'installation dépendra de l'investissement des développeurs dans la diffusion de leur application. Par exemple, TrueCrypt ou yEd s'installent facilement.