Funkwhale, les défis d'une version libre et fédérée de Grooveshark

Funkwhale, les défis d’une version libre et fédérée de Grooveshark

La puissance de la funk

Avatar de l'auteur
Guénaël Pépin

Publié dans

Internet

26/07/2018 13 minutes
9

Funkwhale, les défis d'une version libre et fédérée de Grooveshark

Funkwhale compte remettre le streaming dans les mains des internautes, en leur donnant à la fois les outils pour mettre en ligne, partager et financer la musique. Un projet au long cours, dont seules les premières briques sont en place. Discussion avec sa fondatrice, Agate Berriot.

La fédération de serveurs fait des adeptes, dans bien des domaines. Début 2017, l'émergence du Fediverse, avec l'arrivée de Mastodon, a mis ce modèle sur le devant de la scène. Le mois dernier, nous discutions avec le concepteur de PixelFed, une alternative ouverte à Instagram.

Funkwhale compte adapter cette fédération à l'écoute de musique, sur le principe de feu Grooveshark, un service de musique gratuit où les internautes importaient leurs morceaux. Il a fermé à la mi-2015 après d'importants déboires avec les labels.

La fondatrice de Funkwhale, Agate Berriot, était particulièrement attachée à la découverte de musique, qu'elle estimait sans égale sur Grooveshark. En plein développement par une petite équipe, l'outil revendique son statut d'outil libre, laissant aux administrateurs la responsabilité de ce qu'ils mettent en ligne. Une instance ouverte, Open.audio, est apparue récemment.

Ses concepteurs ont tout de même leur idée pour financer la création, en évitant le modèle centralisé et « privateur » des services de streaming habituels, qui portent aujourd'hui le marché de la musique. Des plateformes qui les convainquent peu, tout comme les logiciels comme Plex, considérés comme trop peu sociaux.

Retrouver le partage de Grooveshark

Ancienne étudiante en librairie, Agate Berriot s'est formée au développement via le Site du zéro (OpenClassrooms), avant de créer des sites en freelance et de rejoindre une SCOP, décrivait-elle dans un entretien à Framasoft. Depuis octobre 2017, elle est développeuse chez PeopleDoc, un service de gestion RH en voie d'être racheté pour 300 millions de dollars.

« Le Fediverse a vraiment changé ma vie. J'ai trouvé mon travail actuel sur Mastodon et rencontré plein de gens » nous conte-t-elle. C'est cet aspect social, en plus de la découverte de musique, qui motive aujourd'hui le développement de Funkwhale.

De Grooveshark, elle retient la mise en avant des écoutes des autres internautes. Un système qui passait entre autres par des radios (broadcasts) tenus par des membres, aux listes de lecture collaboratives. « C'est important pour moi, et je n'ai pas trouvé d'équivalent en libre » justifie la développeuse, qui a attaqué la conception de son système en 2015.

Tout s'est accéléré ces six derniers mois, avec la révélation du projet sur Mastodon en janvier. Jusque-là, le développement était intermittent, avec des phases de plusieurs semaines sans y toucher. Depuis janvier, elle passerait entre quinze et vingt-cinq heures hebdomadaires, pour un total de 400 à 500 heures depuis les débuts.

Pour le moment, l'outil permet d'installer son propre serveur de musique libre, avec inscription d'utilisateurs et import de musique (directement sur le serveur, via l'interface web ou depuis YouTube). Pour les internautes, le service est encore simple, avec de l'écoute de musique, la mise en favoris, la création de listes de lecture et de radios (avec les morceaux d'un artiste ou genre par exemple). Certaines informations sont partagées, comme les playlists. La peinture est encore fraîche, Funkwhale fleurant encore le logiciel en développement.

Funkwhale

Une fédération à construire

Pour le moment, la fédération entre serveurs en est à ses balbutiements. Elle s'appuie bien sur le protocole ActivityPub, déjà derrière Mastodon, PeerTube, Pleroma ou Plume.

Un prototype de fédération des contenus est présent depuis avril. Le principe : chaque instance dispose de sa propre bibliothèque. Elle peut la partager avec les autres ou demander l'accès à ses homologues. Tout partage de catalogue entre deux instances est explicitement autorisé. Une fois un abonnement au catalogue validé, l'instance abonnée reçoit des notifications de nouveautés.

Les utilisateurs de l'instance abonnée voient l'ensemble du catalogue distant et peuvent les écouter en direct (avec un cache local de 24 heures). Toutes les métadonnées sont importées à l'abonnement. L'administrateur de l'instance peut, aussi, importer les titres qui l'intéressent.

Cette fédération est une demande des membres de Mastodon. Si ce n'était pas le but initial d'Agate Berriot, elle a rapidement suivi le mouvement. En un mois de développement, une première itération est sortie. Il reste beaucoup de travail. L'interconnexion des serveurs « doit être au cœur du système pour devenir pratique pour les utilisateurs », pense Berriot.

Bien des fonctions manquent, comme des discussions directes ou abonnements entre utilisateurs de différentes instances. Pour le moment, seul un profil public existe pour chaque membre, accessible aux utilisateurs du serveur. La prochaine étape est de permettre à l'utilisateur d'une instance de voir ce que celui d'une autre écoute. Par contre, l'équipe ne compte pas fédérer les statistiques d'écoutes, qui devraient rester propres à chaque instance.

Bien entendu, Funkwhale projette d'être compatible avec les autres services du Fediverse, des discussions ayant par exemple eu lieu avec Daniel Supernault de PixelFed.

ActivityPub, un monde en soi

La fédération via ActivityPub ajoute sa charge de travail. Selon Agate Berriot, le plus long serait de comprendre les concepts du système et de lire les implémentations existantes. Les ressources pour débuter manqueraient, et la documentation serait imprécise. Le concepteur de Mastodon s'est tout de même lancé dans une série de billets de blog pour démystifier ce travail.

La difficulté du projet dépend tout de même de l'intégration d'ActivityPub dans l'application. Berriot s'attend à ce que le plus dur soit devant elle.

À Framasoft, elle évoquait « des problèmes de tuyauterie ». « C'est tout ce qui ne fonctionne pas avec des projets existants, alors qu'on pense avoir lu la documentation et l'avoir implémenté correctement » nous détaille-t-elle. Ces problèmes comprennent l'authentification des messages entre instances, mise en place en suivant la méthodes des réseaux tiers.

« ActivityPub est-il une révolution technique ? Je ne sais pas. Mais il y a quand même une volonté d'apprendre des erreurs du passé, par exemple du protocole XMPP, jugé trop complexe » estime Berriot. Pour elle, le principal intérêt du protocole est de disposer d'une base d'utilisateurs déjà présents sur les réseaux compatibles, et la collaboration active avec les autres développeurs. Il n'y aurait pas (ou peu) de concurrence entre projets dans le Fediverse.

Pour les administrateurs, Funkwhale veut être simple d'installation et modulaire ; le serveur et l'interface étant explicitement séparés. Des paquets Docker et Yunohost sont proposés, même si le tout est encore en préversion. La documentation, elle, mériterait encore des précisions, admet le concepteur.

Le moins d'algorithmes possible

Des radios et suggestions seront proposées, selon les choix et données des utilisateurs. Pour autant, pas question de barder le logiciel de recommandations algorithmiques. Il n'est pas question de prendre l'empreinte d'un morceau pour trouver ceux similaires, par exemple.

« Dans les réseaux fédérés type Mastodon, beaucoup de gens sont fondamentalement opposés aux recommandations algorithmiques. L'idéal serait de réussir avec des recommandations purement humaines » résume la fondatrice du projet. Le cœur du modèle sera l'abonnement à d'autres membres aux goûts similaires, dont l'activité serait affichée s'ils le permettent. Les fiches artistes pourraient, aussi, contenir des recommandations selon ce qu'ont écouté les autres auditeurs.

Pour l'équipe, les algorithmes habituels donneraient trop d'importance à un nombre restreint d'artistes, sans transparence. Ils pourraient tout de même être utilisés dans des cas précis, comme des radios pointues ; même si ce n'est qu'une idée.

Une version stable dans quelques mois

Il y a quelques jours, la version 0.16 de Funkwhale est sortie, avec quelques nouvelles briques d'interconnexion des serveurs. La première version stable n'arrivera pas avant plusieurs mois et centaines d'heures de travail. Deux éléments seront nécessaires : la fédération au niveau des utilisateurs et des outils de modération.

Ces changements incluent des profils visibles entre instances, des commentaires ou (pourquoi pas) des fonctions comme des alertes en cas de nouveauté d'un artiste suivi.

Berriot réfléchit aussi à revoir la manière dont les morceaux sont mis en ligne. Actuellement, ils sont versés à un pot commun dans le serveur, sans lien avec l'utilisateur. Elle songe donc à créer des bibliothèques personnelles, pour chaque membre, accessible aux autres. Un modèle « à la SoundCloud » qui aiderait la modération, une brique importante à venir.

Funkwhale
Des radios thématiques sont au menu

Le défi de la modération

Avant d'intégrer plus profondément la fédération ou d'ouvrir les commentaires (par exemple sur les pages d'artistes ou d'albums), l'équipe tient à disposer d'outils de modération solides. Elle est échaudée par les remontrances dont Peertube (une alternative fédérée à YouTube) ferait l'objet à ce sujet. C'est l'objectif de l'été pour Agate Berriot.

Cette brique inclut « toutes les mécaniques qui permettent d'influer sur le contenu présenté, pour les utilisateurs et administrateurs ». Dans un premier temps, il est question du blocage d'un utilisateur ou de ceux d'une instance par chaque membre, ou du refus d'un serveur de fédérer avec un autre (avec un avis motivé).

Les contenus auront aussi droit à leurs outils, pour signaler des morceaux protégés par le droit d'auteur ou des propos injurieux. Le travail sera important mais nécessaire pour avoir l'esprit tranquille.

L'épineuse question du droit d'auteur

En proposant un outil multimédia ouvert, Funkwhale prend le risque d'être utilisé pour du piratage, voire ciblé par l'industrie culturelle comme l'est le gestionnaire Kodi (très apprécié des box TV à bas coût). « Sincèrement, c'est quelque chose qui m'a inquiétée très longtemps. C'est aussi pour ça que je n'ai pas parlé publiquement de Funkwhale avant très récemment » nous répond Berriot.

De grandes instances à la Grooveshark ou des communautés privées (comme feu What.cd) sont envisageables.

Sie lle n'a pas de moyen d'empêcher l'utilisation de Funkwhale pour du partage illicite, elle compte sur ses mécanismes de signalement et de modération pour responsabiliser les administrateurs de serveurs. De l'instance familiale (où chacun met sa musique achetée) au serveur public populaire, ils doivent avoir les moyens de contrôler les contenus.

« L'administrateur héberge les contenus. Nous, nous avons la responsabilité de fournir des outils de modération et de traitement de problèmes » estime la développeuse. Elle pense à des outils plus évolués, comme un système de liste noire d'instances, avec abonnement à la liste noire d'un autre serveur.

Elle espère aussi fournir plus de granularité dans le partage des catalogues entre instances. L'idéal serait de partager uniquement les morceaux sous licence libre, en conservant localement ceux protégés par le droit d'auteur. Funkwhale compte ajouter bientôt un champ dédié à la licence de chaque piste.

L'import depuis YouTube pourrait bientôt disparaître, de peur qu'il soit mal perçu une fois le projet connu.

Un pas vers les créateurs

Encore très tourné vers les auditeurs, Funkwhale veut s'étendre aux artistes, qui pourraient diffuser librement leurs créations sur la plateforme. En parallèle, elle espère trouver un moyen de les rémunérer sur un autre modèle que celui du streaming, uniquement fondé sur les écoutes, avec répartition de droits automatique, avec de nombreux intermédiaires et une dépossession de la musique.

L'idée : que le paiement ne soit pas préalable à l'accès à la musique. Les artistes mettraient sciemment en ligne leurs titres, avec en retour les outils pour que les internautes les financent.

Funkwhale
La page artiste actuelle

La solution envisagée par Berriot s'appuie sur les plateformes existantes (comme Patreon ou Tipeee). Tous les mois, les auditeurs de Funkwhale (ou d'un réseau comme Peertube) recevraient un bilan de leurs écoutes. Une application permettrait de lier ces artistes à leurs comptes sur les plateformes de paiement. Le tout à base de standard décentralisé.

L'internaute serait donc incité à payer les artistes écoutés, avec la possibilité d'automatiser ces rémunérations pour ceux qu'ils aiment vraiment. Ce système est censé pallier les problèmes actuels d'un Patreon, c'est-à-dire la difficulté d'accès aux profils de tous les artistes écoutés et l'évaluation du nombre d'écoutes pour l'internaute.

« L'idée est de ne pas se concentrer sur le paiement mais sur la mise en relation des créateurs, des plateformes qui hébergent le contenu et l'utilisateur » nous déclare Berriot. « Ce qui m'intéresse le plus, c'est d'inciter des créateurs à diffuser volontairement leurs contenus sous licences libres. Si en plus, on arrive à les soutenir, je serais très heureux. Après, que des personnes utilisent leur instance pour partager des contenus protégés, ça ne me fait ni chaud ni froid, c'est leur problème. »

Un développement tourné vers le libre

La conception de Funkwhale repose autant que possible sur des outils libres, en évitant les plateformes propriétaires. Pour le moment, cinq personnes contribuent régulièrement au projet, même si Berriot est le seul à toucher à tous ses aspects.

Cette réticence à rejoindre les services connus ralentit la croissance de Funkwhale. De GitHub, le code a migré vers une instance Gitlab dédiée. Pas de compte Twitter, la communication passe par Mastodon. Les communications internes transitent via un canal sur le (très lent) serveur principal de Riot. Un modèle qui pourrait changer pour un forum ou une mailing list, plus pratiques à consulter et archiver.

« Les projets qui deviennent hype du jour au lendemain, avec un afflux de personnes, peuvent devenir bien plus difficiles à gérer. Une des valeurs du projet est de s'appuyer au maximum sur des outils libres, même quand c'est difficile » justifie Agate Berriot. Pour le moment, peu d'utilisateurs contribueraient au projet. Les soucis concrets se posent pour la traduction, par exemple, qui demande une plateforme web dédiée.

Un hackaton physique a eu lieu il y a quelques jours, remontant beaucoup de problèmes d'ergonomie, via des entretiens menés par des spécialistes. 54 tickets ont été ouverts dans la foulée des nombreux retours d'utilisateurs.

« Funkwhale est un projet que j'ai lancé pour moi.  Des choses me paraissent logiques mais ne le sont pas pour d'autres. Par exemple, le bouton de lecture sur une piste l'ajoute à la suite de la lecture en cours, au lieu de la remplacer » reprend Berriot, satisfaite de cette expérience. Des pages importantes ont d'ores-et-déjà été revues dans la dernière mouture, avant d'autres révisions.

À terme, la fondatrice de Funkwhale espère pouvoir travailler à mi-temps ou plein temps sur son projet. Elle reçoit environ 40 euros par mois, de quoi contribuer au nom de domaine et aux serveurs. L'ensemble passe pour le moment par la plateforme de paiement ouverte Liberapay, qui connaît des problèmes avec son prestataire Mangopay. Berriot cherche donc une alternative, avant d'éventuellement faire de son hobby son futur travail.

Écrit par Guénaël Pépin

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Retrouver le partage de Grooveshark

Une fédération à construire

ActivityPub, un monde en soi

Le moins d'algorithmes possible

Une version stable dans quelques mois

Le défi de la modération

L'épineuse question du droit d'auteur

Un pas vers les créateurs

Un développement tourné vers le libre

next n'a pas de brief le week-end

Le Brief ne travaille pas le week-end.
C'est dur, mais c'est comme ça.
Allez donc dans une forêt lointaine,
Éloignez-vous de ce clavier pour une fois !

Fermer

Commentaires (9)


Finalement il aura pas fallut si longtemps que ça pour que des initiatives indépendantes se concrétisent, surtout lorsque l’on est dans l’ère du “data is the new dollar”.



C’est une position risquée de vouloir donner le contrôle à l’utilisateur tout en souhaitant éviter un maximum de passer par des algorithmes.



Après, comme il le dit lui même, c’est un projet lancé pour lui, il prend donc le risque que ça ne plaise pas à monsieur madame tout le monde, et c’est justement ce qui me plaît dans son approche, on voit là une recherche personnel, où l’aspect monétaire n’est pas l’épicentre ultime du projet, bien que pouvant être une question intéressante.


Pour une explication en Français des problèmes de liberapay, il y a eu un journal (contenu non modéré posté par un utilisateur du site) sur LinuxFr :https://linuxfr.org/users/zatalyz/journaux/possible-coupure-de-service-sur-liber…


Wow ! Joli pavé sur ce beau projet : merci !


+1, super article <img data-src=" />


très intéressant ! ça donne des envies de se lancer dans des projet de ce genre !


J’ai pas encore tout lu (bouh, c’est mal :o ) mais quelque chose me dit que dans tous les cas, la SACEM et équivalents vont vouloir une part de rémunération là-dessus :/


Merci Guénaël et l’équipe de nous faire connaître ce projet.

J’ai pour ma part hâte de partir de Subsonic dont les dernières versions ne sont plus open-source. Je m’en vais donc tester et voir si Funkwhale peut commencer à apporter des fonctionnalités de collaboration au moins, du même ordre :)








eltonio a écrit :



J’ai pour ma part hâte de partir de Subsonic dont les dernières versions ne sont plus open-source. Je m’en vais donc tester et voir si Funkwhale peut commencer à apporter des fonctionnalités de collaboration au moins, du même ordre :)





T’as airsonic sinon, libresonic n’est pour sa part plus maintenu.