Framasoft lance sa campagne de soutien 2013 « moins de Google et plus de Libre »

Framasoft - Campagne 2013 - Google - LL de Mars - Licence Art Libre

« Le logiciel libre est plus important que jamais », affirmait il y a peu Richard Stallman sur le Framablog. Nous le pensons également.

Depuis 12 ans, Framasoft fait œuvre d’éducation populaire et agit en faveur de la promotion et diffusion de ce que l’on appelle désormais « le Libre ».

L’année écoulée fut une année bien remplie. Nous comptons désormais une vingtaine de projets déployés, regroupés en trois grandes catégories : logiciels libres, cultures libres et services libres.

Avec votre soutien, nous allons évidemment poursuivre le développement de nos projets liés directement à nos chers logiciels libres (un partenariat vient d’être contracté pour améliorer notre annuaire Framalibre, de nouvelles clés Framakey sont en préparation…) ainsi que ceux liés à la culture libre (de nombreux livres sont récemment sortis et d’autres arriveront sous peu). Mais nous comptons également mettre l’accent sur nos services libres qui ont connu un franc succès en 2013.

Cette campagne s’inscrit dans un contexte, celui du monopole des services web contre les besoins de choix et de liberté des individus. Il s’agit bien moins de montrer du doigt ou diaboliser des entreprises comme Google que d’alerter sur les phénomènes de concentration sur Internet qui captent nos applications et exploitent nos données[1].

Alerter mais aussi et surtout continuer à travailler sur la maintenance et le déploiement de nos petites alternatives regroupées sous le nom global de « Framacloud ». En effet, Framapad, Framadate, Framacalc, Framindmap, Framavectoriel… sont autant de projets certes bien moins évolués qu’un Google Docs par exemple mais qui rendent leurs services et répondent à de réels besoins. Vous avez été très nombreux à les utiliser (et faire preuve de patience lorsque nos serveurs étaient en difficulté pour cause de trafic élevé).

Le challenge pour nous désormais c’est d’abord de stabiliser l’infrastructure technique et de participer avec vous à les améliorer (ce qui signifie que nous allons de plus en plus souvent mettre les doigts dans le code). C’est également de faciliter la tâche de ceux qui souhaitent les installer sur leurs propres serveurs (participant à décentraliser le web). Enfin nous avons d’autres applications dans nos cartons qui pourraient venir s’adjoindre aux services déjà existants.

Google c’est dix milliards d’euros de chiffre d’affaire par trimestre et une trésorerie avoisinant les cinquante milliards[2]. Chiche de proposer ensemble une alternative avec un budget représentant 1 à 2 minutes de leur CA soit 0,0004% de leur trésorerie !

L’association qui soutient le réseau et sa communauté de bénévoles compte aujourd’hui 3 permanents, financés presque exclusivement par vos dons (défiscalisables). Nous vous remercions pour votre attention et votre don éventuel.

http://soutenir.framasoft.org/

L’équipe Framasoft

PS1 : Vous trouverez notre CP ci-joint en bas de page.

PS2 : Ajoutons également que nous allons en profiter pour nous séparer nous-mêmes des traces de Google qui traînent sur le réseau (Publicité, Analytics…), histoire de montrer l’exemple et d’être cohérent. A fortiori si cette campagne rencontre adhésion.

Notes

[1] Grand merci à L.L. de Mars pour son dessin original de soutien que vous trouverez en format haute définition. Il est également disponible au format badge parmi d’autres anciennes illustrations dans le générateur de bannières. N’hésitez pas à le partager 😉

[2] Voir par exemple ce site qui calcule en temps réel les revenus de certaines multinationales.




Geektionnerd : RMLL 2013 clap de fin

On en profite pour remercier tout l’équipe d’organisation.

Rendez-vous l’année prochaine à Montpellier 😉

geektionerd_152-1_simon-gee-giraudot_cc-by-sa.jpg

geektionerd_152-2_simon-gee-giraudot_cc-by-sa.jpg

Crédit : Simon Gee Giraudot (Creative Commons By-Sa)




RMLL 2013 Bruxelles

geektionerd_153-1_simon-gee-giraudot_cc-by-sa.jpg

geektionerd_153-2_simon-gee-giraudot_cc-by-sa.jpg

geektionerd_153-3_simon-gee-giraudot_cc-by-sa.jpg

Quelques-unes des participations de Framasoft au programme :

http://schedule2013.rmll.info/programme/cultures-et-arts-libres/cultures-et-arts-libres-6/

Crédit : Simon Gee Giraudot (Creative Commons By-Sa)




13 points que les gens détestent sur la documentation de votre projet libre

Qu’il s’agisse de son code ou de son utilisation, la faiblesse de la documentation d’un logiciel libre est souvent montrée du doigt.

Voici, selon Andy Lester, 13 défauts ou lacunes communément rencontrés, qui sont autant d’écueils que l’on peut contourner avec un minimum d’efforts aujourd’hui pour gagner demain un temps précieux.

Rosalux Stiftung - CC by

13 choses que les gens détestent sur vos documentations open source

13 Things People Hate about Your Open Source Docs

Andy Lester – 10 janvier 2013 – SmartBear Blog
(Traduction : Lamessen, calou, Shanx, sinma, Asta + anonymes)

La plupart des développeurs open source aiment penser à la qualité du logiciel qu’ils développent, mais la qualité de la documentation est souvent laissée de côté. Il est rare de voir vanter la documentation d’un projet, et pourtant elle a un impact direct sur sa réussite. Sans une bonne documentation, les utilisateurs n’utiliseront pas votre projet, ou ils n’y prendront pas de plaisir. Les utilisateurs comblés sont ceux qui diffusent des infos à propos de votre projet – ce qu’ils ne font qu’après avoir compris comment il fonctionne. Et ils apprennent cela à partir de la documentation du projet.

Malgré tout, de trop nombreux projets ont une documentation décevante. Et cela peut être décevant de plusieurs manières.

Les exemples que je donne ci-dessous sont purement arbitraires, je ne veux pas cibler un projet en particulier. Ce sont seulement ceux que j’ai utilisés récemment, cela ne veut pas dire qu’ils représentent les pires atrocités. Chaque projet a commis au moins quelques-uns de ces péchés. Que vous soyez utilisateur ou développeur, à vous d’évaluer à quel point votre logiciel préféré est ou non coupable, et comment vous pouvez aider à y remédier le cas échéant.

1. Le manque d’une bonne introduction ou d’un README/LISEZ-MOI

Le README/LISEZ-MOI est la première impression que les utilisateurs potentiels ont de votre projet. Si le projet est sur GitHub, le README/LISEZ-MOI est automatiquement affiché sur la page d’accueil du projet. Si vous l’avez mal rédigé, ils peuvent ne jamais revenir.

Vous voulez capter l’attention du lecteur et l’encourager à continuer la découverte de votre projet ? Le README/LISEZ-MOI devrait alors au moins expliquer :

  • ce que le projet fait
  • pour qui il est fait
  • sur quel matériel ou plateforme il tourne
  • toutes les dépendances majeures, comme « Requiert Python 2.6 et libxml »
  • comment l’installer, ou un accompagnement de chaque étape à la suivante.

Tout cela doit pouvoir être compris par quelqu’un qui n’a jamais entendu parler de votre projet, et peut-être même jamais imaginé un projet pouvant s’en rapprocher. Si le projet possède un module calculant la distance de Levenshtein, ne partez pas du principe que n’importe qui lisant votre README/LISEZ-MOI sait ce que c’est. Expliquez que la distance de Levenshtein est utilisée pour comparer deux chaînes de caractères, et ajoutez quelques renvois vers des explications plus poussées pour celui qui aimerait approfondir le sujet.

Ne décrivez pas votre projet par rapport à un autre projet, comme « NumberDoodle est comme BongoCalc, mais meilleur ! » Ça n’est d’aucune aide pour quelqu’un qui n’a jamais entendu parlé de BongoCalc.

2. La documentation non disponible en ligne

Bien que je n’ai pas lu d’études à ce sujet, je serais prêt à parier que 90% des recherches de documentation sont faites avec Google et un navigateur sur Internet. La documentation de votre projet doit être en ligne, et disponible. Partant de là, il serait embarrassant que la documentation de mon propre projet, ack, ne soit pas disponible à l’endroit où la majorité des gens vont la chercher. Mon hypothèse est basée sur ma propre expérience, à savoir que si je veux connaître le fonctionnement d’un outil en ligne de commande, je vais vérifier sa page man.

Comment je m’en suis aperçu ? Les utilisateurs m’écrivaient pour me poser des questions dont les réponses se trouvaient dans la FAQ. Ce qui m’a ennuyé : ils ne lisaient pas ma FAQ. Il se trouve qu’ils avaient cherché sur le site internet, mais je n’avais pas mis la FAQ à cet endroit. C’est une erreur facile à faire. Je suis proche du projet et je n’ai jamais eu besoin d’utiliser moi-même la FAQ, je n’avais donc pas remarqué qu’elle n’était pas présente en ligne. Beaucoup de problèmes sont dus à ce piège : les auteurs ne se mettent pas à la place des utilisateurs.

3. La documentation disponible uniquement en ligne

Le revers de ce problème est d’avoir la documentation disponible uniquement en ligne. Certains projets ne distribuent pas la documentation avec les livrables du projet, ou incluent une version médiocre de la documentation.

Le moteur de recherche Solr, par exemple, a un excellent wiki qui sert à la documentation du projet. Malheureusement, la documentation liée au téléchargement comporte 2200 pages de Javadoc d’API auto-générées. Au final, la seule documentation pour l’utilisateur est une unique page de tutoriel.

Le langage PHP n’est distribué avec aucune documentation. Si vous voulez la documentation, vous devez aller sur une page séparée pour les obtenir. Pire, seule la documentation du cœur est disponible au téléchargement, sans les annotations utiles des utilisateurs (voir « Ne pas accepter les remarques des utilisateurs » plus bas), et ce n’est pas le même format facile à parcourir que celui qui est disponible en ligne.

Les projets open source ne peuvent pas supposer que les utilisateurs ont accès à Internet quand ils ont besoin de la documentation. Le mode avion existe toujours. De toute façon, vous ne souhaitez pas que l’utilisateur dépende uniquement du fait que votre site web est disponible ou non. Au moins à deux reprises durant les derniers mois, le wiki de Solr était indisponible au beau milieu de ma journée de travail alors que je recherchais des informations sur un problème de configuration épineux.

Un projet qui fait les choses bien est Perl et son dépôt de module CPAN. La documentation pour chaque module est disponible soit à search.cpan.org ou metacpan.org dans un format hypertexte facile à lire. Pour la consultation hors-ligne, la documentation de chaque module est intégrée dans le code lui-même, et quand le module est installé sur le système d’un utilisateur, la documentation locale est créée sous forme de pages man. Les utilisateurs peuvent aussi utiliser « perldoc Module::Name » pour obtenir la documentation depuis le shell. En ligne ou hors-ligne : c’est votre choix.

4. La documentation non installée avec le paquet

Ce problème est généralement une erreur des paquageurs, pas des auteurs du projet. Par exemple, sur Ubuntu Linux, la documentation du langage Perl est séparée, ce sont des paquets optionnels pour le langage lui-même. L’utilisateur doit savoir qu’il doit explicitement installer la documentation de la même façon que le langage principal ou il n’y aura pas accès quand il en aura besoin. Ce compromis de quelques mégabites d’espace disque au détriment de la documentation à portée de main de l’utilisateur dessert tout le monde.

5. Le manque de captures d’écran

Il n’y a pas de meilleur moyen d’obtenir l’attention potentielle d’un utilisateur, ou d’illustrer un usage correct, qu’avec des captures d’écran judicieuses. Une image vaut mieux qu’un long discours, c’est encore plus important sur Internet parce que vous ne pouvez obtenir d’un lecteur de lire plus de quelques centaines de mots en tout.

Les captures d’écran accompagnant le texte sont inestimables pour guider l’utilisateur voulant faire les choses au mieux. Une capture d’écran lui permet de comparer visuellement ses résultats à ceux de la documentation et va le rassurer d’avoir exécutée la tâche correctement ou l’aidera à trouver facilement ce qui ne va pas.

Il est de plus en plus commun de trouver des vidéos sur le site internet d’un projet pour en donner un aperçu, et c’est génial. Tout autant que le fait d’avoir une vidéo pour chaque étape d’un processus complexe. Le projet Plone, par exemple, a un site entier dédié aux tutoriels vidéos. Cependant, les vidéos ne peuvent pas remplacer les captures d’écran. Un utilisateur veut voir rapidement l’allure des captures d’écran sans s’arrêter devant une vidéo. Les vidéos n’apparaissent également pas dans une recherche Google Image, à l’inverse des captures d’écran.

6. Le manque d’exemples réalistes

Pour les projets basés sur du code, l’analogue des captures d’écran sont de bons et solides exemples du code en action. Ces exemples ne devraient pas être abstraits, mais directement issus du monde réel. Ne créez pas d’exemples bateaux plein de « nom de la démo ici » et lorem ipsum. Prenez le temps de créer des exemples signifiants avec une histoire d’utilisateur qui représente la façon dont votre logiciel résout un problème.

Il y a de bonnes raisons de vous embêter avec des problèmes de maths en classe. Ils permettent d’appliquer ce que vous avez appris.

Disons que j’ai écrit un module d’un robot Web, et que j’explique la méthode follow_link. Je pourrais montrer la définition de la méthode ainsi :

$mech->follow_link( text_regex => $regex_object, n => $link_index );

Mais admirez à quel point cela devient évident en ajoutant de la réalité dans l’exemple.

# Suit le 2e lien où la chaîne de caractères « download » apparait
$mech->follow_link( text_regex => qr/download/, n => 2 );

Les noms des variables $regex_object et $link_index sont maintenant compréhensibles par le lecteur.

Bien entendu, vos exemples ne doivent pas être aussi brefs. Comme Rich Bowen du projet Apache le souligne, « Un exemple correct, fonctionnel, testé et commenté l’emporte sur une page de prose, à chaque fois. »

Montrez autant que possible. L’espace n’est pas cher. Créez une section dédiée aux exemples dans la documentation, ou même un livre de cuisine. Demandez aux utilisateurs d’envoyer du code qui fonctionne, et publiez leurs meilleurs exemples.

7. Liens et références inadéquats

Vous avez les hyperliens. Utilisez-les.

Ne pensez pas, parce que quelque chose est expliquée dans une certaine partie de la documentation, que le lecteur a déjà lu cette partie, ou bien qu’il sait où elle se trouve. Ne vous contentez pas de signaler que cette partie du code manipule des objets frobbitz. Expliquez brièvement lors du premier usage de ce terme ce qu’est un objet frobbitz, ou donnez le lien vers la section du manuel l’expliquant. Encore mieux, faites les deux !

8. Oublier les nouveaux utilisateurs

Il arrive trop souvent que l’écriture de la documentation soit rédigée à partir du point de vue de son auteur, alors que es nouveaux utilisateurs ont besoin de documentation d’introduction pour les aider.

L’introduction devrait être une page séparée de la documentation, idéalement avec des exemples qui permettent à l’utilisateur de réussir quelques manipulations avec le logiciel. Pensez à l’excitation que vous ressentez quand vous commencez à jouer avec un nouveau logiciel et qu’il vous permet de faire quelque chose de cool. Faites que ça arrive aux nouveaux utilisateurs également.

Par exemple, un package graphique pourrait présenter une série de captures d’écran qui montrent comment ajouter des données dans un fichier, comment faire intervenir le grapheur, et ensuite montrer les graphes obtenus. Une bibliothèque de codes pourrait montrer quelques exemples d’appels à la bibliothèque, et montrer le résultat obtenu. Pensez simplicité. Offrez une victoire facile. Le texte devrait introduire les termes aux endroits appropriés, avec des liens vers une documentation plus détaillée sur le long terme.

Un document de démarrage séparé donne à l’utilisateur une compréhension rapide du logiciel. Il garde aussi les explications d’introduction en dehors de la partie principale de votre documentation.

9. Ne pas écouter les utilisateurs

Les développeurs doivent écouter les utilisateurs de la documentation. La chose évidente est d’écouter les suggestions et requêtes des personne qui utilisent activement votre logiciel. Quand un utilisateur prend le temps d’écrire un mail ou de poster quelque chose comme « ça aurait pu m’aider à mieux installer le programme s’il y avait eu une explication ou des liens au sujet des pilotes de la base de données », prenez ce message au sérieux. Pour chaque utilisateur vous envoyant un mail pour un problème, vous devez vous attendre à ce que dix utilisateurs silencieux aient le même problème.

Il est important d’écouter les problèmes des utilisateurs et d’en chercher les causes. S’ils ont souvent des problèmes pour effectuer des mises à jour groupées de bases de données, la première chose à faire est d’ajouter une question à la FAQ (vous avez bien une FAQ, n’est-ce pas ?) qui traite de ces questions-là. Cependant, la question peut aussi indiquer que la section traitant des mises à jour de base de données n’est pas assez claire. Ou peut-être qu’il n’y a pas de référence à cette section depuis la vue d’ensemble introductive du document, avec pour conséquence que vos utilisateurs ne pensent jamais à lire le reste du manuel.

En plus d’aider plus de gens à découvrir à quel point votre projet est utile, ça diminuera aussi la frustration de la communauté déjà existante. Si votre liste de diffusion, forum ou canal IRC est remplie de personnes qui posent toutes les mêmes questions idiotes (ou pas si idiotes) au point que tout le monde devient lassé d’y répondre, sachez reconnaître que ce sont des questions récurrents pour la FAQ, et mettre les réponses à un endroit facile à trouver aidera tout le monde à se concentrer sur des choses plus amusantes.

Gardez aussi un œil sur les questions des forums externes. Consultez les sites comme StackOverflow régulièrement, et placez une Google Alert sur votre nom de projet pour être maintenu au courant des discussions concernant votre projet sur Internet.

10. Ne pas accepter les entrées des utilisateurs

Si votre projet a une base d’utilisateur assez grande, il peut être judicieux d’incorporer les commentaires des utilisateurs directement dans la documentation. Le meilleur exemple que j’ai pu voir est celui donné par PHP. Chaque page de la documentation permet aux utilisateurs authentifiés d’ajouter des commentaires sur la page, aidant ainsi à clarifier certains points ou ajoutant des exemples qui ne sont pas dans la documentation principale. L’équipe PHP laisse aussi le choix au lecteur de lire la doc avec ou sans les commentaires des autres utilisateurs.

Aussi pratique cela soit-il, cela nécessite de la maintenance. Les commentaires doivent être éliminés de temps en temps pour éviter la prolifération. Par exemple, la page de la documentation PHP sur comment lancer PHP depuis la ligne de commande inclut 43 commentaires d’utilisateurs qui remontent à 2001. Les commentaires écrasent la documentation principale. Les commentaires devraient être archivés ou supprimés, tout en incluant les points les plus importants dans la documentation principale.

Un wiki est également une bonne approche. Cependant, si votre wiki ne permet pas à l’utilisateur de télécharger toutes les pages en une seule grosse archive (cs. point n°3 ci-dessus), alors vos utilisateurs sont à la merci de votre connexion internet et du serveur hébergeant le projet.

11. Impossibilité de voir ce que fait le logiciel sans l’installer

Au minimum, chaque projet de logiciel nécessite une liste de fonctionnalités et une page de captures d’écran pour permettre au potentiel utilisateur intéressé de savoir pourquoi il devrait l’essayer. Aidez l’utilisateur, comparant les différents paquets à utiliser, à voir pourquoi cela vaut la peine de prendre le temps de le télécharger et de l’installer.

Les images sont un bon moyen de faire cela. Votre projet devrait avoir une page « Captures d’écran » qui montre des exemples de l’outil en action (cf. point n°5 ci-dessus). Si votre projet se résume uniquement à du code, comme une librairie, alors il devrait y avoir une page d’exemples montrant ce code utilisant le projet.

12. S’appuyer sur la technologie pour votre rédaction

Trop souvent, les auteurs de logiciels utilisent des systèmes de documentation automatisés pour faire leur travail. Ce système automatisé rend les choses plus facile à maintenir, mais il ne supprime pas la nécessité d’un travail d’écriture humain.

Le pire des cas concerne le changelog, qui n’est rien de plus qu’un dump des messages de commit du système de gestion de version, mais sans un résumé qui l’explique. Un changelog devrait lister les nouvelles fonctionnalités, les problèmes résolus et les incompatibilités potentielles. Sa cible est l’utilisateur final. Un log de commit est pratique et simple à générer pour les personnes travaillant sur le projet, mais ce n’est pas ce dont l’utilisateur a besoin.

Jetez un œil à cette page de la documentation de Solarium, une interface PHP pour le moteur de recherche Solr. Tout d’abord, l’avertisemment prend la moitié supérieure de l’écran, ne donnant aucune information au lecteur. Ensuite, il n’y a vraiment rien de véritablement descriptif sur la page que la liste des noms de fonctions. Il n’y a aucune explication sur les différentes méthodes, ni de liens indiquant où trouver l’explication. Les pages générées automatiquement sont jolies, et elles pourraient ressembler à de la documentation, mais elles n’en sont pas.

13. Arrogance et hostilité vis-à-vis de l’utilisateur

L’attitude du type RTFM (Read The Freaking Manual) est mauvaise pour votre projet et votre documentation.

C’est le summum de l’arrogance que de croire que tous les problèmes qui ont trait au fait que quelqu’un ne sache pas utiliser votre logiciel sont de la faute de l’utilisateur.

Même s’il est probablement vrai que les utilisateurs peuvent trouver leurs réponses dans votre documentation mais ne le font pas, il est stupide de penser que c’est la faute de l’utilisateur. Peut-être votre documentation est-elle mal écrite, ou difficile à lire, ou présente mal à l’écran. Peut-être avez-vous besoin d’améliorer la section « Mise en route » (lien #8 ci-dessus) qui explique ce que le logiciel a pour but de faire. Peut-être que certaines parties d’information nécessitent d’être répétées à de multiples endroits de la documentation.

N’oubliez pas que les nouveaux utilisateurs de votre logiciel peuvent arriver sur votre projet sans rien n’en savoir. Votre documentation doit faire de son mieux pour s’assurer que cette ignorance soit facilement résolue.

Synthèse

Je suis sûr que vous avez déjà eu affaire à quelques-uns de ces problèmes listés ci-dessous, et peut-être que pour d’autres vous n’y avez pas pensé. Faites-nous connaître les problèmes que vous avez rencontrés dans les commentaires ci-dessous, sachant qu’il ne s’agit pas de pointer du doigt certains projets en particulier.

Surtout, j’espère que si vous reconnaissez un problème dans la documentation de vos projets, vous prendrez la peine d’améliorer la situation. Heureusement, améliorer la documentation est une manière idéale de faire participer les nouveaux arrivants dans votre projet. On me demande souvent : « Comment puis-je commencer dans l’open source », et je recommande des améliorations dans la documentation comme une bonne manière de commencer.

Faites-en sorte que ce soit aussi facile que possible, pour les novices comme les plus anciens, de savoir où il est nécessaire de travailler la documentation. Créez une liste des tâches, par exemple dans votre système de suivi des bogues, qui explique ce qui a besoin d’être amélioré. Soyez précis dans ce que sont vos besoins. Ne vous contentez pas de dire que vous avez besoin d’exemples, sans plus de précision. Créez des tâches spécifiques, comme « ajoutez un code d’exemple sur le fonctionnement de la tâche X », « ajouter une capture d’écran du générateur de rapports » ou « ajouter des informations de dépendances au fichier README/LISEZ-MOI ». Les contributeurs souhaitent aider mais trop souvent ils ne savent pas par où commencer.

La documentation n’est pas la partie la plus glamour d’un projet open source, et pour la plupart d’entre nous ce n’est pas amusant. Mais sans une bonne documentation, les utilisateurs ne sont pas servis comme ils pourraient l’être, et votre projet en souffrira sur le long terme.

Crédit photo : Rosalux Stiftung (Creative Commons By)




Les statistiques du réseau Framasoft réactualisées au début 2013

En 2008, nous présentions ici-même quelques statistiques mensuelles des cinq premiers sites du réseau Framasoft en terme de trafic. Nous avons réitéré en 2010. Les voici réactualisées en janvier/février 2013 (la même période qu’en 2010).

On constate tout d’abord l’apparition dans le top five de deux de nos services libres : Framapad et Framadate (en lieu et place de Framabook et Framagora).

Si on compare à 2010, du côté des OS, Windows baisse un peu, GNU/Linux stagne et Mac progresse. Tandis que chez les navigateurs, Firefox baisse et Internet Explorer plonge (Safari lui passe même parfois devant) au détriment de Chrome qui gagne en moyenne près de 20%.

Pour ce qui concerne le trafic global, les sites historiques Framasoft et Framakey baissent (plusieurs hypothèses, une interne : la faible mise à jour, et une externe : changement d’usages et d’intérêt), le Framablog progresse et nos services libres font d’emblée une belle percée. N’oublions pas également que le réseau Framasoft compte aujourd’hui une vingtaine de projets, ce qui était loin d’être le cas en 2010.

Statistiques Framasoft entre le 11 janvier et le 10 février 2013

  • Framasoft
    • visiteurs/mois : 208 000
    • visites/mois : 256 000
    • pages vues/mois : 636 000
    • Les 3 premiers OS : Windows 77%, Linux 11%, Mac 10%
    • Les 3 premiers navigateurs : Firefox 48%, Chrome 26%, IE 16%
  • Framablog
    • visiteurs/mois : 63 000
    • visites/mois : 85 000
    • pages vues/mois : 120 000
    • Les 3 premiers OS : Windows 54%, Linux 23%, Mac 13%
    • Les 3 premiers navigateurs : Firefox 49%, Chrome 27%, Safari 9%
  • Framakey
    • visiteurs/mois : 33 000
    • visites/mois : 65 000
    • pages vues/mois : 210 000
    • Les 3 premiers OS : Windows 93%, Linux 4%, Mac 2%
    • Les 3 premiers navigateurs : Firefox 69%, Chrome 12%, IE 10%
  • Framadate
    • visiteurs/mois : 32 000
    • visites/mois : 66 000
    • pages vues/mois : 180 000
    • Les 3 premiers OS : Windows 64%, Mac 16%, Linux 13%
    • Les 3 premiers navigateurs : Firefox 48%, Chrome 18%, IE 17%
  • Framapad
    • visiteurs/mois : 28 000
    • visites/mois : 62 000
    • pages vues/mois : 159 000
    • Les 3 premiers OS : Windows 65%, Mac 16%, Linux 15%
    • Les 3 premiers navigateurs : Firefox 51%, Chrome 27%, Safari 11%



Geektionnerd : Journée mondiale 2013 contre les DRM

Geektionnerd - Simon Gee Giraudot - CC by-sa

Source : Journée internationale contre les DRM – édition 2013 (April)

Crédit : Simon Gee Giraudot (Creative Commons By-Sa)




L’appel GNU/Linux d’un fanboy Microsoft dégoûté par la licence Office 2013

Comme le soulignait PCInpact récemment Microsoft interdit le transfert de la licence Office 2013 vers un autre PC.

L’arrivée de la nouvelle version de la célèbre suite bureautique s’accompagne en effet d’un contrat de licence encore plus restrictif qu’auparavant, ce qui revient bien moins à acheter un logiciel qu’à le louer sur un seul et unique ordinateur en priant pour que ce dernier n’expire pas tout de suite (malgré son obsolescence programmée, ce qui est un autre sujet).

Du coup, certains utilisateurs, même parmi les plus fidèles, réalisent (enfin) qu’on les prend vraiment pour des vaches à lait et lorgnent (enfin) du côté de GNU/Linux et LibreOffice.

Pcs007 - CC by-sa

Microsoft perd un fanboy de plus

Microsoft loses yet another fanboy

Jack Wallen – 19 février 2013 – TechRepublic.com
(Traduction : jay91, lukkas35, Goodbox, aKa, nepski, VIGNERON, RavageJo, goguette, Texmix, Kyriog, Penguin, QC, chdorb, Norore, maxlath + anonymes)

Un autre mord la poussière pendant que Microsoft (et son utilisation déplaisante des licences) fait fuir un fan de longue date. Jack Wallen jette un œil à ce qui attend Microsoft.

Non, ce n’est pas quelqu’un de connu. Ce n’est même pas quelqu’un qui soit déjà apparu dans les médias, dans un mème, ou qui aurait participé à un hashtag ou une flashmob. Microsoft a perdu un des fanboys avec lesquels je travaille. Cette personne est un de ces types qui comprennent les choses à plusieurs niveaux. Non seulement il est incroyablement intelligent, mais c’est aussi un brillant électronicien.

Mais lorsque Microsoft a commencé à annoncer leurs termes de licence pour Office 2013 — il a commencé à me poser des questions. Elles commençaient toutes par « Au fait Jack, parle moi de Linux ». Et c’est ce que j’ai fait. Il n’a pas fallu longtemps pour qu’il installe Ubuntu 12.10 à la place de Windows 7 et qu’il soit heureux de travailler, sans Microsoft, et ce sans perdre le rythme.

Vous devez vous demander en quoi exactement les nouveaux termes du contrat de licence d’Office 2013 peuvent faire changer d’avis un fan Microsoft de longue date ? Laissez-moi vous lister les points les plus importants :

  • Chaque licence est liée à un compte Microsoft Live (qu’il vous faut posséder) ;
  • Seules cinq licences peuvent être liées à un même compte (nous avons des clients qui en passent par une dizaine de versions d’Office par semaine — ça pourrait causer quelques problèmes) ;
  • Chaque licence sera définitivement assignée à une seule machine.

Ces points sont seulement les plus néfastes, des points qui vont faire mal aux utilisateurs à différents niveaux. Ces conditions de licence partent du principe que les machines ne tombent jamais en panne – et que si elles le font, les utilisateurs ne verront pas d’inconvénient à sortir à nouveau la liasse de billets pour racheter la licence.

Faux et archi faux.

Les ordinateurs tombent en panne, certains sont parfois d’emblée défectueux avec des défauts qui ne seront parfois visibles qu’après plusieurs jours (ou semaines) d’utilisation. Que vont faire ces utilisateurs là ? Acheter Office 2013 deux fois en l’espace de quelques semaines ?

À cela, Microsoft va répondre, « Vous pouvez souscrire à Office 365 ». À ça, je répondrai d’utiliser gratuitement Google Docs pour n’avoir plus aucun problème.

Au cours de l’année dernière, Microsoft en a fait plus pour pousser les gens vers des solutions alternatives qu’il ne l’avait fait pendant très longtemps. D’abord, il a mis sur le marché l’une des interfaces graphiques les moins intuitives qui soit. Aujourd’hui, c’est la licence de Microsoft Office qui change. En bref, Microsoft est en train de perdre des fans et des utilisateurs. Vers quoi se tournent-t-il ? Linux. De plus en plus de gens se rendent finalement compte qu’il y a une alternative et que cette alternative est en fait MEILLEURE !

« Toutes ces années gâchées. » disais-je, secouant ma tête, tentant de cacher ma joie.

Les entreprises et les consommateurs ont beaucoup dépensé dans les produits Microsoft. Comment sont-ils remerciés de leur fidélité ? Une baffe en plein visage, et un trou dans le porte-monnaie ! Cette pagaille ne va pas bien se finir pour Microsoft. En revanche, cela va dans le bon sens pour les systèmes d’exploitation et logiciels comme Ubuntu et LibreOffice.

Beaucoup d’entre nous ont dit qu’il serait inévitable d’en arriver là. À un moment, on a vu venir le côté binaire — Microsoft allait brûler le seul pont qu’il ne pouvait se permettre de brûler — celui qui se trouvait entre Redmond et ses légions de fanboys. Cela ne se fera sans doute pas en une nuit, mais les aficionados d’une des plus grosses entreprises à avoir jamais honoré les bits et les octets vont lui tourner le dos et chercher de plus (ou)vertes pâtures. Quand cela va se produire, Linux aura enfin ce qui lui est dû. L’effet cascade forcera Microsoft à re-calibrer ses pratiques commerciales dans l’urgence.

Bien sûr, on a déjà entendu cet air-là avant. Microsoft va probablement tenter de mener le combat devant les tribunaux, mais pas là où il devrait : dans les cœurs et les esprits de ses consommateurs.

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




Tests contre Bogues : une guerre sans fin (Libres conseils 13/42)

Chaque jeudi à 21h, rendez-vous sur le framapad de traduction, le travail collaboratif sera ensuite publié ici même.

Traduction Framalang : Floxy, ga3lig, goofy, Astalaseven, Slystone, okram, KoS, Lycoris, 4nti7rust, peupleLa, Luc Didry, + Julius22

Même en multipliant les regards, les bogues ne sautent pas aux yeux.

Ara Pulido

Ara Pulido est ingénieure d’essais pour Canonical, d’abord comme membre de l’équipe assurance qualité d’Ubuntu (QA team), et maintenant dans le cadre de l’équipe de certification du matériel. Même si elle a commencé sa carrière en tant que développeuse, elle a vite découvert que ce qu’elle aimait vraiment, c’était tester les logiciels. Elle est très intéressée par les nouvelles techniques d’analyse et tente d’utiliser son savoir-faire pour améliorer Ubuntu.

Les tests maison ne suffisent pas

Je me suis impliquée dans le logiciel libre dès le début de mes études à l’Université de Grenade. Là-bas, avec des amis, nous avons fondé un groupe local d’utilisateurs de Linux et organisé plusieurs actions pour promouvoir le logiciel libre. Mais, depuis que j’ai quitté l’université, et jusqu’à ce que je commence à travailler chez Canonical, ma carrière professionnelle s’est déroulée dans l’industrie du logiciel propriétaire, d’abord comme développeuse puis comme testeuse.

Lorsque l’on travaille au sein d’un projet de logiciel propriétaire, les ressources pour tester sont très limitées. Une petite équipe reprend le travail initié par les développeurs avec les tests unitaires, utilisant leur expérience pour trouver autant de bogues que possible afin de mettre à disposition de l’utilisateur final un produit aussi abouti que possible. Dans le monde du logiciel libre, en revanche, tout est différent.

Lors de mon embauche chez Canonical, hormis la réalisation de mon rêve d’avoir un travail rémunéré au sein d’un projet de logiciel libre, j’ai été émerveillée par les possibilités des activités de test dans le cadre d’un tel projet. Le développement du produit s’effectue de manière ouverte, et les utilisateurs ont accès au logiciel dès son commencement, ils le testent et font des rapports de bogues dès que c’est nécessaire. C’est un nouveau monde rempli de beaucoup de possibilités pour une personne passionnée par les tests. Je voulais en profiter au maximum.

Comme beaucoup de personnes, je pensais que les tests « maison », c’est-à-dire l’utilisation par soi-même du logiciel que l’on envisage de mettre à disposition, était l’activité de test la plus importante qu’on puisse mener dans le logiciel libre. Mais si, selon la formule de Raymond dans La cathédrale et le bazar « avec suffisamment d’observateurs, tous les bogues sautent aux yeux », alors comment se fait-il qu’avec ses millions d’utilisateurs Ubuntu comporte encore des bogues sérieux à chaque nouvelle version ?

La première chose dont je me suis aperçue quand j’ai commencé à travailler chez Canonical c’est que les activités de test organisées étaient rares ou inexistantes. Les seules sessions de test qui étaient d’une certaine façon organisées se présentaient sous la forme de messages électroniques envoyés à une liste de diffusion, manière de battre le rappel pour tester un paquetage dans la version de développement d’Ubuntu. Je ne pense pas que cela puisse être considéré comme une vraie procédure de test, mais simplement comme une autre forme de « test maison ». Cette sorte de test génère beaucoup de doublons, car un bogue facile à débusquer sera documenté par des centaines de personnes. Malheureusement le bogue potentiellement critique, vraiment difficile à trouver, a de bonnes chances de passer inaperçu en raison du bruit créé par les autres bogues, et ce même si quelqu’un l’a documenté.

En progrès

La situation s’améliore-t-elle ? Sommes-nous devenus plus efficaces pour les tests au sein des projets de développement libre ? Oui, j’en suis convaincue.

Pendant les derniers cycles de développement d’Ubuntu, nous avons commencé bon nombre de sessions de test. La gamme des objectifs pour ces sessions est large, elle comprend des domaines comme de nouvelles fonctionnalités de bureau, des tests de régression, des tests de pilotes X.org ou des tests de matériel d’ordinateur portable. Les résultats sont toujours suivis et ils s’avèrent vraiment utiles pour les développeurs, car ils leur permettent de savoir si les nouveautés fonctionnent correctement, au lieu de supposer qu’elles fonctionnent correctement à cause de l’absence de bogues.

En ce qui concerne les outils d’assistance aux tests, beaucoup d’améliorations ont été apportées :

  • Apport(1) a contribué à augmenter le niveau de détail des bogues signalés concernant Ubuntu : les rapports de plantage incluent toutes les informations de débogage et leurs doublons sont débusqués puis marqués comme tels ; les utilisateurs peuvent signaler des bogues sur base de symptômes, etc.
  • Le Launchpad(2), avec ses connexions en amont, a permis d’avoir une vue complète des bogues – sachant que les bogues qui se produisent dans Ubuntu se situent généralement dans les projets en amont, et permet aux développeurs de savoir si les bogues sont en cours de résolution.
  • Firefox, grâce à son programme et à son extension Test Pilot, mène des tests sans qu’on ait à quitter le navigateur(3). C’est, à mon sens, une bien meilleure façon de rallier des testeurs qu’une liste de diffusion ou un canal IRC.
  • L’équipe Assurance Qualité d’Ubuntu teste le bureau en mode automatique et rend compte des résultats toutes les semaines(4), ce qui permet aux développeurs de vérifier très rapidement qu’il n’y a pas eu de régression majeure pendant le développement.

Cependant, malgré l’amélioration des tests dans les projets de logiciel libre il reste encore beaucoup à faire.

Pour aller plus loin

Les tests nécessitent une grande expertise, mais sont encore considérés au sein de la communauté du le logiciel libre comme une tâche ne demandant pas beaucoup d’efforts. L’une des raisons pourrait être que la manière dont on les réalise est vraiment dépassée et ne rend pas compte de la complexité croissante du monde du logiciel libre durant la dernière décennie. Comment est-il possible que, malgré la quantité d’innovations amenées par les communautés du logiciel libre, les tests soient encore réalisés comme dans les années 80 ? Il faut nous rendre à l’évidence, les scénarios de tests sont ennuyeux et vite obsolètes. Comment faire grandir une communauté de testeurs supposée trouver des bogues avérés si sa tâche principale est de mettre à jour les scénarios de test ?

Mais comment améliorer la procédure de test ? Bien sûr, nous ne pouvons pas nous débarrasser des scénarios de test, mais nous devons changer la façon dont nous les créons et les mettons à jour. Nos testeurs et nos utilisateurs sont intelligents, alors pourquoi créer des scripts pas-à-pas ? Ils pourraient aisément être remplacés par une procédure de test automatique. Définissons plutôt une liste de tâches que l’on réalise avec l’application, et certaines caractéristiques qu’elle devrait posséder. Par exemple, « l’ordre des raccourcis dans le lanceur doit pouvoir être modifié », ou « le démarrage de LibreOffice est rapide ». Les testeurs trouveront un moyen de le faire, et créeront des scénarios de test en parallèle des leurs.

Mais ce n’est pas suffisant, nous avons besoin de meilleurs outils pour aider les testeurs à savoir ce qu’ils testent, où et comment. Pourquoi ne pas avoir des API (interfaces de programmation) qui permettent aux développeurs d’envoyer des messages aux testeurs à propos des nouvelles fonctionnalités ou des mises à jour qui doivent être testées ? Pourquoi pas une application qui nous indique quelle partie du système doit être testée ? en fonction des tests en cours ? Dans le cas d’Ubuntu, nous avons les informations dans le Launchpad (il nous faudrait aussi des données sur les tests, mais au moins nous avons des données sur les bogues). Si je veux démarrer une session de test d’un composant en particulier j’apprécierais vraiment de savoir quelles zones n’ont pas encore été testées ainsi qu’une liste des cinq bogues comptant le plus de doublons pour cette version en particulier afin d’éviter de les documenter une fois de plus. J’aimerais avoir toutes ces informations sans avoir à quitter le bureau que je suis en train de tester. C’est quelque chose que Firefox a initié avec Test Pilot, bien qu’actuellement l’équipe rassemble principalement les données sur l’activité du navigateur.

La communication entre l’amont et l’aval et vice-versa doit aussi être améliorée. Pendant le développement d’une distribution, un bon nombre des versions amont sont également en cours de développement, et ont déjà une liste des bogues connus. Si je suis un testeur de Firefox sous Ubuntu, j’aimerais avoir une liste des bogues connus aussitôt que le nouveau paquet est poussé dans le dépôt. Cela pourrait se faire à l’aide d’une syntaxe reconnue pour les notes de versions, syntaxe qui pourrait ensuite être facilement analysée. Les rapports de bogue seraient automatiquement remplis et reliés aux bogues amont. Encore une fois, le testeur devrait avoir facilement accès à ces informations, sans quitter son environnement de travail habituel.

Les tests, s’ils étaient réalisés de cette manière, permettraient au testeur de se concentrer sur les choses qui comptent vraiment et font de la procédure de test une activité qualifiée ; se concentrer sur les bogues cachés qui n’ont pas encore été découverts, sur les configurations et environnements spéciaux, sur la création de nouvelles manières de casser le logiciel. Et, in fine, s’amuser en testant.

Récapitulons

Pour ce que j’en ai vu ces trois dernières années, les tests ont beaucoup progressé au sein d’Ubuntu et des autres projets de logiciels libres dans lesquels je suis plus ou moins impliquée, mais ce n’est pas suffisant. Si nous voulons vraiment améliorer la qualité du logiciel libre, nous devons commencer à investir dans les tests et innover dans la manière de les conduire, de la même façon que nous investissons dans le développement. Nous ne pouvons pas tester le logiciel du XXIe siècle avec les techniques du XXe siècle. Nous devons réagir. Qu’il soit open source ne suffit plus à prouver qu’un logiciel libre est de bonne qualité. Le logiciel libre sera bon parce qu’il est open source et de la meilleure qualité que nous puissions offrir.

1 http://wiki.ubuntu.com/Apport

2 http://launchpad.net

3 http://testpilot.mozillalabs.com

4 http://reports.qa.ubuntu.com/reports/desktop-testing/natty