• # Libre ou pas libre, telle n'est pas la question.

    Posté par  (site web personnel) . Évalué à 2. Dernière modification le 04 août 2022 à 03:25.

    Que ce soit open source ou pas, l'éthique et le flou juridique derrière ce genre de projet reste le même.

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

    • [^] # Re: Libre ou pas libre, telle n'est pas la question.

      Posté par  (site web personnel) . Évalué à 2.

      ? Peux-tu préciser ta pensée ?

      • [^] # Re: Libre ou pas libre, telle n'est pas la question.

        Posté par  (site web personnel) . Évalué à 4.

        Quelle est la licence du code produit par un modèle de machine learning qui a utilisé du code sous GPL, LGPL, MIT, BSD, … pour s'entraîner?

        Les auteurs des projets utilisés ont ils donné leurs consentements ? (entendre par la, est-ce que les licenses utilisées autorisent ce genre de pratique)

        https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

        • [^] # Re: Libre ou pas libre, telle n'est pas la question.

          Posté par  (site web personnel) . Évalué à 2.

          Je suis plutôt d'avis de penser que ça ne les regarde pas trop, si, et seulement si, on parle bien d'une IA qui comprends/apprends des patterns pour les reproduire dans d'autres contextes.

          Je m'explique: déjà en mettant le code sur github, tu les autorise à le lire, pas forcément le redistribuer tel quel, ou en faire un travail dérivé (sauf si c'est MIT/BSD, là bon faut être de mauvaise foi pour refuser l'exploitation de son code je trouve).

          Mais je pense que si on a bien une IA qui apprends comme on le ferais nous sur:
          * comprendre un commentaire pour savoir ce que ça fait et pourquoi ça le fait comme ça
          * quelle est la meilleure structure de données pour faire telle opération
          * pourquoi le code dans tel langage doit être agencé de telle manière

          C'est un peu comme un débutant qui va travailler chez Capgemini/Atos/AUTRE-SSII: tu ne vas pas lui reprocher plus tard de savoir écrire du code car il a appris sur des systèmes fermés développé pour telle ou telle société du CAC40? (oui je tire le trait exprès :) )

          Si on parle bien d’apprentissage, le code généré n'est pas lié au code lu, seulement à l'apprentissage du langage et de sa logique.

          Bon maintenant le vrai éléphant dans le couloir: comment on sait que c'est du vrai apprentissage et pas juste des copier/coller un peu malins? Car là en effet ça pose problème avec les licences vu que ça serait un travail dérivé.

          Insolvable?

          • [^] # Re: Libre ou pas libre, telle n'est pas la question.

            Posté par  . Évalué à 4.

            Insolvable?

            Non, je ne pense pas. Ça me semble être un problème très similaire à celui du travail dérivé en général, d'ailleurs : comment prouver qu'un bout de texte, une mélodie, ou un bout de code est original ou s'il provient d'une copie? Les arguments vont être à peu près les mêmes, par exemple (i) on trouve des choses similaires produites par différents auteurs, possiblement produites avant l'oeuvre dont l'auteur se plaint (en gros: le travail n'est pas original et il ne reflète pas la personnalité de l'auteur, il est donc inéligible à la protection par le droit d'auteur), (ii) on peut prouver que le supposé "copieur" n'avait pas connaissance de l'oeuvre et/ou que cette connaissance n'a pas eu d'effet direct sur la production (en gros: il ne s'agit pas d'un travail dérivé).

            C'est certain que la plupart des licences n'avaient pas prévu cette possibilité, je ne crois jamais avoir lu quelque chose sur le traitement automatisé dans les licences libres. C'était un choix très ingénieux de baser la GPL sur une interprétation très stricte du droit d'auteur, et on a passé 30 ans à insister sur la solidité juridique de la GPL. Mais du coup, s'il n'y a pas de travail dérivé au sens du droit d'auteur, les clauses de la GPL ne s'appliquent pas.

            Une situation particulière me vient à l'esprit pour illustrer ça : si la base de données est intégralement sous GPL, le code produit par l'IA ne l'est pas. Si on considère que l'IA "apprend" d'une manière comparable à un humain et que les mêmes dispositions juridiques s'appliquent, il semble évident que lire des milliers de page de code bien écrit pour apprendre à produire du code de qualité ne pose pas de problème de droit d'auteur—c'est ce que tous les bons programmeurs font. Et ça reste vrai même si l'intégralité de la base de données était sous GPL : la propriété intellectuelle ne se transmet pas par fraction, c'est tout ou rien.

            • [^] # Re: Libre ou pas libre, telle n'est pas la question.

              Posté par  (site web personnel) . Évalué à 2.

              […] lire des milliers de page de code bien écrit pour apprendre à produire du code de qualité […] c'est ce que tous les bons programmeurs font.

              Ce n'est pas la première fois que je vois ce genre d'affirmation. Le seul autre code source que le mien que j'examine à l'occasion sont de courts exemples d'utilisation d'une API. Ça fait de moi un mauvais programmeur ?

              Quand je me suis lancé dans l'informatique en général et la programmation en particulier, le web n'existait pas encore, l'accès à Internet était hors de prix, et je n'avais donc pas accès à une grande quantité de code source. Je pense que nous fûmes beaucoup dans cette situation.

              Du coup, le code source que je produis est probablement atypique. Bien qu'étant disponible sous licence libre sur des forges logicielles populaires, il ne doit pas être d'un grand intérêt pour ce genre de projets…

              Pour nous émanciper des géants du numérique : Zelbinium !

              • [^] # Re: Libre ou pas libre, telle n'est pas la question.

                Posté par  . Évalué à 4.

                Ça fait de moi un mauvais programmeur ?

                Pas nécessairement, mais dans tous les cas ça fait de toi un programmeur qui n'a pas les bases pour évaluer la qualité de son code.

                Je ne suis pas programmeur non plus, et je pars du principe que le code que je produis n'est pas de qualité professionnelle. Disons que si j'embauchais un programmeur, j'attendrais de lui quelque chose de meilleur que ce que je suis capable d'écrire.

          • [^] # Re: Libre ou pas libre, telle n'est pas la question.

            Posté par  . Évalué à 5.

            sauf si c'est MIT/BSD, là bon faut être de mauvaise foi pour refuser l'exploitation de son code je trouve

            Ces licences demandent quand-même une attribution. Tu es censé citer les auteurs des bouts de code que tu utilises.

            En tout cas je suis d'accord avec David : même si FauxPilot est open source, toutes les discussions qu'on pourrait avoir sur le fonctionnement s'appliquent de la même manière à FauxPilot et CoPilot. Et le sujet a été parcouru en long, en large et en travers à la sortie de CoPilot.

          • [^] # Re: Libre ou pas libre, telle n'est pas la question.

            Posté par  (site web personnel) . Évalué à 3.

            Je ne suis pas un avocat/juriste, donc je ne saurais pas défendre une position ou l'autre devant un tribunal, si ce dernier devait être saisi.

            Cependant, ayant bien potassé le sujet des réseaux neuronaux, je suis arrivé à quelques petites conclusions :

            • l'ingénieur informatique qui a décidé d'appeller un neurone "neurone" n'y connaissait pas grand chose en biologie
            • les réseaux neuronaux sont un outil statistique dont le fonctionnement diffère grandement du fonctionnement du cerveau humain
            • le résultat produit par l'apprentissage d'un réseau neuronal (le modèle) encode les informations "apprises" sous formes de poids/biais (de bonnes grosses matrices/tenseurs de flottant)

            Bref, une "IA" (grosses guillemets), bien qu'impressionante, n'est pas un humain. En partant de ce principe :

            Je ne suis pas un avocat/juriste mais:

            sauf si c'est MIT/BSD, là bon faut être de mauvaise foi pour refuser l'exploitation de son code je trouve

            Ces licences couvrent la redistribution et la modification du code. Elles ne couvrent pas son usage dans une analyse automatique. Un juge dira qu'il s'agit d'une forme de redistribution la ou un autre dira que non -> flou juridique à éclaircir.

            un débutant qui va travailler chez Capgemini/Atos/AUTRE-SSII: tu ne vas pas lui reprocher plus tard de savoir écrire du code

            Non mais s'il se sert des dépôts privés de la société, dont il a toujours une copie, comme d'un StackOverflow "allez hop, copier/coller!". C'est tout de suite plus flou.

            le code généré n'est pas lié au code lu, seulement à l'apprentissage du langage et de sa logique

            Le code lu est encodé dans le modèle et est utilisé pour produire la suggestion.

            Insolvable?

            Non, il suffit que les licences soient mise à jour par des personnes compétentes pour clarifier comment est couvert cet usage du code. Est-ce de la redistribution ou pas ?

            https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

            • [^] # Re: Libre ou pas libre, telle n'est pas la question.

              Posté par  . Évalué à 4. Dernière modification le 04 août 2022 à 11:39.

              Le code lu est encodé dans le modèle et est utilisé pour produire la suggestion.

              D'une certaine manière, mais la grosse différence c'est que l'algorithme d'apprentissage résume cette information et qu'il est totalement incapable de faire l'opération inverse (restituer l'ensemble de la bdd originelle). Du coup, je ne pense pas que ton argument de la copie soit valide, l'IA se "rappelle" de quelque chose d'une manière assez similaire de ce qu'on fait quand on apprend (et pas quand on mémorise).

              Un des points clés, c'est que la personne qui pense que son code a servi de base à l'apprentissage ne peut pas le prouver même si elle avait accès à l'intégralité des connaissances de l'IA. Pour le prouver, il lui faudrait avoir accès à la base de données qui a servi à entrainer l'IA.

              D'ailleurs, je me demande si les concepteurs de ces IA n'auraient pas intérêt à saucissonner leurs bases en plusieurs morceaux non-recouvrants, à entrainer plusieurs IA indépendamment, et à attribuer des IA aléatoires aux utilisateurs. Bien sûr, en théorie, on perd un peu de puissance parce que la base de données pour l'entrainement est plus petite, mais on gagne tellement en sécurité juridique et technique… Imagine que tu puisses prouver que les suggestions de l'IA sont très proches quelle que soit la partition de la base qui a servi d'entrainement; ça exclut mécaniquement le travail dérivé, et ça "prouve" que ton IA fait autre chose que du copier-coller.

              Non, il suffit que les licences soient mise à jour par des personnes compétentes pour clarifier comment est couvert cet usage du code. Est-ce de la redistribution ou pas ?

              Mouais, sauf si cet usage du code est considéré par la jurisprudence comme non-couvert par le droit d'auteur. Auquel cas cette clause n'aurait pas de valeur.

              Je trouverais ça gonflé de la part de la communauté du libre d'essayer de tordre le droit d'auteur pour lui faire couvrir des applications qui outrepasse son cadre habituel. Ça mettrait les libristes du même côté que Disney et Cie…

              • [^] # Re: Libre ou pas libre, telle n'est pas la question.

                Posté par  . Évalué à 6.

                Si je me souviens bien, au début de Copilot, en tapant du code un peut atypique, on avait des suggestions qui étaient directement le copier-coller de code existant.

                « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

                • [^] # Re: Libre ou pas libre, telle n'est pas la question.

                  Posté par  . Évalué à 4.

                  Oui, je me souviens aussi d'avoir commenté que leur truc ressemblait plus à un moteur de recherche qu'à une IA (overfitting évident). Les problèmes d'overfitting, c'est à eux de les régler, même si c'est les utilisateurs qui risquent d'avoir des problèmes.

            • [^] # Re: Libre ou pas libre, telle n'est pas la question.

              Posté par  (site web personnel, Mastodon) . Évalué à 2.

              Ces licences couvrent la redistribution et la modification du code. Elles ne couvrent pas son usage dans une analyse automatique.

              Voici ce que dit la license:

              Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so

              (avec une clause d'attribution ensuite).

              Donc la permission qui est donnée est: "to deal in the Software without restriction", avec quelques exemples non exhaustifs ("including witohut limitation"), dont la redistribution.

              Il n'y a pas du tout de limitation à la redistribution ou à la modification du code. Si tu as reçu une copie de ce code (trouvé sur github ou il a été volontairement publié par exemple), tu as le droit de faire ce que tu veux avec sans restriction, tant que tu cites le nom de l'auteur.

              Si tu ne cites pas le nom de l'auteur tu as les droits donnés par:
              - Les conditions d'utilisations de github (droit pour n'importe qui de forker le dépôt par exemple, ce qui ne fait pas vraiment de copie et donc ne pose pas de problème de droit d'auteur en soi)
              - La loi sur le droit d'auteur, qui par défaut interdit tout, sauf accord de l'auteur, et des exceptions pour les courtes citations, parodies, etc (variables selon les pays).

              A priori la loi sur le droit d'auteur n'a pas de clause spéciale pour l'analyse automatique. Les conditions d'utilisation de Github, peut-être. Mais si des gens ont déposé sur Github du code dont ils ne sont pas détenteur du copyright, sans l'autorisation dudit détenteur, je vois mal comment les conditions d'utilisations de Github pourraient alors outrepasser la license.

              • [^] # Re: Libre ou pas libre, telle n'est pas la question.

                Posté par  (site web personnel) . Évalué à 3.

                Voici ce que dit la license: […] Donc

                Je ne ferais confiance qu'à l'interprétation d'un (voir plusieurs) avocat(s) spécialisé(s) dans les licences informatique.

                Si tu ne cites pas le nom de l'auteur tu as les droits donnés par

                C'est une violation de la licence, encore une fois, je ne ferais confiance qu'à l'interprétation de personnes dont c'est la compétence.

                Les termes juridiques, à quel point ils sont précis ou non, c'est pas si évident à interpréter.

                On pourrait argumenter par exemple que "sans restrictions" n'est pas applicable car trop vague. On pourrait argumenter sur la définition de copie, on pourrait argumenter sur plein de choses, mais nous ne sommes à priori pas avocats (à moins que tu ne le sois ?).

                Un peu facile de présenter son interprétation sur LinuxFR, mais es-tu prêt à la défendre auprès d'un tribunal et de gagner le procès s'il venait à être saisi ?


                Tout ça pour dire qu'il existe aujourd'hui un réel flou juridique concernant ces technologies. Et c'est pas les développeurs ni des entreprises privées qui le résolveront. Ce seront des avocats/juristes/gouvernements à coup de nouvelles licences et de nouvelles lois.

                https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

                • [^] # Re: Libre ou pas libre, telle n'est pas la question.

                  Posté par  (site web personnel, Mastodon) . Évalué à 2.

                  Tout ça pour dire qu'il existe aujourd'hui un réel flou juridique concernant ces technologies. Et c'est pas les développeurs ni des entreprises privées qui le résolveront. Ce seront des avocats/juristes/gouvernements à coup de nouvelles licences et de nouvelles lois.

                  Je ne pense pas que la solution ça soit une nouvelle licence ou une nouvelle loi. C'est effectivement une lecture "juridique" du texte de la licence existante.

                  Le texte de la licence MIT a justement l'avantage d'être extrêmement clair et simple. Il donne le droit de faire tout ce qu'on veut à condition de reproduire le texte de la licence et la notice de copyright.

                  Alors on peut prendre un.e juriste et lui demander de faire dire à la licence le contraire de ce qui est écrit, mais comme la licence est simple, courte et claire, son travail va être compliqué. Oui, iel pourra tenter des trucs. Mais iel va avoir du mal à trouver quelque chose.

                  Par exemple, la question "est-ce que github a obtenu une copie du code?" ça va être difficile de dire que non.

                  À la question "est-ce que Copilot reproduit la licence avec le code quand il le réutilise?" la réponse est clairement non.

                  Et comme je le disais, la question qui se pose est plutôt "jusqu'où on peut aller si on ne veut pas respecter les termes de la licence?" (dans ce cas, reproduire la licence et la notice de copyright)?

                  La réponse est là aussi assez simple: c'est le droit d'auteur qui s'applique. Il donne quelques droits "par défaut", j'en ai cité quelques uns. Et c'est plutôt là que le débat va se situer: est-ce que les droits donnés par défaut par le droit d'auteur sont suffisants pour l'utilisation que Github a fait du code? Là, on arrive dans une question plus pointue, et effectivement, comme je ne suis pas juriste de formation, je ne vais pas m'engager dans une réponse à ce niveau là parce que ça dépasse mes compétences. Mais il n'est pas difficile de trouver des informations sur ces droits si on veut se pencher sur la question.

                  Mais sur la lecture d'une licence et son application dans les cas classiques, je pense que tous les développeurs devraient au moins être sensibilisés au sujet. Ça évite de faire n'importe quoi. Un peu de la même façon qu'on demande aux gens de connaître un minimum le code de la route avant de conduire une voiture, pas tous les articles par cœur, mais de quoi se débrouiller au quotidien dans les situations courantes.

        • [^] # Re: Libre ou pas libre, telle n'est pas la question.

          Posté par  (site web personnel) . Évalué à 3.

          C'est vrai que cela pose question. N'est-ce pas un problème semblable lors de l'utilisation d'un compilateur sur ce code ? La licence du code lui-même n'influe pas sur la licence du compilateur. Par contre le binaire qui en résulte est directement lié à la GPL.

          Est-ce que l'on pourrait dire que les snippets de code généré sont issue d'un gros paquet de code GPL + un bout de code à toi. Dans le cas d'un binaire, il serait GPL. J'ai changer d'avis en cours de rédaction de ce commentaire.

          D'un autre coté, il ne peut pas y avoir de licence sur un code de quelques lignes. C'est même écrit dans la faq de la GPL. De plus, tu peux utiliser un binaire GPL dans un système plus gros non GPL, si le binaire GPL n'est pas nécessaire à son fonctionnement (cas de la base MySQL ou du drivers NVIDIA).

          "La première sécurité est la liberté"

          • [^] # Re: Libre ou pas libre, telle n'est pas la question.

            Posté par  . Évalué à 4. Dernière modification le 04 août 2022 à 09:28.

            C'est vrai que cela pose question. N'est-ce pas un problème semblable lors de l'utilisation d'un compilateur sur ce code ?

            Ça dépend peut-être des compilateurs, mais il y a au moins GCC qui est très explicite sur le fait que les auteurs du compilateurs abandonnent tous leurs droits sur les binaires compilés. Ça se fait à travers une annexe à la licence GPLv3, la "GCC Runtime Library Exception". Avant la GPLv3, l'exception était directement stipulée dans les en-tête de fichiers .h . Il y a même une doc en français sur la question https://www.gnu.org/licenses/gcc-exception-3.1-faq.fr.html .

            • [^] # Re: Libre ou pas libre, telle n'est pas la question.

              Posté par  (site web personnel) . Évalué à 4.

              Attention, rien à voir.

              Gcc lorsqu'il compile insère un bout de code GPL (crt.s) qui est une sorte de mini runtime du C (gestion de pile,…). Les auteurs de ce code ne voulait pas que cela force le reste du code a devenir GPL, car ce code étant nécessaire à la compilation et non remplaçable. Si on ne peut compiler qu'avec GCC, le reste du code aurait dû être sous GPL.

              L'exception est sur ce bout de code et non sur le code de GCC lui-même. Il ne s'applique pas non plus sur le code compilé par GCC.

              "La première sécurité est la liberté"

              • [^] # Re: Libre ou pas libre, telle n'est pas la question.

                Posté par  . Évalué à 4. Dernière modification le 04 août 2022 à 10:02.

                Attention, rien à voir.

                Bah du coup je ne comprends pas de quoi on parle. Je pensais que tu faisais référence au fait qu'un binaire du logiciel X compilé par GCC contenait des bouts de code GPL en provenance de GCC, sans pour autant que le logiciel X passe sous GPL. Et ça, ça n'est possible que parce que les auteurs de GCC ont explicitement renoncé à l'"héritage" de la licence GPL sur ces bouts de code qui sont normalement embarqués dans les binaires compilés (ça vaut aussi pour la libc etc).

                Si on ne peut compiler qu'avec GCC, le reste du code aurait dû être sous GPL.

                Lapin compris. Pourquoi on ne pourrait compiler qu'avec GCC? Le reste du code de quoi aurait dû être sous GPL?

                L'exception est sur ce bout de code et non sur le code de GCC lui-même.

                Oui, GCC est sous GPL en intégralité, et certains fichiers (ceux qui sont compilés en même temps que le logiciel qu'on essaye de compiler) sont sous GPL + exception.

                Il ne s'applique pas non plus sur le code compilé par GCC.

                C'est quoi, "il"? L'exception? On est bien d'accord que la licence de GCC est explicitement conçue pour assurer à l'auteur de n'importe quel logiciel que la licence du binaire compilé n'est en aucune façon affectée par la licence de GCC.

                • [^] # Re: Libre ou pas libre, telle n'est pas la question.

                  Posté par  (site web personnel) . Évalué à 5.

                  Je parlais du principe de base : gcc n'influe pas sur la licence du code qu'il compile.

                  Lapin compris. Pourquoi on ne pourrait compiler qu'avec GCC? Le reste du code de quoi aurait dû être sous GPL?

                  L'exception de crt.s n'a de sens que pour un code C qui ne compile que pour GCC, sinon on est dans le même cas que le drivers NVIDIA (code GPL non nécessaire au produit, ce n'est pas un produit dérivé, la licence ne se transmet pas)

                  "La première sécurité est la liberté"

Suivre le flux des commentaires

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