Quand la connaissance rencontre le Libre ça donne un livre exemplaire

Un livre sur la théorie homotopique des types vient d’être publié par des mathématiciens. A priori ça ne concerne que les spécialistes du sujet…

Et pourtant ça concerne tout le monde, tant sa conception originale et les leçons qui en sont tirées ci-dessous ont valeur d’exemplarité.

Du Libre à tous les étages (LaTeX, Creative Commons By-Sa…) mais surtout dans son état d’esprit de partage et de collaboration. Un projet et un article passionnants, à faire lire dans la sphère académique et bien au-delà.

Remarque : Pour commencer, on pourra voir cette courte vidéo « making-of » du livre.

Homotopy Type Theory - The team

Le livre HoTT

The HoTT book

Andrej Bauer – 20 juin 2013 – Blog personnel
(Traduction : Lgodard, Ilphrin, tcit, Guillaume, igor_d, Yaf, ronanov, fif + anonymes)

Le livre HoTT est terminé !

Depuis le printemps, et même avant, j’ai participé à un super effort collaboratif pour écrire un livre à propos de la Théorie homotopique des types (NdT : HoTT en anglais pour Homotopy Type Theory). Il est enfin terminé et accessible au public. Vous pouvez obtenir le livre librement et gratuitement. Mike Shulman a écrit à propos du contenu de ce livre, donc je ne vais pas répéter cela ici. À la place, je voudrais commenter les aspects socio-technologiques de la création du livre, et en particulier de ce que nous avons appris de la communauté open source sur la recherche collaborative.

Nous sommes un groupe de deux douzaines de mathématiciens qui avons écrit un livre de 600 pages en moins de 6 mois. C’est assez impressionnant, d’autant que les mathématiciens n’ont pas l’habitude de travailler ensemble au sein de grands groupes. Dans un petit groupe ils peuvent s’en sortir en utilisant des technologies obsolètes, comme envoyer aux autres un fichier source LaTeX par email, mais avec deux douzaines de personnes, même Dropbox ou n’importe quel autre système de synchronisation de fichier aurait échoué lamentablement. Par chance, beaucoup d’entre nous sont des chercheurs en Informatique déguisés en mathématiciens, donc nous savions comment attaquer les problèmes de logistique. Nous avons utilisé git et github.com.

Au début, il a fallu convaincre les gens, et se faire à l’outil. Malgré tout, cela n’a pas été trop difficile. À la fin, le dépôt sur le serveur n’était pas seulement une archive pour nos fichiers, mais également un point central pour notre planification et nos discussions. Durant plusieurs mois j’ai consulté GitHub plus souvent que mes emails ou Facebook. Github était mon Facebook (sans les petits chats mignons). Si vous ne connaissez rien aux outils comme git mais que vous écrivez des articles scientifiques (ou que vous créez n’importe quel type de contenu numérique) vous devriez vraiment, vraiment vous renseigner sur des systèmes de gestion de versions. Même en tant que seul auteur d’un article, vous allez gagner à apprendre comment en utiliser un, sans même parler des belles vidéos que vous pouvez produire sur la manière dont vous avez écrit votre papier.

Mais de manière plus importante, c’est l’esprit collaboratif qui imprégnait notre groupe à l’Institute for Advanced Study (Princeton) qui était incroyable. Nous ne nous sommes pas éparpillés. Nous avons discuté, partagé des idées, expliqué certains éléments les uns aux autres, et avons totalement oublié qui avait fait quoi (à tel point que nous avons dû faire des efforts pour reconstruire un historique de peur que ce ne soit oublié pour toujours). Le résultat final a été une augmentation considérable de notre productivité.

Il y a une leçon à en tirer (mis à part le fait que l’Institute for Advanced Study est évidemment le meilleur institut de recherche au monde), à savoir que les mathématiciens ont à gagner à devenir un peu moins possessifs vis-à-vis de leurs idées et leurs résultats. Je sais, je sais, une carrière académique dépend de la juste répartition des mérites de chacun et ainsi de suite, mais ce sont seulement les idiosyncrasies de notre époque. Si nous pouvons faire en sorte que les mathématiciens partagent des idées à moitié développées, ne s’inquiètent pas de savoir qui a apporté quelle contribution à un article, ou même qui en sont les auteurs, alors nous atteindrons un nouveau niveau de productivité encore jamais imaginé. Le progrès est le fait de ceux qui osent enfreindre les règles.

Les milieux de recherche vraiment ouverts ne peuvent être gênés par le copyright, les éditeurs qui s’accaparent le profit, les brevets, les secrets commerciaux, et les programmes de financement qui sont basés sur des outils de mesures de réussite défectueux. Malheureusement nous sommes tous coincés dans un système qui souffre de ces maux. Mais nous avons fait un premier pas dans la bonne direction en mettant le code source du livre disponible librement sous une licence permissive Creative Commons (la CC-By-Sa). N’importe qui peut prendre le livre et le modifier, nous envoyer des améliorations et des corrections, le traduire, ou même le vendre sans même nous donner le moindre sou (si cette dernière phrase vous a quelque peu crispé c’est que vous avez été conditionné par le système).

Homotopy Type Theory - Couverture

Nous avons décidé de ne pas faire publier le livre par un éditeur académique pour le moment car nous voulions qu’il soit accessible à tous, rapidement et sans frais. Le livre peut être téléchargé gratuitement, ou bien acheté à peu de frais avec une couverture rigide ou souple sur lulu.com (quand avez-vous pour la dernière fois payé moins de 30$ pour une monographie de 600 pages à couverture rigide ?). Une fois de plus, j’entends déjà certaines personnes dire : « oh mais un vrai éditeur universitaire est synonyme de qualité ». Cette façon de penser rappelle les arguments opposant Wikipédia et Britannica, et nous savons tous comment cette histoire s’est terminée. Oui, la bonne qualité de la recherche doit être assurée. Mais une fois que nous acceptons le fait que n’importe qui peut publier n’importe quoi sur Internet permettant au monde entier de le consulter et en faire un livre bon marché à l’air professionnel, nous réalisons rapidement que la censure n’est plus efficace. À la place, nous avons besoin d’un système décentralisé d’approbation qui ne pourrait pas être manipulé par des groupes d’intérêts spéciaux. Les choses sont en train de bouger dans cette direction, avec la création récente du Selected Papers Networks (Réseaux d’écrits sélectionnés) et d’autres projets similaires. J’espère qu’ils auront un bel avenir.

Cependant, il y a quelque chose d’autre que nous pouvons faire. C’est plus radical, mais aussi plus utile. Plutôt que de laisser les gens se contenter d’évaluer les articles, pourquoi ne pas leur donner une chance de participer et aussi d’améliorer ces articles ? Mettez tous vos articles sur GitHub et laissez les autres en discuter, poser des questions, les utiliser comme bases pour leur travail (fork), les améliorer, et vous envoyer des corrections. Est-ce que cela paraît fou? Bien sûr que oui, l‘open source paraissait également une idée folle lorsque Richard Stallman a lancé son manifeste. Soyons honnêtes, qui va vous voler votre code source LaTeX ? Il y a bien d’autres choses de valeur susceptibles d’être volées. Si vous êtes un professeur titulaire vous pouvez vous permettre d’ouvrir le chemin. Faites-vous enseigner git par vos thésards et mettez vos trucs dans un endroit public. N’ayez pas peur, ils vous ont titularisé pour que vous fassiez des choses comme ça.

Donc nous invitons tout le monde à améliorer le livre en participant sur GitHub. Vous pouvez laisser des commentaires, signaler des erreurs, et même mieux, faire des corrections par vous-même ! Nous n’allons pas nous inquiéter de savoir qui vous êtes et combien vous contribuez et qui devrait recevoir les honneurs. La seule chose qui importe est de savoir si vos contributions sont bonnes.

Ma dernière observation est à propos de la formalisation des mathématiques. Les mathématiciens aiment imaginer que leurs publications peuvent en principe être formalisées dans la Théorie des Ensembles. Ceci leur donne un sentiment de sécurité, qui n’est pas différente de celui ressenti par un croyant entrant dans une cathédrale d’âge canonique. C’est une forme de foi professée par les logiciens. La Théorie homotopique des types est un fondement alternatif à la Théorie des Ensembles. Nous revendiquons nous aussi que les mathématiques ordinaires peuvent en principe être formalisées en Théorie homotopique des types . Mais devinez quoi, vous n’avez pas à nous croire sur parole ! Nous avons formalisé les parties les plus complexes du livre HoTT et vérifié les preuves avec des assistants de preuve électroniques. Pas une fois mais deux. Et nous avons formalisé en premier lieu, puis nous avons écrit le livre car c’était plus simple de formaliser. Nous sommes gagnants sur tous les plans (s’il y a une compétition).

J’espère que le livre vous plaira, il contient une impressionnante quantité de mathématiques inédites.

Homotopy Type Theory - Tor




Mon gouvernement me paye pour faire du Libre toute la journée !

C’est ce qui arrive à un développeur britannique.

Il s’en réjouit et nous avec 😉

Le gouvernement britannique me paye pour faire de l’open source toute la journée

The UK government pays me to write open source all day

Jake Benilov – 17 mai 2013 – QuickPeopleBlog
(Traduction : RyDroid, goofy, @zessx, Sylvain, MFolschette, Asta, Chuckman + anonymes)

Je suis développeur. Voici le graphique récapitulant mes contributions open source sur Github pour les 12 derniers mois (les carrés verts représentent les jours où j’ai fait des commits dans des dépôts open source) :

benilovj_oss_contributions.png

Bien que je fasse aussi de l’open source pendant mon temps libre, la plupart de ces points verts apparaissent pendant mes heures de travail au Government Digital Service (NdT. unité gouvernementale chargée de revoir le fonctionnement des services gouvernementaux en ligne), une équipe du Bureau du Cabinet britannique.

Je ne suis pas un cas isolé dans mon équipe. Si vous jetez un coup d’œil à la page Github du GDS, vous trouverez beaucoup de code. Mieux encore, notre travail ne se déroule pas seulement en marge des TIC gouvernementales : nous sommes responsables du site GOV.UK, la principale plateforme de publication du gouvernement britannique, et l’accès principal à toutes les opérations gouvernementales.

Un point où j’ai peut être exagéré : comme James Stewart (un des directeurs développement du GDS) le souligne, le GDS fait aujourd’hui du « code ouvert » plutôt que de « l’open source ». Cela signifie que le GDS rend les sources disponibles sous une licence de libre diffusion (LLD), mais ne soutient ou n’établit aucune communauté autour. Dans tous les cas, le « code ouvert » est génial pour de nombreuses raisons.

Équité envers le contribuable

Les sources gouvernementales devraient être ouvertes. Après tout, si le code a été écrit grâce aux impôts du contribuable, ce n’est que justice que le contribuable puisse l’avoir en retour. Fait intéressant, le critère n°15 du Digital by Default Service Standard (NdT. document explicitant les critères auxquels doivent répondre les services gouvernementaux en ligne) récemment publié devrait institutionnaliser cela et faire en sorte que tous les futurs projets du gouvernement britannique soient mandatés pour ouvrir leurs sources par défaut :

Rendez tout nouveau code source ouvert et réutilisable, et publiez-le sous les licences appropriées (ou fournissez une raison valable pour laquelle ce n’est pas possible pour certaines parties spécifiques du code source)

8522057158_fc88cc5041_n.jpg

Équité envers la communauté de l’open source

Nous utilisons des langages et frameworks open source (la majorité de GOV.UK est écrite en Ruby et Scala), des serveurs web open source, nous gérons et configurons nos sources avec des outils open source (Git et Puppet), et nous déployons sur les systèmes d’exploitation open source (tournant sous Linux). Redistribuer n’est que justice.

Transparence

Disposer de mon code source GDS sur GitHub facilite ma vie de développeur au GDS. Si j’ai besoin d’intégrer, de réutiliser ou d’étendre un autre composant du GDS, j’ai juste à cliquer dans mon navigateur ou à cloner le dépôt.

La transparence bénéficie aussi à ceux en dehors du GDS. Besoin de connaître les règles pour calculer une pension d’État ? Regardez les sources. Vous avez trouvé un bug dans la page des jours fériés ? Vous pouvez soumettre une pull request pour le corriger.

Je connais des sociétés qui ont des programmes open source internes, et c’est certainement un pas dans la bonne direction, mais le fait de rendre presque tout disponible nous rapproche de l’idéal d’une propriété commune du code.

En bonus, puisque les bidouilles et les raccourcis sont visibles par tout le monde, il en résulte une diminution des bricolages hasardeux.

Réutilisation

Bien qu’une bonne partie du code que nous écrivons est spécifique à nos problématiques, une large part est générique, et pourrait facilement être adaptée à l’usage d’autres administrations centrales, régionales ou locales, ou dans le secteur privé. En fait, les gens commencent déjà à le faire. Vous voulez du bon code pour un front-end ? Le voici. Vous voulez un système de login unique de qualité gouvernementale ? Le voilà. Vous voulez construire vos propres réponses intelligentes ? Ne vous gênez pas.

Marketing

Le « code ouvert » est un bon argument marketing pour l’image de marque du GDS. Quand je dis à d’autres hackers que je fais de l’open source au travail, les sourcils se lèvent. J’ai entendu des gens extérieurs au GDS en parler en termes de « startup gouvernementale » ; il est évident que l’open source améliore l’image de la marque.

Pour le CV

Pour des raisons purement égoïstes, il est vraiment agréable d’avoir un portfolio de mon travail, un endroit où je peux apporter aux gens une preuve tangible de ma capacité (ou mon incapacité ?) à coder en Ruby.

J’aimerais que davantage d’employeurs fassent cela (et pas seulement le secteur public). Si le vôtre ne le fait pas, peut-être que les raisons évoquées ci-dessus pourront aider à le convaincre de changer d’avis ?




Si on arrêtait d’utiliser les licences libres  ? (au profit du domaine public)

L’un des auteurs que l’on traduit le plus sur le Framablog, Glyn Moody, choisit ici de mettre les pieds dans le libre plat.

Et si on n’utilisait plus les licences libres, qui ne sont pas sans poser problèmes, en plaçant directement le code dans le domaine public ?

Les avantages pourraient finalement dépasser les inconvénients !

Remarque : Sur le même thème on pourra également lire (ou acheter) notre framabook Un monde sans copyright… et sans monopole. Sans oublier notre auteur Pouhiou qui place directement ses romans dans le domaine public et s’en explique ici dans un fort intéressant dialogue avec Lionel Maurel aka Calimaq.

Copyright - OpenSource.com

Pourquoi il est temps d’arrêter d’utiliser les licences libres

Why it’s time to stop using open source licences by Glyn Moody

Glyn Moody – 13 février 2013 – The H Open
(Traduction : Tr4sK, aKa, Sphinx, Isdf, Penguin, ProgVal, lamessen, Shanx, Amargein, ronane, MFolschette, Isser)

Les logiciels libres reposent sur un paradoxe. Afin que les utilisateurs puissent être libres, les licences libres utilisent quelque chose remettant en cause la liberté : le copyright. Ce dernier est un monopole intellectuel se basant sur la restriction de la liberté des gens à partager, la liberté est donc restreinte et non pas étendue. Quand Richard Stallman, en 1985, a créé la GNU Emacs General Public License, cela représentait un bidouillage brillant, maintenant il est peut-être temps de passer à autre chose.

Nous y sommes déjà et des éléments le montrent. Il y a 18 mois, les gens ont commencé à remarquer le déclin des licences copyleft vers des licences plus permissives comme la licence Apache ou BSD. Plus récemment, la croissance de GitHub a attiré l’attention, montrant également que de plus en plus de gens n’utilisent plus de licences sur GitHub (ce qui peut s’avérer problématique d’une certaine manière).

Je ne pense pas que le déclin des licences copyleft soit la preuve d’un échec, bien au contraire ! Je l’écrivais dans mon édito précédent, le logiciel libre a au fond gagné, prenant le pouvoir dans la plupart des secteurs clés de l’informatique. De la même manière, le passage à des licences permissives n’a été rendu possible que grâce au succès du copyleft : les idées participant à la création collaborative et à la contribution à un projet que l’on utilise sont maintenant généralisées. Il n’y a donc plus besoin de licences copyleft « fortes » pour faire respecter ces valeurs, elles font désormais partie de l’ADN des codeurs. Ian Skerrett le déclarait ainsi en 2011 :

« On n’a plus besoin de s’assurer que les développeurs ou les entreprises soient honnêtes. Ils contribuent aux projets open source parce que cela les aide dans leur travail. S’il fallait s’assurer que les développeurs sont honnêtes, pourquoi y aurait-il autant de projets Apache réussis ? Prenons l’exemple du projet Eclipse qui utilise un copyleft faible. Je ne connais que très peu de contributions ayant été intégrées à Eclipse parce que le développeur avait été forcé de contribuer à cause des obligations de licence. Les gens contribuent aux projets qu’ils utilisent parce qu’ils ont saisi le bénéfice qu’ils pouvaient recevoir grâce à leur contribution. »

C’est aussi pourquoi nous ne devons pas nous n’inquiéter du cloud computing — parfois présentée comme la tueuses des licences libres — puisqu’il n’y a pas de distribution obligeant à publier les éventuelles modifications du code. Mais une fois de plus, nous n’avons pas besoin de cette obligation : si une entreprise d’informatique de cloud computing veut pleinement tirer les bénéfices du logiciel libre, elle y contribuera de toute façon. Si elle ne le fait pas, elle n’a rien compris.

Quelle licence devons-nous donc adopter si on n’utilise pas une licence copyleft ? Apache ? BSD ? Pourquoi pas aucune licence du tout , c’est à dire mettre le logiciel dans le domaine public ? Après tout, c’est la conclusion logique du mouvement vers des licences de plus en plus permissives — une qui permet tout.

Compte tenu des discussions passionnées qui ont tendance à se produire lorsqu’on émet l’idée qu’il y a un mouvement des licences copyleft traditionnelles vers des licences légèrement plus permissives, je soupçonne que l’idée d’évoluer vers une licence complètement permissive sera choquante pour certains. À l’évidence, cela semblerait impossible, car conduisant « certainement » à l’effondrement du logiciel libre lui-même si celle-ci était largement adopté.

Un article intéressant de Clark Asay, maître de conférences à la Penn State Univerity Dickinson School of Law (et aussi frère de Matt Asay, personnalité connue de tous dans le logiciel libre) étudie cette idée en profondeur et présente quelques arguments convaincants sur le fait que placer les logiciels libres dans le domaine public fonctionne et s’avère bénéfique.

Asay (Clark et non Matt) remarque qu’il y a un coût à utiliser des licences libres en termes de conformité. Les entreprises dépensent énormément d’argent en se préoccupant de faire les choses bien, mais les programmeurs, eux aussi, perdent du temps à s’occuper de détails légaux alors qu’ils pourraient être en train d’écrire davantage de lignes de code. En particulier, l’incompatibilité entre les nombreuses licences et leurs variantes est une barrière importante à de plus larges réutilisations et collaborations. Ces problèmes signifient que les logiciels libres ne sont pas utilisés aussi largement et efficacement qu’ils le pourraient, commercialement ou non. Ces difficultés peuvent expliquer en partie le glissement vers des licences plus « permissives », guidé par le désir d’éviter justement ces problèmes.

Asay se met alors à examiner les deux objections majeures à rendre le code disponible librement, sans aucune licence. La première tient au fait que les entreprises risquent de récupérer du code puis de l’enfermer, ce qui selon lui a peu de chance de se passer puisque, en faisant ainsi, elles écarteraient beaucoup des bénéfices que seuls les logiciels libres offrent :

« Si une société devait prendre la responsabilité d’un projet et le rendre fermé, elle n’obtiendrait certainement pas le travail bénévole que les contributeurs du monde entier ont envie d’offrir aux projets disposant de licences ouvertes. Sans ce travail bénévole, les sociétés perdraient un des avantages les plus significatifs des modèles ouverts d’innovation, et ce travail bénévole resterait probablement fidèle à la version ouverte du projet. C’est pourquoi les sociétés encouragent d’ores et déjà à ouvrir le plus de projets possibles et à y contribuer. Car en faisant ainsi, cela va attirer une force de travail bénévole et déclenchera une innovation correspondant mieux à à leurs besoins et stratégies.

Est-ce que la réciprocité (c’est-à-dire l’obligation de contribuer au projet en contre-partie) permet d’éviter la désertion des contributeurs individuels ? Il semble peu probable que, dans la plupart de cas, les contributeurs individuels aient le temps, l’intérêt et les ressources pour s’emparer d’un projet non-réciproque et d’en créer un équivalent fermé. La littérature suggère que les buts espérés par les individus qui contribuent à des projets aux licences ouvertes, ont peu à voir avoir avec un avantage financier direct. Leurs intérêts pour la contribution résident plutôt dans la créativité, l’amélioration de sa réputation, et les bénéfices financiers indirects. Bien qu’il soit toujours possible pour des contributeurs de s’emparer d’un projet ouvert et de le rendre fermé pour l’intégrer dans leurs propres produits (et ainsi contrevenir à ce modèle ouvert d’innovation), les mêmes raisons qui suggèrent que les sociétés ne le feront pas s’appliquent également aux contributeurs individuels. Les contributeurs individuels sont encore moins à même d’abandonner les buts qu’ils espèrent atteindre dans la contribution à des projets ouverts, en plus de n’avoir que des ressources limitées pour réussir à fermer et maintenir un projet. »

L’autre objection majeure qu’il met en avant est que si le logiciel est placé dans le domaine public, il n’existe aucune exigence pour que tous les programmeurs reçoivent la reconnaissance qu’ils méritent pour leur contribution à un projet. Cette reconnaissance peut être importante en raison de l’estime des pairs dont ils jouissent en retour et peut même aboutir à des compensations économiques sous la forme d’offres d’emploi et d’augmentations de salaire.

Attribution et réputation

Je suis d’accord pour dire qu’attribuer le mérite d’un projet est important, et cela de manière cruciale. En fait, je pense que cela représente la clé du problème concernant les produits numériques partagés sur Internet, étant donné que les bénéfices économiques dépendent de cela. Toutefois, forcer cette attribution grâce à des licences ne représente peut-être pas le meilleur moyen. Asay l’explique ainsi :

« Dans une large mesure, l’approche de la gestion de la propriété intellectuelle choisie par les modèles d’innovation ouverts (c’est-à-dire les licences classiques des projets open source) échoue à remplir ses missions. Par exemple, le respect des licences attribution-only (mention de l’auteur original du projet) provoque l’enfouissement d’une telle reconnaissance dans les documents légaux ; cela fait que la reconnaissance d’une telle paternité devient minime. Cette réalité montre que ceux qui contribuent en utilisant des licences attribution-only, bien qu’étant motivés par une certaine forme de reconnaissance, obtiendront un tout autre type de reconnaissance que celui engendré par la propriété intellectuelle. Dans le monde du logiciel libre et open source, des outils comme GitHub, utilisé largement comme outil social de développement, peuvent fournir plus efficacement la reconnaissance que cherchent les programmeurs. Le fait que de plus en plus de contributions à des logiciels effectuées via GitHub se font sans avertissement de non-respect de la propriété intellectuelle ou des clauses de licences montre que le « prix » d’un tel avertissement à cause d’une documentation légale obscure n’en est pas un, du moins pour ceux qui contribuent. »

En effet, les personnes et les entreprises ont déjà commencé à utiliser les profils GitHub comme un moyen d’afficher et de mesurer la capacité à coder. Je soupçonne que cela deviendra bientôt la norme, avec des moyens plus formels d’établir sa réputation dans le monde du développment, apparaissant aux côtés de ceux informellement dictés par les normes sociales au sein de la communauté du logiciel libre.

Après avoir abordé les deux principales objections de se passer de licences open source traditionnelles, Asay examine ensuite ce que le domaine public signifierait en pratique :

« Une approche du style domaine public devrait remplacer efficacement les droits d’auteurs automatiques, supprimer tous les droits liés aux brevets (les deux respectant les droits des brevets déjà obtenus ainsi que de façon prospective), et renoncer à tous les recours possibles venant avec eux. Les droits liés au secret commercial, le cas échéant, devraient êtres supprimés dès que le titulaire des droits a publié le logiciel ou le contenu au public. On peut dire que renoncer à tout droit de marques est non seulement inutile mais déconseillé, car les autres pourraient utiliser les marques pour embrouiller les consommateurs quant à la source du logiciel ou du contenu. En effet, c’est exactement pourquoi la licence CC (Creative Commons), qui inclut une licence dédiée au domaine public dans son répertoire légal, exclut expressément les droits de marque dans son outil. »

Ce dernier point sur les marques est important, bien qu’il puisse sembler étrange de prétendre que tous les monopoles intellectuels et marques doivent être conservés, parce qu’ils servent un but très différent de celui du droit d’auteur ou des brevets. Les marques sont conçues pour protéger les consommateurs contre la fraude, plutôt que de chercher à exclure les concurrents, même si c’est la façon dont elles sont souvent utilisées aujourd’hui.

Mais pour les projets open source, les marques sont purement une question de réputation — c’est à dire qu’elles deviennent des garanties de qualité lorsqu’elles sont appliquées à un programme. N’importe qui peut prendre le code et l’utiliser et l’adapter de différentes façons. Mais il ne pourra pas utiliser la marque du projet, car cela impliquerait qu’il s’agit d’une version officielle « approuvée ». Ce qui serait évidemment problématique pour une variété de raisons, à commencer par celle de la sécurité.

Asay aborde également une objection importante dans sa thèse selon laquelle placer un logiciel dans le domaine public serait la meilleure façon de le distribuer : si c’était le cas, pourquoi tout le monde s’en tiendrait à la licence GPL ou Apache ? Comme il le souligne :

« Dans le monde du logiciel libre et open source, par exemple, il n’existe aucun outil reconnu ou largement utilisé dévoué au domaine public. A la place, l’Open Source Initiative et la Free Software Foundation — les deux principales organisations de défense des logiciels libres dans le monde — refusent ou approuvent les licences ouvertes utilisées dans la communauté. S’il est vrai que divers projets pourraient tout simplement ignorer ces licences recommandées et d’adopter une approche par domaine public — certaines ayant essayé de faire exactement cela — cette approche suppose que les organisateurs de ces projets comprennent comment le faire. »

Le fait est qu’il est actuellement assez difficile de placer un logiciel dans le domaine public, premièrement parce qu’il y a un biais culturel contre une telle attitude, même au sein de la la communauté du logiciel libre, et deuxièmement parce que légalement c’est un processus délicat. En effet, Asay suggère que nous avons besoin d’une nouvelle législation — ce qu’il appelle Public Domain Act (NdT, en français : « Loi du Domaine Public ») — pour rendre ce processus plus facile. Il faudra évidemment prendre en compte les différents systèmes de copyright ayant cours dans le monde — par exemple, ceux qui mettent plus l’accent sur les « droits moraux ».

Il y a quelques années, j’ai demandé à Richard Stallman ses points de vue sur la manière dont le copyright devrait être réformé, particulièrement concernant l’aspect logiciel. Voici ce qu’il a répondu :

« Pour la plupart des types de travaux, je pense que le droit d’auteur serait acceptable si nous l’avions (1) fait plus court (je suggère 10 ans), (2) permis la redistribution de copies dans un but non commercial et sans modification, (3) défini comme fair use les réutilisations sous forme de remix. Cependant, je pense que les logiciels et autres œuvres d’usage pratique doivent être libres. »

Notez qu’il pense, lui aussi, que le logiciel devrait être exempt de tout copyright — en d’autres mots, dans le domaine public — mais il a ajouté quelques mises en garde :

« Je serais heureux de voir l’abolition du copyright dans le logiciel si c’était fait de façon à s’assurer que le logiciel est libre. Après tout, l’objectif du copyleft est d’atteindre ce but pour les dérivés de certains programmes. Si tous les logiciels étaient libres, le copyleft ne serait plus nécessaire.

Cependant, l’abolition du copyright peut aussi être faite de manière erronée et pourrait n’avoir aucun effet sur les logiciels propriétaires typiques (qui sont restreints par des CLUF, Contrats de Licence Utilisateur Final, et le secret du code source plus que par le copyright), et ne ferait que porter atteinte à l’utilisation du copyleft. J’y serais naturellement opposé. »

Placer les logiciels libres dans le domaine public serait équivalent à abolir le droit d’auteur pour ces programmes tout en laissant le code propriétaire intact. Est-ce vraiment un problème ? Personnellement, je ne le pense pas, pour les raisons que j’ai mentionnées : toute entreprise prenant du code dans le domaine public et se l’appropriant perd tous les avantages de son ouverture. Il est vrai qu’il reste des programmes hérités des maisons de logiciels à l’ancienne qui ont toujours été propriétaires, mais leurs existence n’affecte pas vraiment le monde plus large du logiciel libre, qui est maintenant arrivé à l’indépendance et à l’autosuffisance. Ce que Microsoft et ses semblables font en ce moment est quelque peu hors de propos.

Bien sûr, le passage au domaine public ne signifiera pas la disparition des licences libres actuelles — elles seront toujours là pour ceux qui souhaitent les utiliser. Comme toujours, le choix et la liberté personnelle sont capitaux. Mais j’espère que les gens y réfléchiront à deux fois avant d’introduire de nouvelles licences, ou même avant d’en mettre à jour d’anciennes. En particulier, j’espère qu’il n’y aura jamais de GNU GPL version 4. Au contraire, nous devons parachever la révolution que Richard Stallman a commencée il y a près de trois décennies en rendant le logiciel libre véritablement libre, en le plaçant dans le domaine public et en brisant les chaînes qui le lient encore à ce monopole vieux de trois cents ans nommé copyright.




Pour un GitHub plus démocratique et efficace

GitHub est aujourd’hui la plus dynamique forge de développement de logiciels libres. Mais n’y aurait-il pas, dans sa conception même, quelques problèmes de gouvernance et de circulation du code qui menacent l’efficacité, voire la viabilité, des projets ?

Remarque : Pull request, issue, commit… nous présupposons que vous êtes familier avec le vocable GitHub, mais si un gentil lecteur veut nous les préciser dans les commentaires, qu’il/elle n’hésite surtout pas 😉

De la citoyenneté dans le développement de logiciels open source

On Citizenship in Open-source software development

Christophe Maximin – 8 mai 2013 – Blog personnel
(Traduction : ProgVal, Melchisedech, nano-plink, TheCamel, Al + anonymes)

Comment GitHub peut révolutionner la question en donnant le pouvoir aux utilisateurs dans les dépôts auxquels ils contribuent.

TL;DR : En donnant un véritable statut social aux personnes contribuant à un dépôt, GitHub résoudrait le problème des projets-zombies ayant une communauté éparpillée. En permettant à ces citoyens de collaborer réellement les uns avec les autres, et non avec le seul propriétaire, les dépôts seront vivants tant que leur communauté existera, de manière complètement auto-régulée.

L’année a très bien commencé pour GitHub. Après avoir levé cent millions de dollars d’Andreesen-Horowitz et atteint les trois millions d’utilisateurs en janvier (3,4 millions et plus à présent), ils sont sur une dynamique qu’il sera difficile d’arrêter.

Néanmoins, le service a aussi ses défauts, et si certaines personnes pointent du doigt de tous petits problèmes liés aux services et aux applications, le problème que je m’apprête à décrire touche à la nature même de nos interactions sur la plate-forme.

1. État actuel d’un dépôt

0-BQR_CkK8QYMKOkTz.png

Chaque dépôt que vous créez est un petit pays avec une très faible population : 1 habitant, vous, le créateur/roi/commandant suprême.

Même si votre dépôt a des centaines de rapports de bugs créés par d’autres, et des centaines de pull requests, il n’y a qu’une seule personne aux commandes.

Bien sûr, vous pouvez ajouter des collaborateurs à votre dépôt, mais il ne seront que des collaborateurs, des membres du cabinet, choisis juste parce que vous le souhaitez. Bien sûr, dans le cas des organisations, vous pouvez ajouter des co-commandeurs suprêmes.

Mais c’est tout. Vous n’atteindrez probablement pas cinquante collaborateurs/membres; même si votre dépôt est vraiment populaire, et même si des centaines de personnes y contribuent. Est ce que cela vous parait normal ?

Ce ne serait pas un problème si ce n’était pas la cause de…

2. La fragmentation des dépôts et de leurs fonctionnalités

0-ihF9OMYgNtvXqrMY.png

J’ai vu la chose suivante arriver bien trop souvent :

  • Le développeur abandonne graduellement un projet à cause de nouveaux engagements dans sa vie, ou juste parce qu’il n’est plus intéressé. Et donc il regarde les pull requests une fois par mois, peut être. Le projet semble vivant. Il ne l’est pas.
  • Le développeur est dépassé par les rapports de bugs et les pull requests qu’il reçoit. Et bien qu’il sache qu’il a une solide communauté autour de ce projet, il ne peut pas juste ajouter quelqu’un comme collaborateur car il devra quand même lire chaque ligne pour être sûr que tout est en ordre. Et donc, il regarde les pull requests une fois par mois, peut être. Le projet semble vivant. Il ne l’est pas vraiment.

Et vous vous dites : « Qui s’en soucie ? N’importe qui peut forker le dépôt et donner une nouvelle vie au projet autre part ! »
Bien entendu, mais combien de fois avez-vous vu cela se faire réellement ?
La plupart du temps, les gens forkent le projet pour régler « le » bug qu’ils voulaient régler, et c’est tout.

Maintenant, si vingt personnes agissent de la sorte, cela devient une vraie tragédie : le projet est en fait encore mis à jour, mais à vingt autres endroits. Vous devrez fusionner les commits de 20 dépôts différents pour être à jour de toutes les nouvelles choses cools que vous pouvez faire avec le projet. Mais vous ne le ferez jamais. Certains forks sont incompatibles de toute façon.

D’autre part, comme le projet « semble vivant », personne ne se presse pour essayer de le remplacer. La léthargie se poursuit alors encore et encore, et va créer la confusion chez n’importe quel nouveau venu quant à l’état du projet, sur l’emplacement des dernières mises à jour, et sur leur éventuelle acceptation par la communauté.

Je ne vais pas donner de noms (ce n’est pas bien de pointer du doigt publiquement) , mais je suis sûr que vous voyez à quoi je fais référence.

3. Le pouvoir au peuple, le pouvoir à la cité

0-QMcCMMfAzCc1Nqdt.png

Sans entrer dans un débat sur les multiples définitions du mot citoyenneté, vous trouverez ici une liste de quelques fonctionnalités qui en feront une réalité. Rien de ce qui est listé ici n’est absolu, et ce sera à l’administrateur de définir les règles.

  • Tout le monde peut voter pour une issue.
  • Tout le monde peut voter pour une pull request, avec un merge automatique quand une majorité (ou quelque chose d’autre à définir) est atteinte.
  • Les citoyens se voient attribuer des « points de karma » suivant les votes positifs ou négatifs qu’ils reçoivent sur leurs commits et leurs réponses aux issues. Les citoyens ont un total de points pour ce dépôt, et pour le reste de GitHub.
  • Tous les commits qui sont approuvés par le peuple vont dans un branche spécifique préfixée « par_le_peuple_* » .
  • Les administrateurs ont toujours le droit de veto sur ce qu’ils veulent, et peuvent complètement couper ce mode « auto-pilote » .

Conclusion

Il est temps que les gens qui contribuent à des projets acquièrent enfin une réelle existence. Il n’y a vraiment rien à perdre, et cela semble pour moi être une évolution naturelle et inévitable de toute façon.

La question est : combien de temps devrons nous attendre ?




Framasoft : du code libre pour des projets libres – Interview de Quentin

Aujourd’hui, tout le monde a le cloud à la bouche. C’est vrai que ne rien installer et avoir un logiciel collaboratif à portée de main, c’est pratique… Mais nous sommes de plus en plus nombreux à nous inquiéter de savoir où passent nos données…. qui gère les serveurs… comment être autonomes… Le Framacloud est né avec Framapad, un service connu et utilisé par de nombreuses personnes. Aujourd’hui, Framadate connait aussi un grand succès comme alternative libre aux « doodles ». Mais il existe d’autres services qui n’attendent que votre utilisation, vos retours, votre participation.

Tous les projets Framasoft, qu’ils soient culturels, cloudesques, logiciels ou les trois, demandent des lignes de code… Bien sûr, les salariés ainsi que des bénévoles enrôlé-e-s de force dans l’association mettent les mains dans la source. Mais, encore une fois, l’apport de la communauté est essentiel. C’est pourquoi Framasoft a ouvert un dépôt GitHub. Afin que chacun-e puisse étudier, reproduire, modifier et diffuser du code que nous créons ensemble… Mais laissons Quentin nous le présenter.

— Pouhiou

Framablog : Dis-moi, c’est quoi un GitHub ? A quoi cela peut-il servir pour le développeur en herbe ? La codeuse volontaire ?


Quentin : Je ne vais pas m’embêter et je vais reprendre la définition de Wikipédia : GitHub est un service web d’hébergement et de gestion de développement de logiciels, utilisant le programme Git. En fait, c’est un site web où les développeurs du monde entier peuvent héberger le code source de leurs applications et ainsi le partager s’ils le veulent avec le reste du monde. Chaque membre de GitHub peut faire des propositions pour de nouvelles fonctionnalités, ouvrir des bogues, les corriger et les soumettre au projet initial. Il peut également copier le projet pour travailler sur une copie de celui-ci. On appelle cela un « fork ».

Pour le développeur en herbe ou la codeuse volontaire, cela permet de lire du code écrit par d’autres, de pouvoir le modifier et ensuite, d’en faire part à l’équipe qui développe le projet. Celle-ci peut alors commenter ce qu’a fait ce nouveau développeur et lui dire ce qui est bien et ce qui n’est pas bon dans son code. C’est ainsi que l’on apprend… C’est également comme cela que se créé une communauté autour d’un logiciel, que ce dernier s’enrichit et devient de plus en plus stable. Toutes les contributions sont bénéfiques !

Mais un code, c’est pas un peu personnel ? Je veux dire, c’est facile de mettre le nez dans un projet développé par quelqu’un d’autre ?

Ce n’est pas toujours facile en effet de se plonger dans le code de quelqu’un d’autre, surtout s’il est mal documenté, comprend trop peu de commentaires… il ne faut donc pas hésiter à poser des questions, ni craindre de commettre des erreurs ! Les développeurs sont aussi là pour expliquer le fonctionnement de leur logiciel.

Chez Framasoft, le code n’a rien de personnel puisqu’il est développé soit par les bénévoles, soit par les salariés de Framasoft, il est donc normal qu’il soit mis à la disposition de tous.

Framablog : Du coup quelle est la meilleure méthode pour participer à l’amélioration d’un projet Frama présent sur GitHub ?

Il y a plusieurs façons de participer à un projet Frama, je vais aller de la plus basique (mais non la moins importante) à la plus complexe :

  1. Dire merci. Oui, c’est tout bête, mais quand on utilise un logiciel libre qui nous plaît, il est très facile d’écrire un petit courriel pour dire merci. Ça ne coûte rien, ça fait plaisir à entendre et ça motive encore plus…
  2. Remonter des bogues : c’est également quelque chose de simple, mais ce n’est pas souvent fait. Lorsque vous apercevez un problème sur l’une des applications Framasoft, n’hésitez pas à ouvrir un bogue (rubrique “Issues”) dans GitHub (si vous avez un compte sur ce site) ou tout simplement à nous contacter par courriel pour nous faire de votre problème
  3. Proposer des améliorations : vous avez une idée pour améliorer les applications Framasoft, alors proposez-la (de la même façon qu’au point 2). Pour cela, il faut être un petit peu développeur c’est vrai, mais vous pouvez nous aider en corrigeant les bogues, en apportant votre savoir-faire sur tel ou tel langage, en codant une nouvelle fonctionnalités… Il vous suffit de « forker » les projets Framasoft présents sur GitHub, modifier le code et faire ce que l’on appelle un Pull request :  il s’agit une demande d’intégration du nouveau code soumis par le développeur dans l’application.

En conclusion, il n’y a pas de meilleure méthode pour participer, elles sont toutes intéressantes et permettent d’améliorer les applications.

Framablog : Quels sont les projets Frama disponibles sur notre dépôt Github ? Il y en a d’autres qui vont s’y loger bientôt ?

Donc sur GitHub, Framasoft est représentée par l’équipe Framasoft : si vous ouvrez le lien, vous voyez toutes les applications dont le code source est partagé avec la communauté.

On y trouve a par exemple le code source de Framapad ainsi que celui de Framadate.

…mais aussi d’autres projets qui sont principalement utilisés en interne dans l’association comme Gesdon qui comme son nom l’indique, nous permet de gérer les dons et l’envoi des reçus fiscaux. Pour le moment, il n’y a que quelques applications dont nous partageons le code source. Nous souhaitons bien sûr partager le maximum, mais le manque de temps ne nous a pas encore permis d’organiser et d’ajouter le code source d’autres applications.

Vous en voulez encore ? Découvrez aussi celles-ci :

Framacalc : Framacalc est à Framapad ce que Calc est à Writer. Il s’agit donc d’un tableur en ligne collaboratif. Même s’il est pour l’instant moins complet que Framapad, Framacalc est tout à fait fonctionnel et vous permettra de travailler à plusieurs et en temps réel sur une feuille de calcul.

Framindmap : Besoin de faire un brainstorming ? Framamind est l’outil qu’il vous faut. Avec sa prise en main intuitive, il vous permettra de structurer vos réflexions pour en faire une superbe carte heuristique. Choisissez les positions de vos idées, les couleurs, et repartez avec vos idées mises au clair, sous forme d’image ou de fichier exportable, que vous pourrez toujours importer plus tard, pour le modifier et le compléter.

Gégé (rien que pour le lulz) : S’il y a un outil du Framaverse qu’on a fait en se disant : « ce pourrait être un délire sympa de le faire », c’est bien celui-ci. L’idée est venue est voyant une démo sur le site de Mozilla (). Et si on faisait pareil avec les personnages de Gee ? Il a suffit de quelques personnalisations du CSS par Bouts et Gégé, le Générateur de Geektionerd, était né. L’outil, simple d’utilisation permet de créer simplement, sans talent de dessinateur, ses BD de Geektionerd en proposant des jeux de mots tellement pourris que même Gee n’aurait pas pu les écrire.




Du projet étudiant au navigateur web, la trajectoire d’un développeur open source

Aujourd’hui nous choisissons de mettre en lumière un jeune développeur qui devrait donner des idées à tous les étudiants en informatique qui nous lisent. Comme vous allez le voir, en choisissant la voie de l’open source, les projets qui paraissaient hors d’atteinte sont finalement accessibles. Rien n’est gagné d’avance mais la voie est libre !

De Firefox à Chromium en passant par Midori, ce ne sont pas les navigateurs Web qui manquent. Il y en a pour tous les goûts, des plus complets aux plus légers. Parmi eux se trouve QupZilla, un navigateur lancé en 2010 par son actuel développeur principal, David Rosca. Alliant légèreté et fonctionnalités, il a aussi la particularité d’être développé par un étudiant qui a lancé ce projet à l’âge de 17 ans, alors qu’il était encore lycéen. Il étudie maintenant l’informatique à l’Université technique de Prague, en République Tchèque. Aujourd’hui, il répond à nos questions pour le Framablog.

Contributeurs Framasoft : lamessen, eyome, Asta lyn

David Rosca aka Nowrep, développeur de QupZilla

F : Bonjour David, merci de nous accorder cette interview. Peux-tu nous présenter le projet QupZilla ?

David : QupZilla est un navigateur web multi-plateforme écrit sur l’infrastructure Qt. Il utilise le moteur de rendu Webkit à travers le module Qt. L’utilisation de Qt fait que QupZilla est parfaitement adapté à la plate-forme KDE mais il fonctionne aussi très bien sur les autres environnements. Il fonctionne avec tous les systèmes d’exploitation. La dernière version (1.4.1) est sortie il y a peu de temps.

Il est important de dire que QupZilla est un navigateur web qui a pour objectif de rester léger, ne vous attendez donc pas à ce qu’il devienne aussi énorme que les navigateurs les plus courants.

F : Comment a démarré cette aventure ?

David : Cela ne devrait pas vous surprendre : j’aime coder et créer de nouvelles choses. J’avais déjà quelques expériences dans l’écriture d’applications et j’étais assez confiant sur les langages de script. Mon souhait était de créer une vraie application. L’élément déclencheur a été de passer sous un système d’exploitation Linux, à partir de ce moment, je me suis dit : « Pourquoi pas ? Il n’y a plus rien qui t’arrête maintenant ! ». En fait mon plus gros problème a été de trouver quel type d’application créer. J’avais commencé à suivre quelques tutoriels, je commençais à comprendre les bases de ce type de programmation mais l’ennui serait vite arrivé si je n’avais pas su quelle appli développer. Au cours d’une discussion, un ami m’a suggéré de créer un navigateur, c’était sans doute une plaisanterie mais j’ai vraiment aimé cette idée et j’ai donc commencé à travailler dessus.

F : Une fois que tu as su quoi créer, comment t’es-tu organisé ?

David : J’ai d’abord choisi un langage de programmation. Mon choix s’est porté vers Python, un langage plus facile que le C++. Bizarrement, choisir la facilité a été la cause de mon plus gros problème. Quand vous apprenez un nouveau langage de programmation, vous rencontrez de nombreux problèmes et vous cherchez des solutions sur Internet. Plus votre langage est populaire, plus vous trouverez de réponses. Mais même si PyQt (Python pour Qt) est très populaire, la majorité des tutoriels, exemples, etc. sont pour le C.

J’ai donc essayé de traduire le C++, utilisé dans les tutoriels, en Python. C’était très difficile car je n’avais aucune expérience du C++ et que je commençais à peine à apprendre Python. J’ai donc finalement décidé d’utiliser le C++ et j’ai réécrit tout le code que j’avais. Et ça a vraiment été une bonne chose.

À ce moment-là, je ne pensais pas que mon code puisse être rendu public. Je plaisantais bien sûr sur le fait qu’un jour, j’aurais des centaines de milliers de téléchargements, mais c’était tout. Je ne pouvais même pas imaginer que quelqu’un puisse vouloir participer à mon projet. Ce ne sont donc pas les choses auxquelles vous pensez quand vous êtes en train d’apprendre un nouveau langage et que vous commencez un « projet d’apprentissage ».

F : Tu as choisi de développer ton logiciel sous licence GPLv3. Peux-tu nous expliquer pourquoi ?

David : Pour être honnête, j’ai choisi la GPLv3 uniquement parce que la majorité des projets open source l’utilisaient (kernel linux inclus, mais en GPL V2). Je ne connaissais pas vraiment les différences entre les licences. Mais maintenant, je suis content de mon choix. Je ne voudrais pas choisir une autre licence pour Qupzilla. Je ne sais pas exactement ce que serait la licence de mes rêves, je ne suis pas un expert en licence. Mais je suis vraiment satisfait avec la GPLv3.

F : Cela fait maintenant plusieurs années que tu travailles sur QupZilla, peux-tu nous dire ce que cela t’a apporté, ce qui a marché et moins bien marché ?

David : Tu as raison, ça fait un bon moment que j’ai commencé à coder QupZilla. Même si il y a eu des périodes où je n’avais pas assez de temps pour développer, parfois à cause de l’école ou simplement par manque d’intérêt, je suis toujours revenu vers QupZilla. QupZilla m’a d’abord apporté beaucoup d’expérience, à la fois en codage, en utilisation de nouveaux outils et en gestion d’un projet qui au final n’est pas si petit. J’ai aussi rencontré beaucoup de nouvelles personnes. Pour résumer, j’ai savouré chaque instant. Bien sûr, il y a eu quelques erreurs, petites ou grandes. C’était essentiellement à cause d’un manque de connaissances et d’expérience dans les domaines concernés. Mais j’en ai toujours tiré une leçon. Il y a beaucoup de choses que je ferais différemment si je pouvais revenir en arrière dans le temps. Par exemple, j’aurais commencé à écrire des tests pour les fonctions de base dès le début du projet, pour éviter les régressions (c’est ce que je fais maintenant).

F : Aujourd’hui, QupZilla est un projet bien vivant, apprécié, et qui compte de nombreux contributeurs. Il est intégralement traduit dans plus de 20 langues. Imaginais-tu que ça puisse prendre une telle ampleur alors que le marché des navigateurs est extrêmement concurrentiel ? Comment a-t-il selon toi trouvé son public ?

David : Les navigateurs légers sont très populaires, principalement sur les machines Linux étant donné qu’il est possible de les faire fonctionner sur de très vieux matériels. Du coup, j’ai pensé qu’il y avait peut-être une place pour QupZilla. Maintenant, je peux dire que j’avais raison. Je pense également que « léger » ne veut pas forcément dire « manque de fonctionnalités ». C’est cette optique de développement que suit QupZilla.

F : Tu as choisi d’utiliser de nombreux outils facilitant le travail communautaire autour de ton projet : Qt comme base de travail, Github pour le code, récemment Transifex pour la traduction. Quels étaient tes critères ? Ont-ils été satisfaits ?

David : J’ai choisi Qt parce qu’il est disponible partout. Il convient parfaitement aux applications multi-plateformes. GitHub comme hébergeur pour le dépôt git est aussi le choix n°1. Ils offrent un bon plan pour les projets open source, et avec l’approche « codage social », il est plus facile de trouver de nouveaux contributeurs. Pour moi, GitHub est le meilleur choix pour n’importe quel projet open source.

J’ai récemment déplacé toutes mes traductions vers Transifex. Ça facilite la gestion, et c’est aussi un moyen de trouver de nouveaux traducteurs (ce qui s’est déjà confirmé). Je ne suis toutefois pas satisfait de la vitesse à laquelle ils implémentent les nouveaux éléments (essentiellement les nouvelles langues). Il faut plus d’un an et demi pour une demande de nouvelle langue. Du coup, il y a des soucis, notamment avec les traductions serbes.

F : Comment vois-tu la suite de QupZilla ? Tu as longtemps été le seul développeur. Tu as maintenant quelques contributions au niveau du code. Penses-tu à l’avenir te faire davantage épauler ?

David : Je ne pense pas que ça va changer tant que ça. Ce n’est pas vraiment facile d’attirer de nouveaux contributeurs. La situation actuelle me convient : je suis le développeur principal et d’autres personnes m’envoient des patch (correctifs et contributions) de temps en temps. Mais ça va peut-être changer si QupZilla a de la chance 🙂

F : Nous savons que les projets grandissants ont souvent besoin de trouver de nouveaux contributeurs pour avancer. Peut-être même qu’en ce moment, l’un de tes plus importants contributeurs est en train de lire cette interview. Peux-tu nous dire quels sont tes besoins humains sur le projet ?

David : Il n’y a jamais assez de contributeurs. Non seulement pour coder, mais aussi pour traduire, tester les nouvelles versions, etc. Mais ce qui aiderait vraiment QupZilla, mais aussi tous les autres projets basés sur QtWebKit serait d’insister d’avantage sur la partie en C++ de QtWebKit. Il y a en ce moment une nouvelle version pour Qt 4.8, QtWebKit 2.3. C’est une release vraiment bonne. Cependant, le développement est nécessaire pour garder le projet compétitif. Ce serait donc la meilleure façon d’aider QupZilla.

F : Tu fais maintenant partie de la grande famille du logiciel libre. Es-tu impliqué dans d’autres projets ? Souhaites-tu t’investir sur certains en particulier ?

David : J’ai envoyé de petits correctifs pour de nombreux autres projets, mais je n’ai jamais fait quelque chose de grand. Par exemple, je peux parler du lecteur de musique Tomahawk ou encore QtWebkit (sur lequel QupZilla est basé). J’aimerais contribuer d’avantage à QtWebKit, mais ce n’est pas facile de travailler sur un projet aussi important. J’aimerais aussi participer au Google Summer of Code project pendant les vacances d’été.

F : Tu es pour le moment étudiant, mais la vie professionnelle arrive à grand pas. Comment vois-tu ton avenir ?

David : Tu as raison, j’étudie maintenant à l’université. J’ai choisi une université ouverte sur l’open source, mes expériences ont donc déjà été utiles.

J’espère vraiment réussir à travailler dans une société basée sur des technologies open source. J’aime la communauté open source. Mais qui sait ce qui arrivera ? Quoi qu’il en soit, je n’ai pas l’intention d’arrêter de contribuer à des projets libres et open source.

F : Merci d’avoir pris le temps de répondre à nos questions. Nous te souhaitons une bonne continuation, en espérant voir Qupzilla grandir dans le bon sens.

David : Merci à vous aussi.




La mort des projets libres de SourceForge ne signifie pas la mort de SourceForge

Le ”community manager” de SourceForge se rebiffe : ce n’est pas parce que la plateforme héberge une foultitude de projets libres morts ou non actifs que SourceForge est lui-même en train de mourir.

On ne peut lui donner tort, mais la grande question reste en suspens : pourquoi tout le monde (ou presque) s’en va désormais sur GitHub ?

Peut-être trouvera-t-on réponse dans les commentaires 😉

Joiseyshowaa - CC by-sa

Le mythe de la mort de SourceForge

The myth of the death of SourceForge

Rich Bowen – 07 décembre 2012 – Notes in the Margin (blog personnel)
(Traduction : tcit, Sky, goofy, KoS, Tr4sK, audionuma, Asta, Rudloff)

Je suis le community manager de SourceForge. À ce titre, je vois tous les jours des tweets annonçant la mort imminente de SourceForge. La preuve fournie est le nombre important de projets morts sur SourceForge.

Cela reflète une profonde ignorance de la façon dont l‘open source (et le développement logiciel en général) fonctionne.

Une des choses qui font du développement logiciel un hobby irrésistible est que cela ne coûte presque rien d’échouer. Vous avez une idée ? Chouette. Essayez-la. Ça a marché ? Non ? Bah, ce n’est pas une grande perte. Passez à la prochaine idée. Mais publiez donc ouvertement vos notes pour que d’autres personnes puissent y jeter un coup d’œil et voir si elles peuvent faire mieux.

La plupart des projets de logiciels échouent. Désolé. C’est la réalité.

Ainsi, le fait que SourceForge contienne de nombreux projets ayant échoué n’est pas une indication de la mort de SourceForge. Cela indique son âge. SourceForge a 12 ans. Github est encore un bébé et n’a donc encore qu’un petit nombre de projets morts. Attendez quelques années et nous entendrons dire que Github est l’endroit où vont les projets pour mourir et que le nouveau truc à la mode est beaucoup mieux.

Ceci est un non-sens et n’est donc pas un bon instrument de mesure. Les forges open source sont un endroit où vous pouvez essayer une idée, à peu de frais et, si nécessaire, trouver là où ça échoue. Il est rare de réussir.

Bien sûr, cela amène la question qui est toujours posée : pourquoi ne purgeons-nous pas tous les projets morts ? Eh bien, si vous y réfléchissez quelques minutes, vous verrez que ce n’est pas faisable. Qui suis-je pour déterminer quel projet est mort et lequel ne l’est pas ? J’ai un projet vieux de 10 ans, que je n’ai pas touché depuis 8 ans mais que j’ai l’intention de réécrire ce week-end. Que se passerait-il si nous l’avions effacé la semaine dernière ? Plus important, les notes et le code source de votre projet « mort » ou « loupé » mènent souvent à un fork qui lui, réussit. Purger les références historiques ne rend service à personne.

Pendant ce temps, je passe des heures chaque jour à faire la promotion des nouvelles versions et des développements de projets open source très actifs et très passionnés. Il ne se passe pas une semaine où, avec un tweet pour chacune des nouvelles versions, ma femme ne me dit pas « wow, tu tweetes vraiment énormément ! » Un tweet à peu près chaque heure, 24 heures par jour, chaque jour des 9 derniers mois. Ça fait un paquet de projets actifs. Pas morts du tout.

C’est un grand honneur d’être le community manager de SourceForge, de travailler avec des dizaines de milliers de projets vivants et passionnés. SourceForge reste un élément très important dans l’écosystème open source, avec de nouveaux projets créés chaque jour. Certains de ces projets sont destinés à devenir des succès, d’autres non. C’est juste comme cela que ça marche, et ça n’indique le déclin d’aucune des forges open source où cela arrive.

Crédit photo : Joiseyshowaa (Creative Commons By-Sa)




La génération GitHub

GitHub a beau être une plateforme non libre de projets libres, force est de constater que cette « forge sociale » est devenue en quelques années l’un des centres névralgiques de la communauté.

Avec sa facilité d’usage, son appel permanent au fork et l’individuation des contributions, GitHub a permis a plus de monde de participer tout en ouvrant le Libre au delà du logiciel puisqu’il n’y a pas que du code proprement dit dedans (cf la liste de l’article traduit ci-dessous).

À tel point que certains n’hésitent pas à y voir un modèle pertinent pour toutes sorte de choses à commencer par la… démocratie !

Et si une génération toute entière était effectivement en train de naître sous nos yeux ?

GitHub

La génération Github : Pourquoi vous et moi pouvons désormais faire de l’Open Source

The GitHub Generation: Why We’re All in Open Source Now

Mikeal Rogers – 7 mars 2013 – Wired Opinion
(Traduction : Moosh, Sphinx, Peekmo, Chopin, goofy, misc, Uflex + anonymes)

GitHub a été conçu pour être une plate-forme de collaboration logicielle ouverte, mais c’est devenu une plate-forme pour déposer beaucoup plus de choses que du simple code. Elle est maintenant utilisée par des artistes, des créateurs, des propriétaires de maisons et des tas d’autres gens, par des entreprises entières… et même par des municipalités.

« N’importe qui peut maintenant changer les données quand de nouvelles pistes cyclables sont aménagées, quand de nouvelles routes sont construites ou quand de nouveaux immeubles sont construits » a annoncé récemment la ville de Chicago. Les gens planifient leurs projets de rénovation de maison sur GitHub. Un cabinet d’avocats a annoncé il y a quelques jours qu’il postait des documents juridiques pour des start-ups sur GitHub. Quelqu’un a même publié toutes les lois d’Allemagne sur GitHub l’année dernière (avec, s’il vous plaît, déjà 17 pull requests pour des modifications).

Bien sûr, GitHub reste majoritairement toujours utilisé par les programmeurs et développeurs qui font voler des AR.Drones avec Node.js ou construisent des sites web avec jQuery. Mais de plus en plus de gens passent de consommateurs à producteurs, et ils redéfinissent ainsi la culture de l’open source. Je crois que GitHub transforme l’open source comme l’internet a transformé l’industrie de la publication : un fossé culturel est en train de se creuser entre l’ancienne génération de gros projets libres et la nouvelle génération d’amateurs de projets libres d’aujourd’hui.

La révolution ne sera pas centralisée

Quand la plupart des gens entendent « open » source, ils pensent démocratie, distribution, égalité : tout le monde construit des choses pour que tout un chacun les utilise.

Mais cela n’a pas toujours été le cas. La plupart des logiciels open source ont été créés et maintenus par une classe privilégiée et protégée, les développeurs professionnels, qui interagissaient avec d’autre développeurs très semblables (ils sont pourtant suffisamment différents pour avoir de belles disputes).

Avant GitHub, je passais beaucoup de temps à penser et à discuter de la meilleure façon de gérer des projets open source parce que la coordination représentait un coût important d’un projet open source. Si important que lorsqu’un projet réussissait et développait une communauté assez grande, il était logique que le projet grandisse plutôt qu’il ne se fracture en projets plus petits. Mais plus le projet du logiciel devenait grand et complexe, plus il était difficile d’y contribuer. Ainsi, un choix de membres, les commiters – étaient assignés à la gestion et à la production du projet. Cela menait souvent à des ruptures séparant ceux qui produisaient le projet et ceux qui les utilisaient.

GitHub a comblé ce fossé en faisant de l’open source quelque chose de bien plus décentralisé. C’est devenu davantage centré sur les individus que sur le projet.

La façon d’utiliser GitHub est trés personnelle. Une personne (je suis github.com/mikeal) a un compte, et tout ce qu’elle publie existe à un niveau en dessous d’elle. Si quelqu’un veut corriger quelque chose, il suffit de « forker » le projet, ce qui place une copie sous son propre compte.

Cette façon de travailler est trés stimulante : elle encourage les individus à corriger les problèmes et à prendre possession des correctifs au même niveau que le projet de départ. Cela donne également à chacun une identité dans cette nouvelle culture du libre. GitHub est actuellement le premier fournisseur d’identité pour la production collaborative sur internet pour faire plus que du développement de code.

J’ai contribué à des projets libres depuis plus de 10 ans, mais ce qui est différent maintenant est que je ne suis pas un membre d’un de ces projets, je suis un simple utilisateur, et contribuer un peu est devenu une petite partie du rôle d’un utilisateur. Des petites interactions entre moi et les mainteneurs de projets arrivent plusieurs fois par semaine sur tout type de projet que j’utilise. Et ça arrive encore plus souvent dans l’autre sens : des gens dont je n”ai jamais entendu parler m’envoient des petits bouts de code sur les petits projets que j’ai publiés.

La décentralisation comme démocratie

Les premières versions de GitHub ont très bien fait une chose : rendre la publication de votre code beaucoup plus facile (que la non-publication). Ceci était suffisant pour que beaucoup de projets connus, notamment Ruby on Rails, migrent sur GitHub presque immédiatement.

Mais ce qui s’est passé après est encore plus intéressant : les gens ont commencé à tout publier sur GitHub. Pousser du code est presque devenu une habitude, comme tweeter. En abaissant la barrière pour entrer et rendant plus facile la contribution à l’open source, GitHub a élargi la production collaborative aux utilisateurs occasionnels.

Aujourd’hui un vaste choix de logiciels simples et compréhensibles est accessible à une catégorie de gens créatifs qui n’avaient jusqu’alors pas les compétences techniques requises pour participer à des projets open source par le passé.

Ce mélange des relations entre les producteurs, les contributeurs et les consommateurs valorise naturellement les projets plus petits et plus faciles à comprendre — et a conduit à de nombreuses contributions. Au cours du mois de septembre 2012 par exemple, la moitié des utilisateurs actifs de GitHub qui ont poussé au moins un changeset, l’ont fait moins de cinq fois, avec 22% (environ 44 000 personnes) qui ont poussé seulement un seul changeset ce mois-ci.

L’accès de l’open source aux amateurs présente certains avantages évidents.

Faciliter les usages

Un des problèmes récurrents, avec le logiciel open source, a été la qualité des finitions. La documentation, le design des sites web et l’ergonomie en général ont toujours été un problème — spécialement par rapport à de nombreux concurrents propriétaires.

Mais maintenant, avec les facilités de collaboration, des utilisateurs moins portés sur la technologie et la connaissance du code peuvent plus facilement participer à améliorer les logiciels sur lesquels ils travaillent (ce qui peut être des petites choses comme l’humanisation des messages d’erreur de codage ou de légers changements graphiques en une ligne de CSS qui optimisent le rendu des sites web des navigateurs, anciennes versions incluses, et sur les téléphones mobiles).

Dans le nouvel open source, les gens veulent utiliser la technologie sans avoir besoin de devenir des experts. La facilité d’utilisation est plus valorisée que jamais.

Éviter de réinventer la roue

Les développeurs aiment les défis et plus ils ont de chances de les relever, plus leurs solutions peuvent être astucieuses. C’était parfait lorsque les utilisateurs de ces solutions étaient eux aussi des gens très compétents techniquement comme ceux qui prenaient plaisir à résoudre astucieusement ces anciens problèmes.

Mais les amateurs préfèrent les solutions qu’ils peuvent tenir pour acquises : une fois qu’un problème est résolu, ils reviennent rarement en arrière pour le réexaminer. Et dans la mesure où les amateurs ne créeront qu’à partir des solutions les plus compréhensibles, cela contraint les développeurs à élaborer des solutions simples qui rendent les problèmes complexes plus faciles à appréhender.

Soutenir un écosystème plus vaste

Node.js, projet dans lequel je suis activement impliqué, définit des modèles suffisamment simples pour que les gens puissent écrire de petites bibliothèques indépendantes et les publier à leur gré. Tous ceux qui s’impliquent dans l’écosystème peuvent en tirer profit sans coordination. C’est le pôle inverse de l’énorme pile verticale qui accompagne des tas d’outils et fonctionnalités (tels que dans les systèmes intégrant des plugins, comme Ember, Dojo et YUI) qui sont nécessaires pour réussir à développer dans des environnement propriétaires (pensez à Cocoa et au développement pour iOS). Dans les environnements ouverts, tels que Node.js sur GitHub, nous constatons que des API bien plus légères peuvent facilement tirer parti du reste de l’écosystème sans coordination. Moins il y a de coordination entre les développeurs et les bibliothèques et plus nous pouvons créer de la valeur.

GitHub a donné les capacités à une nouvelle génération de collaborer, de créer, de produire. Beaucoup de développeurs regretteront l’abandon des normes culturelles précédentes, telles que le statut des commiters (ceux qui sont autorisés à envoyer le code sur le dépôt) ou la bonne vieille guerre pour le choix de la bonne licence — mais l’avenir est déjà entre les mains d’une nouvelle génération qui a évolué.

Ce n’est pas un simple outil : c’est à la naissance d’une nouvelle culture à laquelle nous assistons.