• # GPL-like vs BSD-like

    Posté par . En réponse à la dépêche ESR : «Nous n'avons plus besoin de la GPL.». Évalué à 10.

    Attention, ceci n'est pas (comme le titre pourrait l'indiquer) une tentative de troll, mais une tentative de discussion sérieuse sur le sujet. Quel est l'intérêt d'une licence de type GPL sur une licence de type BSD?

    Une licence BSD permet à tout le monde de récupérer le code, et d'en fair ce que l'on veut. Une licence GPL impose des restrictions, forçant au code GPL de le rester. Quelle est l'influence de ces restrictions (accusée de limiter la liberté du code GPL par les pro-BSD, et de garantir celle-ci par les pro-GPL) ?

    Ces restriction permettent d'ajouter une valeur, un "prix" au code GPL. Le code BSD est véritablement gratuit: je le prends, j'en fait ce que je veux. Le code GPL n'est pas gratuit. Il y a un prix à payer pour l'utiliser, et c'est ce que certaines entreprises qui abusent du GPL n'ont pas compris, même si ce prix n'est pas monétaire: on est tenu de donner en échange le code que l'on aura construit autour*. Ce point est fondamental dans la philosophe du GPL, et ce qui fait sa véritable différence.

    Cette philosophie est basée sur la philosophie de la recherche scientifique (je ne parle pas de recherche "technologique", qui est plutôt basée sur les notion de brevets, de secrets ultra-confidentiels, etc... qui seraient plutôt l'apanage des licences propriétaires). Tout résultat scientifique se doit d'être publié (et ne possède pas de valeur tant que non publié). Tout le monde à le droit (et est encouragé) à utiliser ces connaissances pour en tirer de nouveaux résultats afin de les publier à leur tour (et donc les rendre accessibles).
    C'est un peu le principe du pot commun. Tout le monde à le droit de prendre librement ce qu'il y a dans le pot commun, mais est tenu de l'y remmettre après usage, et de placer dans ce pot commun ce que l'on en aura tiré.

    En voici les conséquences directes:
    1- Un système de code GPL est un système ouvert, dont le mode de fonctionnement implique un flux entrant d'information (code nouveau) tant qu'il est utilisé**, et limite le flux sortant d'information (sortie de code du "pot commun")
    2- Un système de code BSD est un système ouvert permettant un flux entrant d'information, mais ne l'encourageant pas, et ne limitant pas les flux sortants.
    3- Un système de code propriétaire est un système soit fermé, soit ouvert en acceptant à la rigueur un flux entrant d'information (à partir, par exemple, d'un système de code BSD).
    Un système de code GPL va donc avoir tendance à grossir et évoluer de manière naturelle alors que les systèmes de type BSD et propriétaire vont nécessiter un mécanisme actif permettant de garantir un flux entrant d'information (et ceci explique a priori le succès des licences GPL). Par contre, les flux d'informations pouvant exister à sens unique entre un système de type BSD et un sytème propriétaire, les systèmes BSD ne peuvent exister de manière stable et efficace face au propriétaire.

    Donc je dirais que _oui_, on a encore (et plus que jamais) besoin du GPL.

    Que pensez vous de cette analyse ?


    * oui, je simplifie un peu en passant rapidement sur la notion de "code construit autour du GPL", mais la signification précise de ce point est un autre débat
    ** Quand je parle d'utiliser le code, j'entends l'utiliser en tant que programmeur, pas l'utiliser en tant qu'utilisateur de logiciel.