IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

L’extrait de code Java le plus copié sur Stack Overflow contient un bogue


Sujet :

Java

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Dirigeant
    Inscrit en
    Juin 2016
    Messages
    3 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Dirigeant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2016
    Messages : 3 160
    Points : 66 309
    Points
    66 309
    Par défaut L’extrait de code Java le plus copié sur Stack Overflow contient un bogue
    L’extrait de code Java le plus copié sur Stack Overflow contient un bogue
    et son auteur, Andreas Lundblad, développeur Java chez Palantir, propose un correctif

    Une étude publiée en octobre 2018 dans la revue Empirical Software Engineering par les universitaires Sebastian Baltes et Stephan Diehl a révélé qu’un extrait de code fourni en réponse à une question Stack Overflow en septembre 2010 par Andreas Lundblad, développeur Java chez Palantir, est l’extrait de code Java le plus copié sur la plateforme communautaire. Cependant, dans un billet publié la semaine dernière, Lundblad a expliqué que le code était défectueux et qu'il convertissait de manière incorrecte le nombre d'octets dans des formats lisibles par l'homme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public static String humanReadableByteCount(long bytes, boolean si) {
        int unit = si ? 1000 : 1024;
        if (bytes < unit) return bytes + " B";
        int exp = (int) (Math.log(bytes) / Math.log(unit));
        String pre = (si ? "kMGTPE" : "KMGTPE").charAt(exp-1) + (si ? "" : "i");
        return String.format("%.1f %sB", bytes / Math.pow(unit, exp), pre);
    }
    code contenant le bogue

    L'extrait de code publié par Lundblad convertit le nombre d'octets, par exemple 123 456 789 octets, dans un format qui est lisible par l'homme, comme 123,5 Mo. Les universitaires ont constaté que ce code avait été copié et intégré dans plus de 6000 projets Java GitHub, plus que tout autre extrait de code Java sur Stack Overflow. Mais, Lundblad a dit qu'il avait revu le code après avoir pris connaissance de l'article universitaire et de ses résultats, ce qui lui a permis de se rendre compte de l'existence du bogue. Il a publié une version corrigée du code sur son blog.

    Lundblad a expliqué que le code contenait un bogue de conversion trivial qui n'a abouti qu'à des estimations de taille de fichier légèrement inexactes. Cela dit, l’on estime que cela aurait été bien pire que cela. Le code aurait pu contenir une faille de sécurité, par exemple. Si c'était le cas, il aurait fallu des mois ou des années pour réparer toutes les applications vulnérables, ce qui aurait exposé les utilisateurs à des attaques. Des études ont démontré qu’il n’est pas recommandé de copier et coller du code à partir des sites spécialisés, mais les développeurs le font toujours.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    // From: https://programming.guide/worlds-most-copied-so-snippet.html
    public static strictfp String humanReadableByteCount(long bytes, boolean si) {
        int unit = si ? 1000 : 1024;
        long absBytes = bytes == Long.MIN_VALUE ? Long.MAX_VALUE : Math.abs(bytes);
        if (absBytes < unit) return bytes + " B";
        int exp = (int) (Math.log(absBytes) / Math.log(unit));
        long th = (long) (Math.pow(unit, exp) * (unit - 0.05));
        if (exp < 6 && absBytes >= th - ((th & 0xfff) == 0xd00 ? 52 : 0)) exp++;
        String pre = (si ? "kMGTPE" : "KMGTPE").charAt(exp - 1) + (si ? "" : "i");
        if (exp > 4) {
            bytes /= unit;
            exp -= 1;
        }
        return String.format("%.1f %sB", bytes / Math.pow(unit, exp), pre);
    }
    Correctif proposé par Andreas Lundblad

    Le rapport d’étude de 2018 a montré à quel point cette pratique était répandue dans l'écosystème Java. Il a aussi indiqué que la grande majorité des développeurs qui copiaient les réponses populaires de Stack Overflow n'ont même pas pris la peine de mentionner leur source. Cette pratique démontre le fait que de nombreux développeurs de logiciels qui copient du code sur Stack Overflow sans attribution cachent effectivement aux autres programmeurs qu'ils ont introduits un code qui n’a pas été validé par l’équipe de développement dans un projet.

    Un autre rapport publié cette année, en octobre, estime également que copier du code sur des plateformes spécialisées et l'utiliser pour ses propres projets peut les rendre vulnérables. Le rapport a été publié par six chercheurs en informatique issus de l'Université de Shiraz en Iran, de l'Université polytechnique de Montréal au Québec et de l'Université Chamran en Iran. Le rapport des universitaires cherchait à comprendre la nature et la prévalence des vulnérabilités en matière de sécurité dans les exemples de code en C++ partagés.

    « Dans les sessions de collaboration impliquant plusieurs codeurs humains, nous avons évalué manuellement les vulnérabilités de sécurité de chaque fragment de code conformément aux instructions de CWE (Common Weakness Enumeration). Parmi les 72 483 extraits de code examinés utilisés dans au moins un projet hébergé sur GitHub, nous avons trouvé un total de 69 extraits de code vulnérables classés dans 29 types. Beaucoup d'extraits de code étudiés ne sont toujours pas corrigés », ont déclaré les chercheurs dans leur rapport.

    Les 69 extraits de code vulnérables trouvés sur Stack Overflow ont été réutilisés dans un total de 2859 projets GitHub. Pour améliorer la qualité des extraits de code partagés sur Stack Overflow, ils ont développé une extension de navigateur qui permet aux utilisateurs de Stack Overflow de rechercher les vulnérabilités dans les extraits de code lorsqu'ils les téléchargent sur la plateforme. Toutefois, malgré les mises en garde des chercheurs, les développeurs copient toujours du code de Stack Overflow vers leurs projets sans pour autant procéder à une analyse.

    Ashkan Sami, professeur agrégé d'informatique, d'ingénierie et de technologie de l'information à l'Université de Chiraz en Iran, a déclaré que la recherche représentait une tentative pour examiner comment le code défectueux migre de Stack Overflow vers GitHub. « En gros, ce que nous avons essayé de montrer, c’est que le fait d’utiliser du code de Stack Overflow sans l’examiner attentivement peut conduire à des vulnérabilités au sein des applications », a déclaré Sami. L’étude fait également référence à un article académique datant de 2017.

    Selon cet article, 1161 extraits de code non sécurisés publiés sur Stack Overflow avaient été copiés et collés dans 1,3 million d'applications Android disponibles sur Google Play.

    Sources : Résultat de l’étude, Rapport de l’étude (PDF), Andreas Lundblad

    Et vous ?

    Qu'en pensez-vous ?
    Copiez-vous aussi du code sur Stack Overflow pour vos projets de développement ?
    Peut-on s'en passer ? Si non, comment éviter de rendre vulnérable son application ?

    Voir aussi

    Copier du code sur des plateformes spécialisées et l'utiliser pour ses propres projets peut les rendre vulnérables, d'après une étude

    Microsoft évoque le futur de C++/CLI et de .NET Core : C++ sera disponible sur .NET Core 3.1 pour Windows

    La première version finale de Nim, le langage doté d'un transcompilateur vers C, C++, JavaScript est disponible avec des ajouts

  2. #2
    Invité
    Invité(e)
    Par défaut
    Qu'en pensez-vous ?
    Qu'en tant qu'autodidacte j'y passe beaucoup de temps quand je dev dans un nouveau langage (en plus de divers git), j'ai rarement vu des tutos complet qui m'ont fait apprendre ou avancer.

    Copiez-vous aussi du code sur Stack Overflow pour vos projets de développement ?
    Ça m'est arrivé, les maths ne sont pas mon fort et parfois y'a pas le choix. Sinon je décompose comme le ferait un automate basique, c'est pas très efficace mais sinon ça fonctionne très bien.

    Peut-on s'en passer ? Si non, comment éviter de rendre vulnérable son application ?
    Perso j'ai apprit très vite que la qualité des exemples n'est pas forcément très bonne mais ça fournit une bonne piste quand on ne sait pas encore ce qu'on cherche.
    Que les exemples ayant les meilleurs notes sont rarement les meilleurs mais qu'en fouinant plus on trouve des p'tits génies qui pondent des perles de propreté et d'efficacité.
    Pour essayer de commettre le moins d'erreur possible je n'hésite pas à utiliser des logiciels d'analyse (souvent propriétaire) et je me documente beaucoup.
    J'ai aussi tenté de me faire aider par des dev pro mais leur réputation est à la hauteur de ce que j'en ai vu, ce sont surtout les nana qui aident le plus/le mieux (encore merci à celles qui m'aident à progresser), les bonhommes préfèrent rabaisser et te dire que c'est de la merde pour se sentir plus grand (mais il y en a quand même des sympa).
    Dernière modification par Invité ; 06/12/2019 à 11h55.

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 54
    Points : 111
    Points
    111
    Par défaut
    Citation Envoyé par Bill Fassinou Voir le message
    Cette pratique démontre le fait que de nombreux développeurs de logiciels qui copient du code sur Stack Overflow sans attribution cachent effectivement aux autres programmeurs qu'ils ont introduits un code qui n’a pas été validé par l’équipe de développement dans un projet.
    J'avoue ne pas bien comprendre cette phrase ...
    Si une revue de code est fait par les autres développeurs dans un projet, en quoi cité l'auteur change-t-il quelque chose ?
    Je suis d'accord, c'est plus éthique de le faire, mais quand bien même.

    Je veux dire, si c'est X qui publie son code, c'est un génie alors on ne vérifie pas ?
    Ou alors X est un gros nul, on vérifie tjr son code, mais si ça vient d'internet, alors on fait confiance ?

    Parce que certe, du code sur internet n'a pas être pas été validé par une équipe de dev dans un projet, mais ce qu'on écrit non plus.
    Cela peut-être validé après (publication via git par exemple), et à ce moment là, tout est censé être vérifié, indépendamment de la source, non ?

  4. #4
    Membre régulier
    Femme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2019
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2019
    Messages : 42
    Points : 100
    Points
    100
    Par défaut
    Citation Envoyé par Tahrky Voir le message
    J'avoue ne pas bien comprendre cette phrase ...
    Si une revue de code est fait par les autres développeurs dans un projet, en quoi cité l'auteur change-t-il quelque chose ?
    Je suis d'accord, c'est plus éthique de le faire, mais quand bien même.

    Je veux dire, si c'est X qui publie son code, c'est un génie alors on ne vérifie pas ?
    Ou alors X est un gros nul, on vérifie tjr son code, mais si ça vient d'internet, alors on fait confiance ?

    Parce que certe, du code sur internet n'a pas être pas été validé par une équipe de dev dans un projet, mais ce qu'on écrit non plus.
    Cela peut-être validé après (publication via git par exemple), et à ce moment là, tout est censé être vérifié, indépendamment de la source, non ?
    Cela soulève 2 problématiques :
    • Peut insérer dans un projet du code pris sur Stack
    • Le code de stack doit il etre validé lors des revue de code

    Pour moi c'est clair, si un dev publie un code sur stack c'est pour gagner de la réputation, un meilleurs salaire ….
    Et donc il accepte en contre partie que son code soit utilisé anonymement par un autre dev.

    Quant à la validation, elle doit etre systématique pour tout code intégré au projet.

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Décembre 2011
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 68
    Points : 342
    Points
    342
    Par défaut
    les développeurs copient toujours du code de Stack Overflow vers leurs projets sans pour autant procéder à une analyse.
    Peut-être que si les développeurs vont chercher de l'aide sur Stack Overflow c'est qu'ils n'ont pas eu même soit :
    - Les compétences pour résoudre un problème.
    - Le temps de tester exhaustivement le code
    - Le compétences pour tester la présence d'un bogue.

    N'aurait -il pas été plus simple pour 'Andreas Lundblad' de simplement utiliser le système collaboratif de Stack Overflow pour soumettre sa correction ?
    Citons puisque apparemment les gens ne cite pas assez.
    https://stackoverflow.com/questions/...format-in-java

    Je vois mal l’enjeu de ce thread, promouvoir de la validation de code par des entreprises externe ? Interdire Stack Overflow ?

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Avril 2002
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 852
    Points : 19 326
    Points
    19 326
    Par défaut
    Citation Envoyé par gallima Voir le message
    Je vois mal l’enjeu de ce thread, promouvoir de la validation de code par des entreprises externe ? Interdire Stack Overflow ?
    Créer une prise de conscience sur le fait que copier coller du code pris sur le net n'est pas sans danger ?

  7. #7
    Membre extrêmement actif
    Homme Profil pro
    Technicien de maintenance / Developpeur PHP
    Inscrit en
    Mai 2015
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien de maintenance / Developpeur PHP
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2015
    Messages : 429
    Points : 1 630
    Points
    1 630
    Par défaut
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    // From: https://programming.guide/worlds-mos...o-snippet.html
    public static strictfp String humanReadableByteCount(long bytes, boolean si) {
    int unit = si&nbsp;? 1000&nbsp;: 1024;
    long absBytes = bytes == Long.MIN_VALUE&nbsp;? Long.MAX_VALUE&nbsp;: Math.abs(bytes);
    if (absBytes < unit) return bytes + " B";
    int exp = (int) (Math.log(absBytes) / Math.log(unit));
    long th = (long) (Math.pow(unit, exp) * (unit - 0.05));
    if (exp < 6 && absBytes >= th - ((th & 0xfff) == 0xd00&nbsp;? 52&nbsp;: 0)) exp++;
    String pre = (si&nbsp;? "kMGTPE"&nbsp;: "KMGTPE").charAt(exp - 1) + (si&nbsp;? ""&nbsp;: "i");
    if (exp > 4) {
    bytes /= unit;
    exp -= 1;
    }
    return String.format("%.1f&nbsp;%sB", bytes / Math.pow(unit, exp), pre);
    }
    Çà pique les yeux .
    Et sinon, pourquoi la fonction (java.lang.)Math.log ne prend pas simplement en deuxième argument la base du logarithme ?

  8. #8
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Pierre Louis Chevalier Voir le message
    Créer une prise de conscience sur le fait que copier coller du code pris sur le net n'est pas sans danger ?
    Ce ne serait pas plutôt : Créer une prise de conscience sur le fait que copier bêtement du code pris sur le net n'est pas sans danger ?

    Si oui, je suis assez d'accord... comme dirais les Inconnus, il y a le bon programmeur et le mauvais programmeur...

  9. #9
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par defZero Voir le message
    Çà pique les yeux .
    C'est rien de le dire...

  10. #10
    Membre émérite
    Avatar de Voyvode
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 476
    Points : 2 678
    Points
    2 678
    Par défaut
    Citation Envoyé par defZero Voir le message
    Çà pique les yeux .
    Oui, c'est moche à voire.

    En remplaçant &nbsp; par espace, c'est tout de suite plus lisible.


    Cette expérience montre aussi qu'un code compact et apparemment astucieux n'est pas forcément meilleur. La version corrigée est tout de suite moins intéressante que la nouvelle solution proposée sur Stack Overflow qui me parait plus claire.

  11. #11
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 424
    Points : 8 712
    Points
    8 712
    Billets dans le blog
    43
    Par défaut
    Je dirais qu'un mauvais développeur, appelons-le Kévin (no offence pour les Kévin), fait clairement mieux de copier/coller du code depuis Stackoverflow que de coder lui-même.
    Il y a quand même moins de chance qu'il y ait des bugs sur du code approuvé 467 fois que du code réalisé par Kévin lui-même dans son coin, sans review.

  12. #12
    Membre régulier
    Femme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2019
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2019
    Messages : 42
    Points : 100
    Points
    100
    Par défaut
    Citation Envoyé par yahiko Voir le message
    Je dirais qu'un mauvais développeur, appelons-le Kévin (no offence pour les Kévin), fait clairement mieux de copier/coller du code depuis Stackoverflow que de coder lui-même.
    Il y a quand même moins de chance qu'il y ait des bugs sur du code approuvé 467 fois que du code réalisé par Kévin lui-même dans son coin, sans review.
    A ceci près que je ne suis pas certain que les 457 Kevin qui ont copié ce code avant en mettant un +1 au passage soit des expert de la sécurité informatique. Du coup tu vas sur stack et tu ramasses un code avec 457 points en croyant qu'il est safe, et tu lui accordes un point de plus.
    Tu connais le proverbe du vieux Pat GARRET : "1 million de mouche peuvent pas se tromper il faut manger de la m_r_e"

  13. #13
    Membre à l'essai
    Homme Profil pro
    Statisticien
    Inscrit en
    Juin 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Statisticien
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2011
    Messages : 6
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par sacdebille Voir le message
    Pour moi c'est clair, si un dev publie un code sur stack c'est pour gagner de la réputation, un meilleurs salaire ….
    Et donc il accepte en contre partie que son code soit utilisé anonymement par un autre dev.
    Ou alors, au lieu de s'inventer des droits, on regarde la licence, ou pour simplifier :

    As noted in the Stack Exchange Terms of Service and in the footer of every page, all user contributions are licensed under Creative Commons Attribution-Share Alike. Proper attribution is required if you republish any Stack Exchange content.
    Eh non, vous n'avez pas le droit de réutiliser le code copié sur Stack Overflow sans citer la source. Ça peut même poser de sérieux problèmes, puisque la CC-BY-SA impose :

    Dans le cas où vous effectuez un remix, que vous transformez, ou créez à partir du matériel composant l'Oeuvre originale, vous devez diffuser l'Oeuvre modifiée dans les même conditions, c'est à dire avec la même licence avec laquelle l'Oeuvre originale a été diffusée.
    Cela dit, la CC-BY-SA 4.0 est apparemment compatible avec la licence GPLv3.

    Conclusion, utiliser Stack Overflow pour apprendre des choses, ça va, copier du code, ça a des implications qu'il vaut mieux avoir en tête (voir aussi ceci). Inventer des « Et donc il accepte... » ce n'est pas sérieux du tout.

    D'ailleurs, l'article de Lundblad explique que ça a failli poser un problème jusque dans l'OpenJDK (chercher « Fun side story »).

    Soit dit en passant, l'entreprise derrière Stack Overflow a récemment (septembe 2019) changé unilatéralement sa licence pour passer de CC-BY-SA 3.0 vers CC-BY-SA 4.0. A priori elle n'en avait pas le droit, et c'est un sujet qui a provoqué pas mal de réactions dans la communauté Stack Overflow, et qui n'est toujours pas résolu à ma connaissance.

    Dans le même genre, on ne peut pas faire tout et n'importe quoi avec les dépôts GitHub sous prétexte qu'on a le droit de forker : sans indication de licence, c'est à peu près le seul droit qu'on a.

  14. #14
    Membre régulier
    Femme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2019
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2019
    Messages : 42
    Points : 100
    Points
    100
    Par défaut
    Je ne suis pas un specialiste du droit et des licences, ou comme le disent les juristes pour être tendance je ne suis pas un LEGAD.
    Je suis une développeuse et comme tous les développeurs j’assoie ma réputation sur mon nombre de points et mes badges sur SO.
    Donc je pose des questions quand j’en ai besoin et en retour j’apporte des solutions. Je ne suis pas gêner que quelqu’un prenne mon code pour son job, surtout si il me met un +1, voire un bounty à +500 (même si cela ne m’es jamais arrivé).
    Donc j’ai un peu de mal (sur un site comme DVP) à me faire bahuter par quelqu’un qui ne semble pas vraiment intéressé ni impliqué par le développement.
    Et forker un projet de 100 000 lignes de codes sous git ca n’a rien a voir avec copier 30 lignes sur SO.
    Vive le développement !

  15. #15
    Membre émérite
    Avatar de Voyvode
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 476
    Points : 2 678
    Points
    2 678
    Par défaut
    Citation Envoyé par sacdebille Voir le message
    Donc j’ai un peu de mal (sur un site comme DVP) à me faire bahuter par quelqu’un qui ne semble pas vraiment intéressé ni impliqué par le développement.
    C'est pourtant ce qui se passe tous les jours avec des boites comme Oracle et les patent trolls.

    Le problème du code publié sur Stack Overflow est que son statut juridique n'est pas clair. Par défaut, il est sous une licence Creative Common (CC BY-SA 4.0) qui permet à priori de faire ce qu'on veut, aux conditions de citer l'auteur et, surtout, de publier les modifs sous la même licence.

    Cela pose au moins deux problèmes :
    1. L'origine du code. Rien n'indique formellement que le code publié sur Stack Overflow n'a pas été piqué d'un code sous une licence plus restrictive. (Comme dans l'affaire Stallman/Gosling sur Emacs.) C'est rarement un problème pour des petites portions de code, mais ça reste théoriquement possible.
    2. La réutilisation de ce code. La CC BY-SA 4.0 est une licence « virale » comme la GPL-2.0, car elle t'oblige à conserver cette licence même si le code est modifié. Cela peut poser des problèmes quand tu l'intègres dans un code à licence différente, même considérée comme « plus libre ». La licence CC BY-SA 4.0 empêche que ton code soit intégré dans du code en licence propriétaire… mais aussi en licence MIT par exemple.
      Il reste possible de mettre ce code dans une bibliothèque différente, mais ce n'est pas commode pour seulement 10 lignes.


    Pour ne rien arranger, les licences Creative Common sont rarement utilisées avec du code. Stack Overflow envisage depuis 5 ans d'opter pour la licence MIT, mais entre les discussions houleuses et le flou juridique, le projet est au point mort.

  16. #16
    Membre habitué
    Homme Profil pro
    Admin systèmes (Windows, Linux) et réseaux - Dev DB &Java IHM calcul scientifique
    Inscrit en
    Mai 2016
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Admin systèmes (Windows, Linux) et réseaux - Dev DB &Java IHM calcul scientifique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 80
    Points : 145
    Points
    145
    Par défaut
    Citation Envoyé par yahiko Voir le message
    Je dirais qu'un mauvais développeur, appelons-le Kévin (no offence pour les Kévin), fait clairement mieux de copier/coller du code depuis Stackoverflow que de coder lui-même.
    Il y a quand même moins de chance qu'il y ait des bugs sur du code approuvé 467 fois que du code réalisé par Kévin lui-même dans son coin, sans review.
    ... Certe, ou encore Kevin prend conscience de ses faiblesses et apprend les bases avant de taper dans la butte, grâce, entre autre, aux généreux conseils des gentils senior-dev qui savent et le sauve de la noyade

    PS : sinon, c'est vrai que le code original pique l'âme encore plus que les yeux ... j'y mettrais pas les doigts de peur de les voir brûler en enfer dans la 4ème dimension

    A&R

Discussions similaires

  1. Lancer un code java pour s'executer sur un serveur
    Par marouene_ dans le forum Général Java
    Réponses: 6
    Dernier message: 24/03/2011, 21h23
  2. code java pour service web sur netbeans
    Par edyyy dans le forum NetBeans
    Réponses: 2
    Dernier message: 09/04/2010, 13h55
  3. [andromda]Infos sur andromda, générateur de code JAVA
    Par ugos dans le forum EDI et Outils pour Java
    Réponses: 5
    Dernier message: 08/09/2009, 16h30
  4. Parallélisation de code Java sur plusieurs machines
    Par Jester dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 05/12/2006, 13h01
  5. [Info]Copie un code java en gardant les couleur des syntaxes
    Par Thzith dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 17/01/2006, 21h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo