Forum général.général Comment forker un projet (bonne conduite)

Posté par (page perso) . Licence CC by-sa
Tags : aucun
9
30
juin
2016

Bonjour,

  • J'ai updaté le code d'un projet.
  • J'ai fait des pull request à l'auteur.
  • J'ai essayé de contacter l'auteur.

N'ayant jamais eu de réponses, je souhaite faire évoluer le code dans un fork.

Y a-t-il des règles de bonnes conduites pour les forks ?
Le fait que l'original soit en GPLv2 m'autorise-t-il à passer en WTFPL ?

Bref, amis libristes si tu as des idées, je suis preneur.

Merci.

  • # Go to the fork !

    Posté par (page perso) . Évalué à 6. Dernière modification le 30/06/16 à 14:41.

    Si tu n'as pas eu de réponses dans un délai raisonnable, alors je pense que tu as agis correctement vis-à-vis de l'auteur. Bon, il faut quand même un délai raisonnable (pas 5min quoi !). Cela reste totalement subjectif, mais si au bout d'un mois tu n'as pas eu de news, alors déjà, pour moi, il n'y a aucun soucis à forker (mais c'est une appréciation personnelle).

    En bonne conduite, voici différent points que je vois :
    - bien préciser qu'il s'agit d'un fork ;
    - avoir un nom différent du projet initial (pour lever toute ambiguïté) ;
    - si l'auteur originale se réveille, lui répondre poliment (sauf s'il est agressif dès le premier contact).

    Pour le changement de licence, non, tu ne peux pas, dans la mesure où tu n'es pas le détenteur des droits (même si la licence est compatible avec la GPL, ce qui n'est pas le cas de toute façon ici).

    • [^] # Re: Go to the fork !

      Posté par . Évalué à 5.

      Si tu n'as pas eu de réponses dans un délai raisonnable, alors je pense que tu as agis correctement vis-à-vis de l'auteur. Bon, il faut quand même un délai raisonnable (pas 5min quoi !). Cela reste totalement subjectif, mais si au bout d'un mois tu n'as pas eu de news, alors déjà, pour moi, il n'y a aucun soucis à forker (mais c'est une appréciation personnelle).

      le plus simple etant de voir la vie du projet initial :
      s'il ne s'est rien passé sur le projet depuis 6 mois, il est fort probable que le projet soit endormi, de meme que le developpeur principal,
      s'il y a eu des nouveautés, des mises à jours la semaine derniere, il est probable que le developpeur soit simplement hors connexion (en vacances, si si, il parait que c'est possible)

      • [^] # Re: Go to the fork !

        Posté par (page perso) . Évalué à 1.

        Pas de commits depuis juillet 2015.
        Lors de mon premier PR en novembre, l'auteur a demandé de le scinder en plus petits PRs (ce que j'ai effectué) et depuis plus de nouvelles (y compris par mail).

        • [^] # Re: Go to the fork !

          Posté par (page perso) . Évalué à 3.

          1 an sans nouvelles me parait être un délai raisonnable pour forker. On ne pourra pas dire que tu fais cela de manière hostile.

    • [^] # Re: Go to the fork !

      Posté par (page perso) . Évalué à 1.

      WTFPL est compatible avec la GPL ce qui signifie qu'on peut le mélanger avec un code en GPL et le résultat est en GPL. Par contre c'est vrai qu'on ne peut pas relicencier un travail en GPL sous une autre licence.

  • # Pull request ?

    Posté par (page perso) . Évalué à 1.

    Bonjour,

    je pense que faire des pull request sans avoir un vrai contact avec l'auteur n'est pas forcément très pertinent. Ce qui va déterminer si l'auteur accepte tes contributions, c'est s'il les juge utiles pour le projet initial, et le seul moyen de faire cela et d'en parler avec lui.

    Je connais peu de développeurs/mainteneurs de logiciels libres qui soient totalement injoignable. Créer un fork est potentiellement intéressant, mais cela va te créer du travail supplémentaire en terme de maintenance (git est fait pour ça en fait, si tu veux merger a posteriori tout en conservant ta fonctionnalité dans une branche locale au fil des évolutions du soft initial).

    Est-ce que tu es bien certain que l'ajout d'une simple fonctionnalité justifie un fork du projet initial ? Cela serait vrai si tu avais une vision à long terme pour ce projet et que l'auteur ne veut plus/ne peut plus s'en occuper. Autrement tu peux, comme je le disais, garder une branche spéciale du projet initial et merger les mises à jour régulièrement.

    Si le projet initial est GPLv2, tout ce que tu peux faire c'est licencier sous GPLv2 je crois, éventuellement si tu te sers uniquement des interfaces du projet initial, tu peux créer un module qui change de licence par rapport au soft principal (mais pas expert sur la question donc à prendre avec des pincettes).

    • [^] # Re: Pull request ?

      Posté par (page perso) . Évalué à 2.

      je pense que faire des pull request sans avoir un vrai contact avec l'auteur n'est pas forcément très pertinent. Ce qui va déterminer si l'auteur accepte tes contributions, c'est s'il les juge utiles pour le projet initial, et le seul moyen de faire cela et d'en parler avec lui.

      C'est juste (ce n'est pas son prénom), pour cela faut-il que l'auteur réponde aux emails.

      Est-ce que tu es bien certain que l'ajout d'une simple fonctionnalité justifie un fork du projet initial ? Cela serait vrai si tu avais une vision à long terme pour ce projet et que l'auteur ne veut plus/ne peut plus s'en occuper. Autrement tu peux, comme je le disais, garder une branche spéciale du projet initial et merger les mises à jour régulièrement.

      Au départ, il ne s'agissait que d'une petite fonctionnalité, puis à force d'utiliser, on se rend compte qu'il manque toujours un peu plus :)

      Si le projet initial est GPLv2, tout ce que tu peux faire c'est licencier sous GPLv2 je crois, éventuellement si tu te sers uniquement des interfaces du projet initial, tu peux créer un module qui change de licence par rapport au soft principal (mais pas expert sur la question donc à prendre avec des pincettes).

      Bon je vais garder cette GPLv2, mais indiquer que mes changements je les publie sous WTFPL.

      En tout cas merci à tous pour vos réponses.

      • [^] # Re: Pull request ?

        Posté par (page perso) . Évalué à 4.

        Bon je vais garder cette GPLv2, mais indiquer que mes changements je les publie sous WTFPL.

        Sauf que la GPL ne te permet pas de le faire. Tu es obligé ici de conserver la GPL, même pour tes modifications.

        • [^] # Re: Pull request ?

          Posté par (page perso) . Évalué à 1.

          Autant la GPLv[0-9] a certainement contribué au libre, autant maintenant je la trouve collante (limite pire qu'une mamie qui fait le grand écart sans culotte) et limitante (non je n'ai pas inversé le premier l et le m).

          J'ai le droit de le dire c'est vendretroll.

          • [^] # Re: Pull request ?

            Posté par . Évalué à 5.

            C'est son job d'être collante, la GPL c'est le gluon du libre, sans ça on aurais dérivés depuis longtemps vers un libre freemium.

        • [^] # Re: Pull request ?

          Posté par . Évalué à 1.

          La WTFPL est compatible avec la GPL
          https://www.gnu.org/licenses/license-list.fr.html#WTFPL

          • [^] # Re: Pull request ?

            Posté par (page perso) . Évalué à 5.

            La WTFPL est compatible avec la GPL

            Ce n'est pas parce que la WTFPL est compatible avec la GPL qu'il peut se soustraire à la licence initiale et la remplacer.

            Etre compatible, ça veut dire que deux briques logicielles, avec des licences différentes, peuvent être utilisées ensemble.

            Le seul cas que je vois où il pourrait effectivement rendre disponible sa contribution sous WTFPL est s'il faisait un module venant s'incorporer au projet. Or là, il parle de modifications.

          • [^] # Re: Pull request ?

            Posté par . Évalué à 4. Dernière modification le 01/07/16 à 13:07.

            Non, ça n'a rien à voir.

            Même si elle est compatible avec la GPL, le code résultant doit être distribué sous license GPL (source).

            License compatible GPL: GPL + WTFPL => GPL
            License incompatible : GPL + AGPL => AGPL (et surtout pas GPL)

            Pour résumer, tes patch peuvent être publiés sous license WTFPL mais le résultat patché devra être publié sous license GPL.

            [edit] grillé par Francesco

        • [^] # Re: Pull request ?

          Posté par . Évalué à 2.

          Sauf que la GPL ne te permet pas de le faire. Tu es obligé ici de conserver la GPL, même pour tes modifications.

          Il peut toujours mettre son code en double licence. Comme ça, quelqu'un qui ne reprend qu'un bout de son code (sans les bouts sous GPL) peut le faire au choix sous les conditions de la GPL ou de la WTFPL.

          • [^] # Re: Pull request ?

            Posté par (page perso) . Évalué à 3.

            Il peut toujours mettre son code en double licence. Comme ça, quelqu'un qui ne reprend qu'un bout de son code (sans les bouts sous GPL) peut le faire au choix sous les conditions de la GPL ou de la WTFPL.

            En théorie, tu as raison. En pratique, ce n'est pas toujours aussi évident.

            S'il s'agit d'un module, c'est assez facile de le faire, puisque en théorie, le module ne se base que sur une API et ne contiendra pas de code du projet original (et encore, utiliser une API du projet initiale est-ce utiliser du code du projet initiale ? Par exemple, en C, il faut inclure un fichier header en .h, et donc importer du code sous GPL).

            Si c'est un fork (comme ici), les modifications peuvent être éparpillées partout. Pas grave, on fait un diff pour générer un patch et on diffuse le patch en WTFPL. Sauf que… le patch ne devra contenir aucun code du projet initial, et aucune ligne qui serait dérivée du projet originale. Bref, impossible en somme.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.