Posts Tagged ‘Libre’

La carte et le territoire : le Goncourt 2010 sous licence Creative Commons !

Monday, November 8th, 2010

Pour une première c’est une première ! Le Prix Goncourt 2010, le plus prestigieux des prix littéraires francophones, a été décerné aujourd’hui à Michel Houellebecq pour La carte et le territoire. Or, depuis mon analyse du statut juridique de l’œuvre, nous savons qu’elle est sous une licence libre, en l’espèce sous licence Creative Commons BY-SA (Paternité-Partage des conditions initiales à l’identique).

Le Prix Goncourt 2010 est donc le premier grand prix littéraire à être décerné à une œuvre littéraire libre. Ou encore, La carte et le territoire est la première œuvre libre a recevoir un grand prix littéraire, a fortiori le Prix Goncourt.

Mise à jour du 1er décembre 2010 : Sans reconnaître aucun délit et en maintenant totalement la pertinence de mon analyse juridique, j’ai cependant accédé à la demande de Flammarion de retirer du site les liens permettant de télécharger l’œuvre. De plus j’ai fermé les commentaires, le débat publiquement lancé ici pouvant maintenant continuer ailleurs, où cela me demandera moins de travail de modération.

Txt2tags 2.6 est arrivé !

Friday, November 5th, 2010

Le voilà enfin, après plus de deux ans d’attente, txt2tags 2.6 est arrivé !

Txt2tags est un langage de markup, c’est-à-dire qu’il utilise une syntaxe non-obstrusive pour signifier les propriétés des éléments de texte, une syntaxe wiki en plus puissante. Mais à la différence des wiki qui ne génèrent que du HTML, txt2tags permet, à partir du même fichier source, de générer pas moins de 18 formats différents (appelés target) : HTML, XHTML, SGML, DocBook (NEW), LaTeX, Lout, Man page, Creole (NEW), Wikipedia / MediaWiki, Google Code Wiki, PmWiki (NEW), DokuWiki, MoinMoin, MagicPoint, PageMaker, AsciiDoc (NEW), ASCII Art (NEW) et Plain text.

J’ai commencé à m’investir dans txt2tags car je suis convaincu que le modèle de bureautique WYSIWYG actuel, promu par des usines à gaz mastodontiques, fussent-elles libres comme LibreOffice, est une véritable impasse. Par chance, les principaux logiciels intéressants dans ce domaine (txt2tags, docutils/ReST et AsciiDoc), sont écrits en Python, mon langage de programmation de prédilection.

Si j’ai choisi txt2tags c’est parce que c’était le code le plus simple à modifier pour faire les expérimentations qui m’intéressaient. Et puis Aurélio Jargas, le principal développeur, a ouvert son développement anciennement très solitaire/centralisé grâce au site Google Code. Il m’a donné les droits de commit SVN à la seconde où je l’ai contacté. Ce très bon feeling humain s’est poursuivi et a permis une collaboration technique, puisque si j’ai eu pas mal d’idées et que je les ai implémentées fonctionnelles et non buggées, Aurélio a fait un sacré travail derrière pour que l’intégration de mes modifications fassent moins “hack”.

Mon traditionnel et important point de juriste :-) : txt2tags est sous licence GNU GPLv2, qui est soumise à un Copyleft fort, ce qui garantit la liberté éternelle de mon travail. Bien qu’un relativement petit projet en terme de nombre de lignes de code, la communauté autour de txt2tags est grande et mondiale, et il est donc localisé dans plus d’une dizaine de langues (chaînes de caractères dans le code ET documentation) !

Beaucoup de nouvelles fonctionnalités dans cette version 2.6, dont ma nouvelle target ASCII Art sur laquelle je reviendrai plus en détail, mon set markItUp! pour une utilisation aisée sur le web, la possibilité d’inclure des tableaux de fichiers CSV externes, et un nom de domaine txt2tags.org, pour donner plus de visibilité au site web.

Je suis très heureux et très fier de pouvoir faire cette annonce, car cela fait pas loin de deux ans que je me suis engagé dans ce projet, et que cette release permet de rendre accessible au grand public ma première contribution significative aux logiciels libres !

Bug Flattr et WordPress

Wednesday, October 20th, 2010

Problème

Flattr était en carafe cette nuit… et donc mon blog WordPress ne marchait plus !

Une fois trouvée l’origine du problème, il était temps d’y remédier : j’allais donc logiquement désactiver le plugin Flattr de mon blog. Oui mais voilà, pour le désactiver encore fallait-il que j’ai accès à… mon blog ! puisque l’administration se fait par une interface web intégrée.

Ne pouvant donc appliquer cette méthode, je me connectais à mon serveur par SSH, à la recherche de l’option du fichier de configuration me permettant de désactiver un plugin. Option introuvable puisque n’existant pas, l’état d’activité d’un plugin étant en fait stocké dans la base de données MySQL du blog.

Solution

Il existe donc deux manières de s’en sortir :

  1. Le hack rapide et efficace : supprimer le répertoire “flattr” du répertoire “wp-content/plugins” (ou plutôt le copier ailleurs).
  2. La méthode canonique : faire les requêtes adéquates dans la base de données du blog, ce qui est beaucoup plus compliqué, mais aussi beaucoup plus propre.

Bilan d’ingénierie logicielle

Le plugin de Flattr pour WordPress est merdique, car il n’est pas capable de vérifier ce qu’il faut pour ne pas bloquer un blog en cas de problème sur les serveurs de Flattr. Ceci n’est pas si grave, dans le sens où ce n’est qu’un plugin, et où les modifications nécessaires sont sûrement faciles à faire.

WordPress est mal conçu, car il ne permet pas de configurer simplement une chose aussi fondamentale que l’activation ou la désactivation d’un plugin. C’est beaucoup plus grave car WordPress est actuellement une plateforme structurante du web et l’un des plus importants logiciels libres.

La première chose à faire est d’arrêter de stocker tout et n’importe quoi dans des bases de données. Les base de données sont là pour stocker les contenus, et les fichiers de configurations en texte pur, quel qu’en soit le format, sont le seul endroit légitime où stocker les données de configuration.

C’est le concept même d’Unix, le texte comme garant de simplicité et d’interopérabilité. La mode récente d’utiliser SQLite pour la configuration d’applications est donc bien une hérésie. Pour WordPress cela signifie qu’il faudrait se réarchitecturer proprement sur ce point, ce qui est techniquement facile, mais pose des problèmes de compatibilité énormes.

Une autre solution intéressante pourrait être d’avoir une interface de configuration de secours très minimaliste, moins intégrée dans le reste du blog, mais beaucoup plus résistante à toutes sortes de bugs collatéraux !

Boot sur clé USB

Tuesday, October 12th, 2010

Comme la majorité des utilisateurs de distributions GNU/Linux, j’utilise aujourd’hui la possibilité d’installer mon système directement d’une clé USB bootable. Cela est très avantageux par rapport à l’ancienne méthode standard, qui consiste à graver un CD, puisque cela dispense d’avoir un graveur, de payer des CDs, et surtout depuis trois ans et la déferlante des Netbooks, beaucoup de machines n’ont tout simplement plus de lecteur optique.

Tips Ubuntu 10.10

Or, pour l’iso de la dernière version d’Ubuntu, Maverick Meerkat, quand vous créez la clé USB bootable avec usb-creator, vous obtenez par la suite le magnifique message :

SYSLINUX 3.63 Debian-2008-07-15 EBIOS Copyright (C) 1994-2008 H. Peter Anvin
Unknown keyword in configuration file.
boot:

En fait, le problème est que les anciennes versions d’usb-creator ne sont pas compatibles avec la nouvelle iso Ubuntu. Il existe trois manières de régler le problème :

  1. Faire une upgrade de votre Ubuntu à Maverick Meerkat.
  2. Installer le .deb de la dernière version d’usb-creator.
  3. Plus simplement, éditer le fichier “syslinux/syslinux.cfg” de votre clé USB, et à la dernière ligne, remplacer “ui gfxboot bootlogo” par “gfxboot bootlogo”.

Tout cela m’amène à faire un point global de la situation de ce type d’installation pour les différentes distributions GNU/Linux que j’utilise.

Ancienne méthode

En plus des traditionnelles images en “.iso” pour graver un CD, Arch Linux jusqu’à son installeur 2009.08, et Ubuntu jusqu’à la version 9.04 de son édition pour netbook, ont fourni des images en “.img”. Avec la simple commande :

sudo dd if=image.img of=/dev/sdX

on obtenait immédiatement une clé USB bootable. Cette méthode rapide et efficace présentait deux petits inconveignants :

  1. Elle nécessite de fournir deux fois plus d’images différentes de la distribution, les “.img” en plus des “.iso”, ce qui vu le nombre d’images déjà important d’une distribution GNU/Linux (différentes architectures, différents modes d’installation, etc.), peut finir par amener une certaine confusion.
  2. Elle formate toute la clé USB, empêchant de continuer à l’utiliser aussi comme périphérique de stockage.

Nouvelles méthodes

C’est pour cela que de nouvelles méthodes ont été développées. Arch Linux propose depuis son installeur 2010.05 des images “.iso” hybrides, générées grâce au programme isohybrid. Ces dernières sont utilisables directement aussi bien pour graver un CD que pour créer une clé USB bootable. Cela règle parfaitement le premier problème, mais pas le second.

C’est pour cela que depuis sa version 8.10, Ubuntu fournit le programme usb-creator évoqué ci-avant, qui copie les fichiers nécessaires de l’iso Ubuntu sur la clé et la rend bootable, mais sans la formater et en préservant la possibilité de l’utiliser comme périphérique de stockage.

Et chez Debian ?

La situation chez Debian était jusqu’à présent très problématique, puisque l’installation d’une clé USB était beaucoup plus complexe que les autres installations, et de plus très mal documentée. C’est le 9 septembre 2010 que Tanguy Ortolo lève ce lièvre dans son mail Complicated installation from USB, et comme souvent chez Debian en ce moment c’est Joey Hess qui s’y est collé, et qui dès le 13 septembre annonce avoir réussi à faire fonctionner le debian installer avec isohybrid.

Le 1er octobre, Joey Hess publie sur son blog Debian USB install from hybrid iso, informant que toutes les netboot mini.iso des daily builds sont maintenant des iso hybrides. Cependant, les autres images Debian ne sont pas encore des iso hybrides à cause d’un problème avec jigdo. Or jigdo, pour Jigsaw Download, a été développé pour et par Debian, pour répondre au problème de la surcharge de la bande passante des serveurs lors des downloads des isos. Problème qui a été brillamment résolu depuis par BitTorrent. Il serait donc grand temps de dire “merci et au revoir” à jigdo, dont le développement a été arrêté et qui est en “maintenance mode”, et de générer au plus vite toutes les isos avec isohybrid.

Sintel mon amour

Monday, October 4th, 2010

Depuis le 30 septembre, Sintel, le dernier court métrage d’animation en 3D de la Fondation Blender, peut être librement vu en ligne ou téléchargé en différents formats et résolutions. De plus, vous ne risquez rien de la Hadopi, puisque Sintel est sous licence Creative Commons BY.

Sintel est le troisième court métrage de la Fondation Blender, après Elephants Dream en 2006 et Big Buck Bunny en 2008. Et disons le tout net, c’est de loin mon préféré ! Une héroïne aussi forte qu’Ellen Ripley, déambulant dans un monde proche de celui de Conan le Barbare à la recherche d’un dragon ressemblant à s’y méprendre à Nemrod, la recette de base est alléchante.

Quand en plus la réalisation fait des étincelles, le résultat est formidable. D’autant qu’en très peu de temps, on a le droit à une vraie belle histoire, avec une vraie surprise et un vrai questionnement philosophique. Moins de 13 minutes qui passent vraiment beaucoup trop vite. Si vite qu’on se dépêche de revoir le film, et qu’à chaque fois on l’apprécie encore plus, ayant le temps de profiter de la beauté des détails qui nous avaient échappé.

Ce grand résultat artistique graphique et d’animation a été authentiquement obtenu grâce à un pipeline de production complet composé exclusivement de logiciels libres (la bande-sonore a elle été sous-traitée et ne rentre pas dans ce cadre). Si vous êtes artiste, vous pouvez télécharger et utiliser ces logiciels gratuitement. Si vous êtes développeur, vous pouvez en plus les améliorer selon vos besoins, ou ceux d’autres utilisateurs.

LogicielLangageLicence
BlenderC, C++ et PythonGPL
GIMPCGPL (application)
LGPL (librairies)
InkscapeC++GPL (application)
LGPL (librairies)
MyPaintPython (application)
Python et C++ (librairies)
GPL (application et librairies)
LGPL (brushlib)
AlchemyJavaGPL

J’aimerais ici lancer un appel particulier en direction des écoles de graphisme/animation/3D, qui au lieu d’obliger leurs élèves à utiliser des logiciels propriétaires piratés, pourraient commencer à regarder enfin du côté des logiciels libres. Il est un fait qu’après plusieurs années, et des milliers d’heures d’utilisation d’un logiciel, il est très difficile d’en changer par la suite, et il serait donc beaucoup plus intelligent de faire les bons choix dès le début.

De plus, pour ce qui est d’apprendre, Sintel fait encore plus fort, car ce n’est pas seulement le film en tant que produit final qui est sous licence Creative Commons BY, c’est aussi le cas de l’ensemble des fichiers .blend, des modèles 3D et des textures créés pour l’occasion ! Ainsi vous pouvez modifier et redistribuer, y compris commercialement, toutes ces données qui sont fournies sur le DVD. La seule condition est de respecter la clause de Paternité, puisque cette licence N‘utilise PAS le Copyleft :

En l’espèce, la manière indiquée par l’auteur original est la suivante :

The attribution is:

a) If you redistribute or screen or broadcast the movie itself: include the entire credits scroll.

b) In all other cases, attribute it as:

(c) copyright Blender Foundation | durian.blender.org

En français cela veut dire que si l’on diffuse le film, il faut aller jusqu’au bout du générique de fin, qui donne crédit à l’ensemble des personnes ayant participé au projet, ainsi qu’aux sponsors et aux logiciels utilisés. Dans les autres cas, par exemple la publication d’une simple image du film, ou l’utilisation d’une texture ou d’un modèle dans un travail artistique dérivé, la mention “(c) copyright Blender Foundation | durian.blender.org” est suffisante.

J’espère avoir donné l’envie de voir Sintel à ceux qui ne l’avaient pas encore vu, et je suis convaincu que ce film donnera envie à beaucoup d’artistes d’utiliser des logiciels libres, et de mettre leurs travaux sous licences Creative Commons !

 

 

Houellebecq sous licence Creative Commons !

Tuesday, September 21st, 2010

LES FAITS

La carte et le territoire est le dernier roman de Michel Houellebecq et l’un des plus attendus de la rentrée littéraire 2010. Or le 2 septembre 2010, avant même sa parution le 3, le journaliste Vincent Glad révélait que l’œuvre était entachée d’un plagiat de Wikipédia (en l’espèce des articles sur Frédéric Nihous, la mouche domestique et Beauvais).

Dès le 6 septembre, Michel Houellebecq répliquait dans une vidéo de Joseph Vebret. Ce qui est fondamentalement important dans cette réplique, c’est que loin de nier les faits, elle les confirme, les justifiant par un argumentaire littéraire se basant en particulier sur d’illustres prédécesseurs comme Perec et Borges.

DISCUSSION

Une qualification juridique : l’œuvre composite

La qualification juridique d’œuvre composite est décrite dans l’article L. 113-2 alinéa 2 du Code de la propriété intellectuelle (CPI) :

Est dite composite l’oeuvre nouvelle à laquelle est incorporée une oeuvre préexistante sans la collaboration de l’auteur de cette dernière.

La carte et le territoire est de manière incontestable une œuvre nouvelle de Michel Houellebecq, œuvre à laquelle il a incorporé, sans collaboration de leurs auteurs, des contributions préexistantes de l’encyclopédie Wikipédia. La propriété d’une telle œuvre est définie par l’article L. 113-4 du CPI :

L’oeuvre composite est la propriété de l’auteur qui l’a réalisée, sous réserve des droits de l’auteur de l’oeuvre préexistante.

Michel Houellebecq est donc pleinement titulaire des droits de La carte et le territoire, sous réserve de respecter les droits des auteurs des passages empruntés à Wikipédia.

L’exception de courte citation ne s’applique pas

Il existe une exception de courte citation dans l’article L. 122-5 3° a) du CPI qui énonce :

Lorsque l’oeuvre a été divulguée, l’auteur ne peut interdire :

[...]

3° Sous réserve que soient indiqués clairement le nom de l’auteur et la source :

a) Les analyses et courtes citations justifiées par le caractère critique, polémique, pédagogique, scientifique ou d’information de l’oeuvre à laquelle elles sont incorporées ;

Cette exception de courte citation ne peut donc s’appliquer pour deux raisons de droit, dont chacune est suffisante :

  1. À titre principal, Houellebecq ne fait pas de citations (mais produit un travail dérivé).
  2. À titre subsidiaire, les réserves nécessaires à l’exception du droit, en l’espèce : “que soient indiqués clairement le nom de l’auteur et la source”, ne sont pas respectées.

Caractérisation du délit : la contrefaçon

L’utilisation des passages de Wikipédia sans les mentionner est couramment nommée plagiat. Cependant, le plagiat est un délit qui n’existe pas en tant que tel en droit français. Les agissements de Michel Houllebecq sont juridiquement qualifiés de délit de contrefaçon, tel que décrit dans l’article L. 335-2 alinéa 1 du CPI :

Toute édition d’écrits, de composition musicale, de dessin, de peinture ou de toute autre production, imprimée ou gravée en entier ou en partie, au mépris des lois et règlements relatifs à la propriété des auteurs, est une contrefaçon et toute contrefaçon est un délit.

Ce délit est lourdement sanctionné d’un point de vue pénal à l’alinéa 2 :

La contrefaçon en France d’ouvrages publiés en France ou à l’étranger est punie de trois ans d’emprisonnement et de 300 000 euros d’amende.

En l’espèce, la contrat de licence auquel est soumis l’ensemble de l’encyclopédie Wikipédia est la licence Creative Commons BY-SA, de la fondation Creative Commons initiée par Lawrence Lessig. C’est l’ensembles des contraintes de cette licence que Michel Houellebecq doit respecter pour ne pas commettre de délit de contrefaçon.

Les contraintes de la licence Creative Commons BY-SA

Les contraintes de la licence Creative Commons BY-SA sont au nombre de deux :


Aucune de ces deux conditions n’est respectée par Michel Houellebecq, puisque les auteurs des contributions originales ne sont pas cités, et que la distribution de La carte et le territoire sous licence Creative Commons BY-SA n’est mentionnée nulle part.

Cette obligation de redistribution sous une licence identique est due à la contrainte SA Share Alike (partage des conditions initiales à l’identique), qui est une application du principe juridique de Copyleft inventé par Richard M. Stallman, le fondateur de la Free Software Foundation, pour licencier ses logiciels libres.

Validité du Copyleft devant les tribunaux

Le Copyleft est un concept de droit d’une très grande puissance. Il est parfois déroutant car son approche du respect du droit d’auteur est très différente de ce dont on avait l’habitude jusqu’à maintenant. Cependant, il s’applique et les tribunaux de par le monde l’ont reconnu de manière incontestable dans des contentieux portant sur le respect de la licence GNU GPL.

C’est d’abord en Allemagne que la reconnaissance du Copyleft a commencé, à l’initiative Harald Welte, avec le jugement du 19 mai 2004 du Tribunal de Munich contre Sitecom Deutschland, puis le 22 septembre 2006 devant le Tribunal de Francfort contre D-Link Deutschland GmbH, et enfin le 8 mai 2008 encore à Munich contre Skype.

Ce mouvement juridique s’est ensuite poursuivi aux États-Unis avec le travail du Software Freedom Law Center d’Eben Moglen devant le Tribunal de New York, où de très nombreuses entreprises ont préféré transiger plutôt que de se confronter au juge (Monsoon Multimedia le 30 octobre 2007, Xterasys le 17 décembre 2007, High-Gain Antennas le 6 mars 2008 et Verizon Communications le 17 mars 2008).

La légitimité des tiers bénéficiaires

En France, l’arrêt du 16 septembre 2009 de la Cour d’Appel de Paris, dans le cadre d’un litige opposant la société Edu 4 à l’Association nationale pour la Formation Professionnelle des Adultes (AFPA), revêt une importance toute particulière. En effet, ce jugement reconnait non seulement la validité du Copyleft de la licence GNU GPL, mais aussi la légitimité de tout utilisateur à faire respecter ses droits de « tiers bénéficiaire », et ce sans que l’auteur originel ne soit partie à la procédure.

Toute personne est donc légitime pour faire respecter la licence Creative Commons BY-SA des emprunts faits par Houellebecq à Wikipédia. Il n’est absolument pas nécessaire qu’un des auteurs des passages de Wikipédia utilisés se manifeste. Pour faire respecter ses droits de « tiers bénéficiaire », chacun peut donc entreprendre une démarche de mise en conformité.

De la mise en conformité

Quand un problème de contrefaçon est constaté sur un logiciel libre qui utilise une licence à Copyleft, toute personne peut essayer d’effectuer une démarche de mise en conformité. La principale difficulté est alors d’obtenir le code source modifié du logiciel. Dans le cas qui nous intéresse, nous ne sommes pas confrontés à un logiciel, mais à une production littéraire classique, il n’y a donc pas de code source et de binaire, mais uniquement un simple texte.

La mise en conformité est donc en l’espèce trivialement simple, puisqu’il suffit d’indiquer les auteurs des emprunts faits à Wikipédia, et de diffuser l’œuvre dérivée sous licence Creative Commons BY-SA. Cette double réalisation permet alors d’être immédiatement en conformité avec les termes de cette licence, et le délit de contrefaçon n’est plus caractérisé.

CONCLUSION

On ne peut donc en l’espèce que constater l’utilisation d’extraits d’articles de Wikipédia dans l’œuvre La carte et le territoire de Michel Houellebecq, ce dernier reconnaissant lui-même les faits. De plus, constatant que cette utilisation s’opère dans le cadre d’une œuvre dérivée, et excluant donc l’exception de courte citation, on ne peut que conclure à une caractérisation du délit de contrefaçon. Une mise en conformité est donc réalisée en fournissant une version de La carte et le territoire, sous licence Creative Commons BY-SA, mentionnant les auteurs des emprunts à Wikipédia.

Je ne sais pas si Michel Houellebecq marquera la littérature par son talent, mais je suis au moins sûr qu’il la marquera pour avoir été le premier auteur important à produire une de ses œuvres sous une licence libre. Il ne prétendait qu’à faire une expérimentation littéraire de collages, il est allé beaucoup plus loin, en faisant une formidable expérimentation juridique du Copyleft. Bravo Michel, et merci !

Ce que Debian doit apprendre d’Arch Linux

Monday, September 13th, 2010

Il est une choses assez connue qu’en sciences, les grandes découvertes sont “dans l’air du temps”, qu’elles ont souvent lieu simultanément dans plusieurs endroits à la fois, et que si ce n’était pas l’Un qui avait fait telle découverte, c’est probablement l’Autre qui l’aurait faite.

Il me semble que nous sommes aujourd’hui sur le point d’arriver à ce stade de conscience collective sur un sujet majeur de l’ingénierie logicielles qui est la manière de releaser correctement une distribution GNU/Linux. C’est pour moi la décision la plus importante à prendre pour toute distribution GNU/Linux qui vise l’utilisateur final, un virage technologique fondamental pour la réussite des logiciels libres.

Je me dois donc d’enfoncer le clou après l’article de Carl, et donc d’exhumer l’un des miens qui attend depuis quatre mois d’être publié. La forme est un peu bizarre, je m’étais un peu laissé aller un soir très tard, mais bon, un peu de littérature ne fera pas de mal, pour ceux qui ne connaitraient pas l‘Enfer de Dante.

Posons d’abord les bases : oui je pense que Debian est LE système GNU/Linux universel et donc LE système d’exploitation universel. Si ce n’est pas forcément la distribution que l’on utilise, c’est au moins la distribution qui est la base des différentes distributions que l’on peut utiliser selon ses besoins.

C’est notamment une distribution qui :

  • supporte 12 architectures matérielles (soit presque toutes celles existantes)
  • fournit plus de 30 CD de packages binaires (25 000 paquets, soit presque la totalité des logiciels libres disponibles)
  • est basée sur une communauté de plus de 1000 développeurs, organisée autour d’un contrat social (et non l’oeuvre une entreprise commerciale dont l’appât du gain est la seule motivation)

Mais Debian a des défauts, et ma curiosité m’a toujours poussé à tester d’autres distributions Linux. Après la bêtise du siècle de Kurt j’ai même considéré comme vital de trouver une alternative.

Je me suis intéressé à Arch Linux à la suite de diverse tribulations m’ayant amené à tester longuement la Slackware qui m’avait plu en particulier pour son système d’init “à la BSD”. Mais aux packages déjà pas à jour et sans gestion des dépendances, est venue s’ajouter la maladie de Patrick Volkerding prouvant qu’une communauté est plus puissante qu’un seul homme quel que soit son génie…

J’étais donc passé à la Minislack, une Slackware minimaliste avec des paquets à jour. Mais, renommée Zenwalk, elle s’est centrée sur Xfce alors que je veux une distribution qui me laisse choisir mon environnement de bureau à ma guise.

Et je suis donc enfin arrivé à Arch Linux ! Là j’ai trouvé une distribution organisée autour du principe KISS :

  • système d’init “à la BSD” (et oui c’est vraiment plus simple, l’init System V style c’est juste HORRIBLE)
  • fichiers de configurations remplis de commentaires permettant de tout configurer très simplement
  • gestion des dépendances des paquets
  • paquets à jour
  • ROLLING RELEASE !!!

Je continuais à descendre lentement avec Dante, au fin fond du 9ème et dernier cercle de l’Enfer Informatique. Il faisait maintenant très froid, nous étions tout au bord du Cocyte. Au loin je voyais l’ignoble Bill Gates, traître à l’ensemble des utilisateurs de ses logiciels ; d’une taille imposante, il était bloqué dans les glaces et subissait les assauts de milliers de développeurs libres. On pouvait facilement les différentier grâce à leur T-shirts, marqués au logo de leur distribution respective. Ils étaient présents là eux aussi pour traîtrise envers leurs utilisateurs, pour avoir à maintes et maintes reprises explosé les installations de ces pauvres hères lors d’upgrades de leur distribution.

Moi : Maître, je vous ai suivi jusqu’au bout du chemin, au plus profond des Enfers, vous aviez promis que si nous y arrivions, vous répondriez à ma question : mais qu’est-ce que l’OS universel pourrait-il donc bien apprendre d’Arch Linux ?

Dante : La Rolling Release.

On peut dire qu’aujourd’hui Arch Linux est la plus populaire, la plus utilisée et la plus fonctionnelle des distributions GNU/Linux en rolling release. Si Debian doit aller vers la Rolling Release (et elle le doit !), alors c’est probablement du côté d’Arch Linux qu’il faudra regarder, pour s’inspirer des process qui font qu’une distribution fonctionne si bien sur ce modèle.

Quand je pense que lors d’une de nos discussions, il y a seulement quelques mois, Carl, qui est un très gros mainteneur de paquets Debian, semblait ne pas comprendre le concept même de Rolling Release, et qu’aujourd’hui il me double pour écrire un article sur le sujet, alors oui je me dis que le temps est bien venu !

Perl 6, 10 ans déjà…

Monday, August 2nd, 2010

Le 1er août 2000, 361 RFCs (Requests For Change), fruits d’un gros travail communautaire, étaient soumises à Larry Wall pour qu’il en synthétise la “substantifique mœlle”, qu’il nomma les Apocalypses.

Hier nous étions le 1er août 2010. Une décennie entière s’est écoulée, et faire un point (un bilan ?) semble plus que nécessaire. En dehors de son horrible logo nommé Camelia, que reste-t-il de Perl 6 ?

Alors que l’ancien interpréteur Perl était aussi la définition du langage, ce dernier n’ayant pas de spécifications différenciées de son implémentation, Perl 6 est lui un ensemble de spécifications, appelées Synopsys.

Tout compilateur, interpréteur ou machine virtuelle respectant ces spécifications, est Perl 6. Ainsi Pugs, écrit en Haskell, apparaît en 2005 comme une première implémentation complète de Perl 6.

Pugs profite de toute la puissance de ce superbe langage fonctionnel qu’est Haskell, qui a permis d’obtenir cette implémentation de Perl 6 utilisable pour des démonstrations, mais pâtit de sa contrepartie, une lenteur (difficile pour un compilateur d’optimiser quand tout est lazy-évalué) non compatible avec une utilisation réelle.

Il existe en fait une implémentation “officielle” de Perl 6. Elle se nomme Rakudo, et vient de sortir, il y a trois jours, sa première version pour les early adopters de Perl 6, Rakudo Star.

On comprend bien la volonté, pour les dix ans du projet, de montrer qu’il se passe quelque chose et que le projet n’est pas mort. Ce qui me gène dans l’annonce, ce n’est pas qu’il y ait encore des bugs, ou que ce soit plus lent que ça ne devrait, mais bien que there are some advanced pieces of the Perl 6 language specification that aren’t implemented yet. On est en fait encore très loin du compte, comme le montre le graphique suivant, sur l’évolution du nombre de tests réussis par Rakudo.

Le problème est en fait encore plus grave que cela, puisque les spécifications qui ne sont pas implémentées sont justement celles qui posent un problème d’implémentation. Il semblerait que la volonté de faire de Perl 6 “le langage parfait”, ait amené à une complexité très importante de sa syntaxe et de sa sémantique, et que sa réalisation pose de réelles difficultés.

Guido van Rossum a lui toujours fait attention à limiter Python à une grammaire qui lui permette d’avoir un parseur LL(1), et ce choix plus défensif ne semble finalement pas préjudiciable en pratique.

Pendant ce temps là les autres langages de programmation, et l’informatique toute entière, ont beaucoup progressé. Les améliorations fantasmées il y a dix ans sont-elles depuis longtemps dépassées par la concurrence ou au contraire justifient-elles toujours Perl 6 ?

De la même manière qu’une grande réflexion a eu lieu pour définir ce que pourrait être la syntaxe et la sémantique de Perl 6, une énorme réflexion s’est portée sur l’environnement d’exécution des programmes, et les choix d’implémentation.

Ainsi, la manière historique d’être multiplateforme, celle de Perl 5, était d’être écrit en C. Partout où un compilateur C fonctionnait, on pouvait compiler Perl et l’utiliser. La manière moderne de résoudre ce problème est de compiler du bytecode pour une machine virtuelle, et c’est à cette dernière qu’est déléguée la problématique réelle du support des différentes plateformes, c’est-à-dire en pratique être écrite en C ;-) .

La majorité des langages modernes ont fait ce choix, ayant chacun une machine virtuelle écrite pour lui, ainsi Java fonctionne sur la JVM de Sun et C# sur la CLI de Microsoft. Mais écrire une machine virtuelle complète et multiplateforme est un énorme travail, c’est pourquoi des langages comme Groovy ou Scala ont simplement choisi d’utiliser directement la JVM.

Perl 6 aurait donc pu utiliser la JVM, mais Java étant un langage statique, la JVM qui a été conçue pour lui ne semble pas être le meilleur choix pour un langage dynamique. On constatera cependant que Jython et JRuby sont deux réimplémentations parfaitement fonctionnelles de Python et Ruby, deux langages de programmation tout aussi dynamiques que Perl 6.

C’est ainsi que la décision a été prise d’écrire, en partant de rien, une nouvelle machine virtuelle plus adaptée, qui fut nommée Parrot. Parrot m’a toujours intéressé d’un point de vue technique, car c’est une machine virtuelle à registres, alors que toutes les autres machines virtuelles, à l’exception de Dalvik qui est utilisée par Android pour le Java, sont à pile (CPython, Perl 5, JVM de Sun, CLI, etc.).

Cependant, la vitesse fantasmée il y a dix ans d’une machine virtuelle à registres immature, peut-elle tenir la comparaison avec des machines virtuelles à pile parfaitement maîtrisées et optimisées depuis ? Comment ne pas penser au fameux débat noyau monolithique contre micro-noyau ? Parrot et Hurd, même combat ?

Cette situation qui dure a causé beaucoup de tort au langage Perl, qui a été le premier langage libre largement diffusé et utilisé pour faire des scripts CGI. Ainsi, il a été évincé du web “à l’ancienne” par PHP, et du web moderne par les frameworks comme Ruby on Rails et Django, écrits respectivement en Ruby et en Python.

Et cela ne risque pas de s’améliorer, car pour que des personnes utilisent vraiment Perl 6 pour développer des programmes, il faudra non seulement un Rakudo complet, mais aussi que les bindings pour les bibliothèques de programmation soient portés…

En terme de moyens, le développement de Perl 6 a bénéficié entre autres d’un don 200 000 $ de la part de Ian Hague, et le très brillant Patrick Michaud est salarié pour s’y consacrer à plein temps.

Mais le gros problème c’est que les choix technologiques, aussi intéressants soient-ils, sont si complexes qu’ils ont bloqué l’émergence d’une communauté de développeurs qui auraient donné une toute autre dynamique au projet.

Alors Perl 6 est-il mort avant même d’être né ?

C’est un question très dure, à propos d’un projet emblématique du logiciel libre et très intéressant techniquement, mais nous nous devons d’essayer d’apprendre de nos erreurs. Alors n’oubliez jamais : Keep it Simple, Stupid et release early, release often.

Apple, la honte !

Tuesday, July 27th, 2010

Un point rapide sur ce qu’il est convenu d’appeler “l’Antennagate”, en référence au scandale du Watergate qui obligea le président des États-Unis Richard Nixon à démissionner en 1974.

Apple a fourni d’excellents et très innovants smartphones appelés iPhone. La dernière version, l’iPhone 4, a un gros problème : l’antenne externe positionnée en bas à gauche, à l’endroit où l’on pose ses doigts quand on tient le téléphone, est mal isolée, et la réception se retrouve donc exécrable à partir du moment où l’on prend l’iPhone en main pour téléphoner.

Ceci ne serait pas impardonnable si Apple ne s’était lancé dans une incroyable entreprise de lavage de cerveau planétaire.

Toutes les dénégations en sept étapes :

  1. Les vrai-faux mails de Steve Jobs, insultants à l’encontre des personnes ne sachant pas tenir correctement leur téléphone.
  2. Le 3 juillet, une lettre d’enfumage en règle.
  3. Le 15 juillet, une update iOS 4.0.1 (anciennement iPhone OS), avec pour seule modification de résoudre le problème, en changeant l’algorithme de calcul du nombre de barres représentant la qualité du signal reçu. Près de 600 Mo !!!! juste pour afficher n-2 barres de réception (pour Apple ils ont pondu un algorithme incroyable, Knuth en rigole encore).
  4. Le 16 juillet, un Keynote avec Steve Jobs himself pour amuser la galerie.
  5. Une liste de délation des concurrents censés être aussi mauvais qu’Apple.
  6. La révélation des salles de test (les photos sont belles, avec un vrai côté science-fiction) et des 100 Millions de dollars investis pour tester les antennes de l’iPhone en fonctionnement.
  7. La distribution gratuite d’un “bumper“, une coque de protection, permettant d’empêcher un dysfonctionnement qui n’existe pourtant pas selon Apple.

Apple, capable d’excellentes choses en design et en ergonomie, mais aussi en ingénierie logicielle, se révèle ici totalement incapable de reconnaître une erreur, pourtant évidente et constatée par tous. Elle a choisi de faire disparaître les symptômes, de manière ridicule, en transformant l’iPhone en détecteur de relais GSM hyper-précis, par une update logicielle minable même pour une SSII française (et dans ma bouche ce n’est pas peu dire !).

De plus le problème était en fait connu par Apple, qui pour la première fois commercialise elle-même des bumpers de protection pour l’iPhone. Apple a simplement refusé de changer son modéle, malgré son important défaut, car elle sait que de toute manière des millions de pigeons achèteront son iPhone, même si téléphoner avec devient une gageure.

Des millions de personnes qui adhèrent aux mensonges du grand maître Steve Jobs, le suivant tel, au mieux, le gourou d’un secte, au pire, les fanatiques d’un état fasciste.

Se battre pour le logiciel libre c’était aussi se battre contre Micro$oft. Il faut bien comprendre maintenant qu’Apple, qui dépasse ce dernier en terme de capitalisation boursière depuis la fin mai 2010, est aujourd’hui un adversaire au moins aussi important à combattre.

La Free Software Foundation l’a compris depuis longtemps, qui mène depuis 2006 la campagne DefectiveByDesign.org. Oui nous avons tous dit plein de mal de cet horrible Windows, qui était techniquement nul, buggé, plein de virus et de backdoors des agences de renseignement gouvernementales. Il est temps de ne plus faire aucune concession à Apple et ses iBidules (iPhone, iPad, etc.). Nous avons une alternative beaucoup plus évidente qu’à l’époque où nous devions comparer des distributions GNU/Linux encore très jeunes à Windows, nous avons Android et webOS qui sont au moins aussi bien qu’iOS, et sur certains points nettement supérieurs.

L’avenir de l’informatique se joue aujourd’hui, faisons tout pour que la Liberté l’emporte sur le pouvoir Séparé.

Droit du libre

Monday, April 19th, 2010

J’ai repris mes études cette année, en Master 2 de Droit. Les logiciels libres que je défends ont été produits par le travail commun de nombreuses personnes partageant une même éthique. Une éthique basée sur un concept novateur, puissant et transformateur socialement, un concept juridique et non informatique : le Copyleft.

C’est pourquoi je pense que ce Master de Droit est au moins aussi important pour l’Avenir que mon Master d’Informatique. Les logiciels sous licences libres, mais aussi les créations sous licences Creatives Commons devront immanquablement se faire respecter devant les tribunaux face aux attaques de ceux qui ne voient pas leurs intérêts dans une société plus juste, de partage et de coopération.

Je suis en stage depuis maintenant deux mois chez Hugot Avocats, le cabinet à l’origine de l’assignation de Free pour non respect de la licence GNU GPL. Pour pouvoir travailler dans ce cabinet, j’ai logiquement dû signer un NDA, les avocats étant tenus par leur déontologie au secret professionnel. C’est assez cocasse car maintenant que j’ai tant de choses à dire, je n’ai plus le droit d’en parler :-) .

Certains articles trop spécialisés, ou abordant des thématiques différentes (prélèvements ADN, liberté d’expression, etc.) seront rédigés directement sur un blog spécifique dédié au droit. J’espère que les géants Eben Moglen et Lawrence Lessig me laisseront me hisser sur leurs épaules…