Archive for février, 2011

Éthique des Logiciels Libres

mardi, février 15th, 2011

Entre les représentants de Wikimédia France qui, au regard de leurs déclarations, semblent confondre licence Creative Commons BY-SA et licence Creative Commons BY (heureusement que l’avis de cette association n’engage pas celui de Wikimedia Foundation), un co-développeur de txt2tags qui voulait rediffuser sous licence BSD ce logiciel publié sous licence GNU GPL, ou encore Maître Eolas qui s’aventure sur des terrains juridiques qui lui sont inconnus, pour au final un médiocre non-raisonnement qui relève uniquement de la « foi » : il ne croit pas que les licences virales existent… Je ne peux que constater que les principes fondamentaux des logiciels libres, et en particulier le Copyleft, sont mal compris, y compris par des personnes qui prétendent les défendre.

Pour remédier à cela, voici l’Éthique des Logiciels Libres, une brochure dans laquelle j’ai réuni les traductions françaises des textes fondateurs des concepts du logiciel libre, écrits par Richard M. Stallman et Eben Moglen. J’espère en effet qu’une meilleure diffusion de ces textes permettra de combattre les incompréhensions actuelles.

De plus, je voudrais le dire clairement ici, oui les logiciels libres ont une motivation politique de transformation -et même de révolution- sociale. Si vous avez peur de passer pour un anarchiste, lisez L’anarchisme triomphant : le logiciel libre et la mort du copyright, si vous avez peur de passer pour un communiste, lisez  Le Manifeste du Point-Communiste, et vous verrez qu’Eben Moglen, lui, n’a pas peur (et pourtant il est américain, et pourtant il est avocat…). Si le simple fait d’être de gauche vous gêne, sachez que Jimmy Wales, le fondateur de Wikipédia, est un libertarien notoire, c’est-à-dire qu’il serait politiquement classifié en France comme d’extrême-droite.

Grâce à la différenciation sémantique que Jean-Fabien Spitz, spécialiste de Locke et du libéralisme politique, utilise pour expliquer les revirements de la jurisprudence sur la Liberté de la Cour suprême des États-Unis, on peut dire que les licences permissives honorent la Liberté, quand les licences à Copyleft la promeuvent. À titre personnel, tenant du volontarisme en politique, il y a bien longtemps que j’ai choisi de promouvoir la Liberté.

Unity, le point technique

mardi, février 1st, 2011

Après mon long article sur le support de Qt dans Ubuntu, je veux faire un court récapitulatif technique des différents Desktop Shell développés par Canonical. En effet, il y en a cinq au total, tous utilisant des technologies différentes, et il est donc relativement facile de s’emmêler les pinceaux et de ne plus savoir de quoi l’on parle.

Tableau récapitulatif des technologies utilisées :
Desktop ShellGraphismeGestionnaire de fenêtresLib. graphiquesLangagesDév. actifLicence
Netbook Remix Launcher3DMutterClutter + CluTKCNonGNU GPLv3
Netbook Launcher EFL2DMetacityEFL + GTKCNonGNU GPLv3
Unity v1 (branche 0.2)3DMutter
Clutter + CluTKC et ValaNon
GNU GPLv3
Unity v2 (branche 3.0)3DCompizNuxC++ et ValaOuiGNU GPLv3
Unity 2D2DMetacityQtC++ et QMLOuiGNU GPLv3

Le choix de la licence GNU GPLv3 est excellent et garantit que personne ne pourra rendre ces projets propriétaires, à l’exception notable de Canonical lui-même, puisque la signature d’une cession de droits d’auteur est nécessaire pour pouvoir y contribuer.

On ne peut que constater que Canonical n’a pas ménagé ses efforts en terme de recherche et développement. L’ensemble des technologies graphiques libres ont été évaluées et testées en pratique, et mises au service d’une volonté d’innovation ergonomique. Les choix faits par Canonical me semblent dès lors d’autant plus légitimes, car ce ne sont pas des actes gratuits faits juste pour troller, mais des conclusions objectives de mois de programmation et d’expérimentation.

Switch du C vers le C++

En fait, le plus remarquable est l’abandon du C en faveur du C++. On peut considérer que le choix technique du C, un langage de programmation non objet, pour faire des interfaces graphiques, par nature orientées objet, était le péché originel du bureau GNOME. Les bibliothèques passent du C (GTK, Clutter, CluTK et EFL) au C++ (Qt et Nux), tout comme le gestionnaire de fenêtres 3D qui passe de Mutter, écrit en C, à Compiz, qui vient d’être totalement réécrit en C++.

Enfin, d’autres technologies plus modernes font leur apparition, comme Vala, qui est le seul choix technique de Unity v1 conservé dans Unity v2, et QML, le nouveau langage déclaratif de description d’interfaces graphiques pour Qt. À titre personnel, l’idée d’utiliser QML m’est beaucoup plus sympathique que de programmer de l’OpenGL bas niveau avec Nux, et je suis donc vraiment séduit par Unity 2D.