Aller au contenu

diaspora*

Un article de Wikipédia, l'encyclopédie libre.

diaspora*
Description de l'image Diaspora logotype.svg.
Description de l'image Diaspora latest.png.
Informations
Développé par Contributeurs bénévoles
Première version Voir et modifier les données sur Wikidata
Dernière version 0.9.0.0 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/diaspora/diasporaVoir et modifier les données sur Wikidata
État du projet En développement
Écrit en Ruby on RailsVoir et modifier les données sur Wikidata
Type Réseau social distribuéVoir et modifier les données sur Wikidata
Politique de distribution Gratuit
Licence GNU Affero General Public LicenseVoir et modifier les données sur Wikidata
Site web diasporafoundation.orgVoir et modifier les données sur Wikidata

diaspora* (initialement typographié DIASPORA*) désigne à la fois une application web de réseautage social, et le réseau social distribué sur lequel repose cette application. Chaque utilisateur du réseau peut choisir de s'inscrire sur un des serveurs (appelés pods) diaspora* déjà existants ou de créer le sien. Ce serveur forme ainsi, avec l'ensemble des autres serveurs, la fédération diaspora*. Le logiciel permettant de faire fonctionner des serveurs est distribuée sous licence libre (AGPL).

Le réseau social n'est la propriété d'aucune personne unique ni d'entité unique, le préservant ainsi d'être sujet à rachat par une grande entreprise ou à de la publicité. Selon son développeur (2011) : "notre design sous forme de réseau distribué signifie qu'aucune grande enterprise ne contrôlera jamais Diaspora (« "our distributed design means no big corporation will ever control Diaspora. »[2]).

Les fondateurs de Diaspora. De gauche à droite : Max Salzberg, Dan Grippi, Raphael Sofaer et Ilya Zhitomirskiy.

Les développeurs à l'origine du projet — Dan Grippi, Max Salzberg, Raphael Sofaer et Ilya Zhitomirskiy[3] — se sont rencontrés au club informatique de l'Institut Courant des mathématiques de l’Université de New York où ils travaillaient sur un projet d'imprimante en 3D[4]. Ils ont indiqué avoir eu l'idée de créer diaspora* après une conférence d'Eben Moglen à l'Internet Society à New York en , décrivant les réseaux sociaux existants, centralisés et propriétaires, comme étant de l'« espionnage gratuit »[5].

Le projet est annoncé le sur le site web de levée de fonds Kickstarter[6]. Les promoteurs du projet annoncent vouloir rassembler 10 000 dollars pour accomplir leur projet. Cette somme est atteinte en seulement 12 jours. À la fin de la levée, le projet récolte un total de 200 641,84 dollars, ce qui en fait, à ce moment, la plus fructueuse levée de fonds sur Kickstarter[7]. Mark Zuckerberg, le fondateur de Facebook, a lui-même fait un don[8], qualifiant diaspora* d'« idée cool »[9].

La première version publique du code source du logiciel a été diffusée le 15 septembre 2010 (en version alpha), et le premier déploiement public initialement prévu pour octobre 2010[10],[11],[12], a été repoussé vers la fin 2012. La première version publique du réseau est lancée en octobre 2012 sous le numéro de version 0.0.1.0 (numérotation qui remplace les notations alpha et bêta utilisées auparavant)[13]. L'application connaît depuis des mises à jour régulières. Depuis la version 0.5.0.0, la communauté produit des mises à jour toutes les six semaines[14].

Le développement de diaspora* a eu le soutien de Pivotal Labs (en), une société spécialisée dans le domaine du développement d'applications sociales[15]. L'application est en effet développée pendant deux ans dans les bureaux de Pivotal à San Francisco[16].

En novembre 2016, le réseau compte plusieurs centaines de milliers d'utilisateurs répartis sur 342 pods. Framasphère et mondiaspora.net sont les pods francophones les plus importants de diaspora* avec, respectivement, 31 196 et 5 123 utilisateurs actifs[17].

Gouvernance

[modifier | modifier le code]

Dès le début en 2010, le projet est gouverné par les quatre fondateurs d'origine. Le 27 août 2012, les fondateurs annoncent sur le blog du projet l’arrêt de la gouvernance du projet par Diaspora Inc.[18] et le projet devient communautaire. Afin de gérer les droits la fondation diaspora* est créée, chapeautée par la FSSN (Free Software Support Network). Cette annonce n'est pas sans soulever quelques questions, certains se demandent si elle n'est pas un simple aveu d'échec de la part des créateurs du projet[19],[20].

Le projet a adopté la plateforme Loomio pour permettre un système démocratique de prise de décision[21].

Principe de fonctionnement

[modifier | modifier le code]

Chaque utilisateur dispose d'une « seed » (graine), correspondant à son profil et à une adresse URL. Chaque personne peut accéder à ce profil soit directement, auquel cas il accède uniquement aux informations publiques, soit en indiquant une clé d'ami (« friendly key ») qui permet d'obtenir plus d'informations que le profil public. Dans ce cas, les informations sont chiffrées en utilisant la clé publique de la personne interrogeant le système. Toute personne ne possédant pas la clé privée ne pourra donc pas lire le résultat de la requête[10].

Exemple :

Admettons que le profil de Sophie se trouve à l'adresse http://www.sophie.com/. Elle a autorisé Pierre à être son ami. Pour cela, il a dû fournir sa clé publique OpenPGP au système, qui lui a fourni la clé d'ami 6389 en échange. Il peut accéder au profil public de Sophie à l'adresse http://www.sophie.com/, mais il obtiendra plus d'informations, étant un ami, à l'adresse http://www.sophie.com/6389. Il verra par exemple les photos que Sophie est prête à montrer à ses amis à l'adresse http://www.sophie.com/6389/photos. Les informations en réponse à la requête de Pierre sont chiffrées par GPG en utilisant la clé publique de Pierre, et donc lui seul pourra les déchiffrer à l'aide de sa clé privée.

Les quatre créateurs envisagent de proposer[Passage à actualiser] des serveurs sous diaspora* permettant d'héberger des profils, de manière analogue à ce que fait Wordpress pour les blogs, ce qui permettra aux personnes n'ayant pas la possibilité d'installer leur propre instance de diaspora* sur un serveur de créer malgré tout un compte.

Objectifs techniques & fonctionnalités

[modifier | modifier le code]
Copie d'écran d'une version alpha de diaspora*

Le projet diaspora* a indiqué dès 2010 le plan de développement permettant de connaître les objectifs et notamment les futures fonctionnalités du logiciel[10],[22] :

Première distribution (15 septembre 2010)

[modifier | modifier le code]
Copie d'écran de la version finale de la première release de diaspora*

Seconde distribution

[modifier | modifier le code]

Il n'existe pas de date programmée pour cette seconde version, mais elle devrait comprendre :

  • Des modules permettant de partager plus de données. La structure modulaire de diaspora* doit permettre de l'étendre facilement et de l'ouvrir à différents modèles de communication et de partage d'information entre utilisateurs. L'écriture de modules permettant des communications très diversifiées est donc une étape importante dans la construction du système.
  • La constitution d'un réseau de développeurs pour le logiciel.
  • Une simplification de l'installation et de la configuration d'une nouvelle instance de diaspora*.

Au-delà de la deuxième distribution

[modifier | modifier le code]

Par la suite, plusieurs autres évolutions sont envisagées :

  • Utilisation du système de fichiers décentralisé Tahoe-LAFS (en).
  • Utilisation de XMPP, un protocole réseau pour faire communiquer des systèmes décentralisés, actuellement utilisé essentiellement par des systèmes de messagerie instantanée.
  • Utilisation de VoIP pour une communication par la voix sur internet.
  • Transmission de données en peer-to-peer par BitTorrent.
  • Amélioration de l'anonymat des utilisateurs en utilisant le réseau Tor.
  • Mise en place d'un provider OpenID Connect spécifique.
  • Le support d'ActivityPub, permettant des partages de contenus sur les réseaux sociaux décentralisés, a été discuté[23]. La discussion a été fermée en mentionnant qu'ActivityPub ne serait pas pris en charge[24].

Technologie

[modifier | modifier le code]

diaspora* est écrit en Ruby. Il utilise notamment le framework Ruby on Rails. La persistance des données fut un temps assuré par MongoDB, puis le projet a migré pour supporter MySql, MariaDB et PostgreSQL.

Le chiffrement des données échangées entre les utilisateurs est assuré par GNU Privacy Guard (GPG).

Des API pour interagir avec Facebook, Tumblr, Twitter et Wordpress sont fournies.

diaspora* utilise le protocole Ostatus, permettant de standardiser les communications entre des sites web se mettant mutuellement à jour[15].

[modifier | modifier le code]

Certains composants de diaspora* comme Rails et JQuery sont sujets à la licence MIT/X11. Le code spécifique au projet est distribué sous la licence AGPL v3[25].

Avant la reprise en main du projet par la communauté, les contributeurs externes se voyaient demander de signer un contrat[26] avec la société Diaspora Inc. leur fournissant la copropriété de ces contributions. Elle seule avait donc la possibilité de redistribuer le logiciel sous une autre licence.

Notes et références

[modifier | modifier le code]
  1. « https://github.com/diaspora/diaspora/releases/tag/v0.9.0.0 »
  2. (en) « Diaspora* - Diaspora* means a brighter future for all of us », sur archive.org (consulté le ).
  3. Jim Dwyer, « Four Nerds and a Cry to Arms Against Facebook », sur nytimes.com, (consulté le )
  4. « Rencontre des fondateurs à la faculté », FR, Le Figaro.
  5. Eben Moglen, « ISOC-NY Event: Eben Moglen ‘Freedom in the Cloud’ – 2/5/2010 », sur isoc-ny.org, (consulté le ).
  6. « Decentralize the web with Diaspora », sur kickstarter.com, (consulté le ).
  7. « Liste des projets les plus financés », sur kickstarter.com (consulté le ).
  8. « Profil de Mark Zuckerberg sur Kickstarter », sur kickstarter.com, (consulté le ).
  9. Ryan Singel, « Mark Zuckerberg: I Donated to Open Source, Facebook Competitor », sur wired.com, (consulté le ).
  10. a b et c « Diaspora* – an open-source, privacy-aware, personally controlled do-it-all web server », sur joindiaspora.com (consulté le ).
  11. « An Overdue Update », sur joindiaspora.com (consulté le ).
  12. « October Update », sur joindiaspora.com (consulté le ).
  13. "Diaspora 0.0.1.0 Released!". The Diaspora Project. Page consultée le 17 mai 2013.
  14. (en) « Fixed schedule for bugfix releases »
  15. a et b Marshall Kirkpatrick, « Only Burning Man Stands Between Diaspora, the Open Source Facebook, and Its Public Launch », sur readwriteweb.com, (consulté le )
  16. (en) « Why You Should Never Use MongoDB », "As a result of their Kickstarter success, the guys left school and came out to San Francisco to start writing code. They ended up in my office. I was working at Pivotal Labs at the time, and one of the guys’ older brothers also worked there, so Pivotal offered them free desk space, internet, and, of course, access to the beer fridge. I worked with official clients during the day, then hung out with them after work and contributed code on weekends." Sarah Mei, employée chez Pivotal et contributrice entre septembre 2010 et février 2012.
  17. (en) « the federation - a statistics hub » (consulté le )
  18. Announcement: Diaspora* Will Now Be A Community Project  ; The Diaspora project ;  ; (article en ligne)
  19. Diaspora* s’ouvre (ou est abandonné ?) à la communauté  ; Philippe Scoffoni ;  ; (article en ligne)
  20. Diaspora est mort  ; Geektionnerd ;  ; (article en ligne)
  21. « diaspora* celebrates one year as a community project », sur blog.diasporafoundation.org, (consulté le )
  22. « Diaspora*: the project », sur joindiaspora.com (consulté le )
  23. « Framatube : fédération et design de PeerTube », sur framablog
  24. (en) « Support ActivityPub · Issue #7422 · diaspora/diaspora », sur GitHub (consulté le ).
  25. « Note de copyright du projet », sur github.com (consulté le )
  26. « Diaspora, or: How to Kill Your "Facebook Killer" Open Source Project Before It Even Launches », sur jarinheit.posterous.com (consulté le )

Sur les autres projets Wikimedia :

Articles connexes

[modifier | modifier le code]

Liens externes

[modifier | modifier le code]