Plagiat, Citations et licences d’utilisation

L’écriture de code dans un cadre scolaire constitue un travail académique et est soumise aux mêmes règles concernant le plagiat que des travaux littéraires, par exemple. Bien que la réutilisation et le partage du code fassent aujourd’hui partie intégrante du travail de programmation, votre travail est néanmoins soumis à des règles de droits d’auteur et aux règles d’évaluation du Collège.

Suivez les indications de votre enseignant

Certains travaux demandent que tout le code remis soit original, d’autres permettent la réutilisation de code existant. Votre enseignant devrait pour chaque travail en faire une consigne claire; sinon, posez la question.

Réutilisation du code, citez vos sources

Dans tous les cas, une partie de code réutilisée, qu’elle ait été copié-collée, retranscrite, adaptée, remaniée, améliorée ou non, doit impérativement être attribuée à son auteur original.

Licences.

  • Le code source propriétaire ou sans licence libre explicite ne permet pas sa réutilisation sans le consentement du propriétaire du copyright. Dans ce cas, assurez-vous de l’avoir obtenue puis indiquez la mention «Utilisé avec la permisssion de …»
  • Le code sous licence libre doit généralement inclure une copie de ladite licence directement dans le fichier source ou dans un fichier à part l’accompagnant. Suivez les instructions de la licence et n’oubliez pas de la commiter le cas échéant.

Citation dans le code

  • Les extraits de code inclus à travers le vôtre doivent être cités sous forme de commentaire là où ils sont employés.
    • S’il est pris d’une page web, l’URL et la date de consultation doivent être mentionnées
      • Exemple :
# Source : https://stackoverflow.com/questions/231767/what-does-the-yield-keyword-do/231855#231855
# Consulté le 2020/09/03
def createGenerator():
   mylist = range(3)
   for i in mylist:
       yield i*i

  • S’il provient d’un dépôt de sources (Gitlab, Github, Bitbucket, etc.), l’URL menant au commit d’où vous avez tiré l’extrait est suffisant. Utilisez un «permalink» s’il est disponible.
    • Exemple :
// Source : https://git.dti.crosemont.quebec/420-g04-ro/rafraichissement_java/-/blob/04d2626a58f53f22ba4869e189de89b699f9b0c2/lesson1/AlloLeMonde2/test/output.txt
private static String obtenirFélicitations() {
        return "Félicitations! Votre environnement de développement est correctement configuré.";
}
  • Si vous avez modifié le code original, ajoutez la mention «Adapté de …»
    • Exemple :
// Adapté de : https://git.dti.crosemont.quebec/420-g04-ro/rafraichissement_java/-/blob/04d2626a58f53f22ba4869e189de89b699f9b0c2/lesson1/AlloLeMonde2/test/output.txt
private static String obtenirFélicitations() {
        return "Félicitations! Votre éditeur de texte est correctement configuré.";
}
  • Si vous vous êtes inspiré d’un code sans le recopier, ajoutez la mention «Inspiré de …»
    • Exemple :
// Inspiré de : https://git.dti.crosemont.quebec/420-g04-ro/rafraichissement_java/-/blob/04d2626a58f53f22ba4869e189de89b699f9b0c2/lesson1/AlloLeMonde2/test/output.txt
private static String féliciterUtilisateur(String nom) {
        return "Félicitations " + nom + "! Votre extracteur à jus est correctement connecté.";
}
  • Attention : assurez-vous de conserver la citation lorsque vous déplacez ou copiez le code.

Utilisation des travaux scolaires

Vous n’avez généralement pas à citer le code fourni par votre enseignant dans le cadre du cours, par exemple des fonctions utilitaires ou une ébauche de projet à compléter. Il est entendu que le code fourni peut être utilisé librement mais uniquement dans le cadre du cours pour lequel il vous a été fourni. Toute autre utilisation est soumise aux règles générales, soit l’obtention d’une permission, explicitement ou via une licence libre et l’ajout d’une citation.

Utiliser le code source produit par un autre étudiant, pour le même cours ou un autre cours, lors de la même session ou d’une session antérieure constitue un cas de plagiat, sauf dans les cas explicitement autorisés par l’enseignant, auquel cas ils requièrent la permission et la citation de son auteur original comme tout code réutilisé.

[auto-citation nécessaire dans le cas de son propre code réutilisé d’un autre cours?]

Entraide

L’entraide entre étudiants est bienvenue et encouragée; elle est bénéfique à l’apprentissage non seulement de l’étudiant qui reçoit un coup de main mais aussi de celui qui fournit son aide. Cependant, afin de ne pas commettre un acte de plagiat, même non délibéré, assurez-vous de respecter ces quelques balises:

  • Ne faites jamais le travail à la place de quelqu’un d’autre. Ce n’est ni à votre avantage ni à celui de l’étudiant que vous croyez aider.
  • Ne donnez jamais de réponses toutes faites pour un travail et ce, même si vous n’êtes pas étudiant du même cours. Vous pourriez être accusé de plagiat tout autant que celui qui a utilisé vos réponses.
  • Ne laissez jamais un autre étudiant l’occasion de copier, retranscrire ou s’inspirer de votre solution. Par exemple, en laissant sans surveillance un ordinateur ou un support contenant vos réponses ou en partageant votre écran à distance.
  • Ne partagez jamais vos travaux, même dans le but de simplement «s’en inspirer» ou «faire comprendre votre démarche».

La coopération

[à faire]

Conclusion

En général, l’utilisation de code, lorsque permise, doit être attribuée à son auteur et suivre les règles du copyright auquel il est soumis. En cas de doute, n’hésitez pas à demander à votre enseignant si l’utilisation que vous vous apprêtez à faire d’un code source est acceptable dans le cadre du cours.

Références : «Academic integrity at MIT», URL: «https://integrity.mit.edu/handbook/writing-code», consulté le 3 septembre 2020.