• [^] # Re: Obsolète

    Posté par . En réponse à la dépêche FreeBSD 13.0. Évalué à 9.

    En parlant de binaire, je pensais à programme... Je le prenais comme synonyme. Donc les bibliothèques et les programmes, ce sont deux choses différentes au sens de la GPL

    Non la GPL ne fait aucune distinction entre la notion de programme et la notion de bibliothèque. Et c'est d'ailleurs une très bonne chose parce que ça prend trente seconde d'exposer une fonction d'un programme sous forme d'export linkable. La GPLv2 avait bien anticipé ce soucis et avait une définition assez large de la notion de dépendance à un logiciel GPL.

    Mais tout programme est potentiellement une bibliothèque, et c'est bien là le soucis principal contre lequel la GPLv3 essaye de lutter, parce que un des déclencheurs de l'obligation de distribution de code est la notion de distribution du programme.

    En GPLv2 si un programme est distribué, il faut que le source le soit aussi. Certaines boites se sont infiltrées dans la brèche pour dire qu'ils ne distribuaient pas le binaire.
    Par exemple à la sauce Tivo qui disait que le boitier restait leur propriété - y compris le logiciel inclus dedans.
    Ou encore Free qui ont utilisé la sauce Tivo au début - mais qui se sont rabattu sur une méthode "on donne le code des modifs qui permet de charger des contenus binaires qu'on ne donne pas, et de toute façon si vous modifiez votre box on vous résilie votre accès"

    Bref les libertés fondamentales ne sont pas respectées.

    La GPLv3 a été crée en réaction épidermique a ces éléments. Et malgré une adoption massive a complètement échoué à rendre les libertés fondamentales aux utilisateurs.

    Pas mal d'opérateurs, fournisseurs de contenus et opérateurs cloud ont adoptés une méthode en trois temps :

    1- Faire des modifs sur le binaire GPL pour qu'il puisse recevoir et envoyer des commandes via un bus entreprise. On garde ce binaire non seulement logiquement, mais également physiquement dans les locaux de la société.
    2- Faire un logiciel de bus société proprio, qui ne se lie pas vraiment à un programme GPL spécifique et qui tient debout tout seul même si il n'y a pas de logiciels GPL dans la boucle.
    3- Faire une box, un service, une infra etc. qui passe par le bus société pour faire quoi que ce soit.

    La GPLv3 est respectée, rien n'est distribué à l'utilisateur, le code source modifié reste fermé, 0 liberté utilisateur au final.

    Et quand je dis bus entreprise, ca peut juste être un proxy qui reçoit des commandes REST et qui les retranscrit en mode 1 pour 1 dans un PTY. Ca marche très bien.

    Donc les vraiment grosses boites, assez grosse pour avoir les moyens de bien compartimenter leurs devs, peuvent abuser de la GPLv3 sans soucis. La méthode est connue et largement publicisée (pas en ces termes là bien sur) pas de grande marques de cloud pas encore souverain.

    Par contre les petites et moyennes boites vivent dans la crainte d'un dev qui fait un import (via npm, cargo, pip etc.) d'un truc en GPL et qui les oblige dans 6 mois, 8 mois un an à se prendre une volée de bois vert si ils ne libèrent pas le code. Code qu'ils ne peuvent absolument pas libérer pour des raisons contractuelles le plus souvent (il a été écrit avec les specs et les études d'un client, donc techniquement il ne leur appartient pas).

    Bref tout programme est potentiellement une bibliothèque et c'est de plus en plus simple de faire la transformation. La GPLv3 a échoué à bloquer ce qu'elle voulait bloquer et les grosses boites rigolent presque autant devant les protections de GPLv3 que les pirates du dimanche devant la HADOPI.