Edito vidéo – Des tweets open source, mais pas libres

closeCet article a été publié il y a 8 ans 5 mois 29 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.


 

Transcription du texte de la vidéo

Bonjour à toutes et à tous et bienvenue pour cet édito du 7 septembre 2012. Je vais donc rependre le rythme de l’édito vidéo hebdomadaire en vous parlant de Twitter et de l’open source. A priori, ce sont deux choses que l’on n’aurait pas tendance à associer.

Twitter est un réseau social centralisé, c’est-à-dire hébergé par une unique société au sein de ses propres datacenters. Il n’est pas possible d’installer l’équivalent de ce service sur son propre serveur ou encore dans son entreprise. Et pourtant, le code de l’application Twitter s’appuie sur du code open source. Comment expliquer cette contradiction ?

Twitter utilise deux types  de briques open source. Tout d’abord, celles qui permettent à ses serveurs de fonctionner comme le noyau Linux ou encore la base de données MySQL. Twitter maintient d’ailleurs sa propre version de MySQL et reverse des contributions au projet MySQL aujourd’hui géré par ORACLETwitter est également membre depuis cet été de la Fondation Linux.

Ensuite, il y a les composants logiciels sur lesquels va s’appuyer le code de Twitter comme le framework Hadoop qui est un projet géré par la fondation Apache et qui est spécialisé dans la gestion des gros volumes de données.

La plupart des composants open source utilisés par Twitter sont disponibles sous une licence Apache 2 qui autorise l’utilisation de ces composants dans des programmes qui eux-mêmes ne sont pas open source. Ce sont les licences dites permissives.

On voit ici que open source ne rime pas toujours avec logiciel libre et que parfois même on aboutit à une forme de paradoxe où les logiciels open source sous licence permissive permettent de construire des services web que l’on peut qualifier de « non libre » ou « privateurs » car il prive l’utilisateur de la maîtrise de ses données. Le durcissement des conditions d’accès à l’API de Twitter ne va pas hélas dans le sens de l’ouverture. Il en va de même pour bien des services du web2.0.

Tout cela pour illustrer le fait que les termes open source et logiciel libre ne recouvrent pas la même finalité. Le premier se concentre sur l’ouverture du code alors que le second a pour objectif de construire une informatique censée libérer l’utilisateur. Faut-il pour autant rejeter l’open source ? Pas forcément, sa plus large adoption comme modèle de développement a permis la naissance de nombreux composants fiables et matures qui sont aujourd’hui disponibles pour construire des applications vraiment libres pour ceux qui le souhaiteraient.

On se retrouve pour un prochain édito semaine prochaine. En attendant portez-vous bien et à très bientôt.

Philippe Scoffoni

Je barbote dans la mare informatique depuis 30 ans (premier ordinateur à 16 ans, un ORIC ATMOS) et je travaille à mon compte au travers de ma société Open-DSI. J'accompagne les associations, TPE et PME dans leurs choix et dans la mise en oeuvre se solutions informatiques libres.

7 réponses

  1. inalgnu dit :

    … » car il prive l’utilisateur de la maitrise de ses données »… Cette phrase m’a interpelé, et donc j’aimerai réagir.
    Twitter ne prive pas les utilisateurs de le ma maitrise de leurs données. Mais plutôt les développeurs qui utilisent l’API, et ce sont deux choses différentes.
    Même si Twitter été sous licence GPL le faite de l’installer sur une machine centralisée, et d’en faire un service web, donne les mêmes droits à Twitter, c’est à dire de priver ou pas les développeurs de l’utilisation de l’API. Utiliser un service web, ne prive de rien ! du moment qu’on peut à tout moment effacer, récupérer, modifier, ou accéder à ses données…

    La seule différence si c’était un logiciel libre, on pourrait à notre tour installer une copie de Twitter sur une autre machine et autoriser ou non certaines choses de l’API.

    Ce qu’il faut noter c’est que contrairement aux logiciels privateurs qu’on installe sur « nos » machines, le service web comme Twitter ne nous prive de rien en tant qu’utilisateur (du moment que l’on soit d’accord que nos Tweets soient diffusés à tout le monde et que l’on a rien à cacher, pas de données personnelles contrairement à Facebook à titre d’exemple).

    Cela dit, un service décentralisé et libre est toujours préférable est souhaitable pour ce genre de service. Car ça nous permet d’en faire l’usage que l’on souhaite, de l’installer sur la machine que l’on veut et d’avoir un contrôle (de développeur) sur l’évolution du logiciel.

  2. Philippe dit :

    Salut Inal,
    >Utiliser un service web, ne prive de rien ! du moment qu’on peut à tout moment effacer, récupérer, modifier, ou accéder à ses données…
    Ben justement dans le cas de Twitter en tant qu’utilisateur non développeur, si je ne peux plus utiliser d’outils tiers (fait par des développeurs) pour accéder à mes données, ma liberté est bien réduite non ?
    De plus à ce jour j’avoue que je serais bien incapables de récupérer mes 6000 tweets. Ils ont ajoutés une fonction d’export ? On peut récupérer le liste des ces abonnés ou abonnements ? Je ne pense pas.
    Après effectivement personnellement je me fiche de ce qui est dans Twitter car ce n’est qu’une copie de mon compte StatusNet qui lui est installé sur mon serveur personnel. Mais je suis une exception face à la quasi-majorité des utilisateurs.

  3. inalgnu dit :

    Ce que je voulais dire, c’est que même si identi.ca qui est un service web basé sur statusNet, son équipe qui l’héberge décide demain de limiter l’API pour des raisons quelconque. Le faite qu’il soit libre ne les empêche pas de faire ça… donc c’est plutôt le modèle centralisé qui pose problème et non pas le faite que Twitter ne soit pas un logiciel libre.

    Sinon pour répondre à ta question peut-on récupérer abonnement, abonnés et tweet oui et ça tout les logiciels de desktop de microblogging genre « Hotot » le font. Et c’est très simple via l’API. https://dev.twitter.com/docs/api/1

    Les limitations se font surtout au niveau des ressources, comme par exemple pour les services qui font appel à Twitter pour proposer d’autres services basés sur Twitter et qui font 1million de requête par minute.

  4. Philippe dit :

    La grosse différence quand même avec un service web basé sur un logiciel libre c’est que si celui qui l’héberge décide de te fermer l’accès à des fonctions, il ne risque qu’une chose, voir son service « forké ». Donc il y a peu de chance que cela arrive et dans les faits,je n’en connaisse pas qui ait fait cela.
    Hotot, j’ai essayé de l’installer sur ma Debian Wheezy, mais bon j’ai vite jeté l’éponge lors d’une tentative de compilation 🙂
    Concernant Twitter, admettons que je n’ai pas pris le meilleur exemple, c’est un service web encore relativement ouvert au travers de son API, mais les derniers changement de cap à son sujet vont faire le ménage dans les services qui s’étaient développés autour. Mais bon c’est du businnes, tant pis pour les utilisateurs qui en seront privés.

    Quel est alors ton point de vue vis à vis de Facebook ? Car ils sont dans le même cas que Twitter, ils utilisent pas mal d’open source et encore une fois ne sont pas un modèle dans le domaine de la défense des libertés informatique des utilisateurs, à mon avis…

  5. david96 dit :

    Je partage à 100% l’avis de Philippe.

    Je ne peux rajouter d’autres arguments.
    Pour être simple : si le logiciel, site, etc. propriétaire de son œuvre décide d’arrêter ou de changer de politique, l’utilisateur n’a que deux choix, soit l’accepter, soit chercher ailleurs.
    Au niveau libres, c’est totalement différent, tout le monde peut reprendre le projet… Et ces derniers temps on en a eu de nombreux exemples 😉

  6. inalgnu dit :

    @Phillipe : Utiliser de l’opensource, ne t’empêche pas de proposer des services web et ne pas donner le code source. se baser sur des outils opensource ne t’engage à rien du moment que les serveurs sont chez toi ! Une fois que tu vends ou distribue ces services en tant que qu’application sur les machines des utilisateurs, que t’es obligé de leur donner le code source, suivant les licences des logiciels que tu utilises.
    J’ai répondu par billet sur mon blog : http://www.inalgnu.com/service-web-et-logiciel-libre/

  7. Philippe dit :

    >on est tous d’accord pour dire que l’idéal serait de pouvoir installer sa propre copie de ces services web pour bénéficier d’un contrôle “total” sur le logiciel, son évolution, le tout dans une ambiance décentralisée
    Oui là dessus on est d’accord 😉