Le développement de logiciels se prête par nature à la réutilisation et à l'adaptation de matériels existants. Si, dans les débuts de cette jeune technologie, cela impliquait principalement la réutilisation par un individu de son propre code, l'évolution de plateformes telles que Bulletin Boards, puis USENET, et enfin le World Wide Web, a considérablement élargi l’étendue des sources du contenu de tiers, et les possibilités de le partager. Entre-temps, le domaine du développement logiciel lui-même a évolué de telle sorte qu'il est très rare d'écrire véritablement un programme à partir de rien, la pratique étant plutôt d'assembler des modules à différents niveaux d'abstraction du code machine sous-jacent.
En attendant, il faut garder à l'esprit que le code logiciel bénéficie automatiquement d’une protection internationale par droit d'auteur (Copyright) qui revient à l'auteur du code, ou si l'auteur est un employé, à son employeur. Ainsi, toute personne souhaitant réutiliser un code qui ne lui appartient pas, doit le faire conformément à une licence conférée par le propriétaire du code. Les projets logiciels modernes intègrent généralement des éléments sous de nombreuses licences différentes, leur suivi et le respect des conditions de chaque licence constituant de plus en plus un effort de gestion à part entière.
Les logiciels commerciaux de code de tiers sont généralement obtenus via un processus d'achat plus ou moins formel, avec un paiement effectué en échange d'une licence explicite. Ce scénario peut être plus facile à suivre, car il nécessite un engagement explicite de la part du titulaire de la licence. La situation est souvent moins facile à gérer pour le code non commercial tel que les extraits de code provenant de forums Internet, les "freeware" et en particulier le code mis à disposition sous une licence "Open Source".
Le mouvement Open Source a débuté en 1983 avec la fondation du projet GNU et de la "Free Software Foundation" (Fondation du Logiciel Libre) qui en est issue. Ce mouvement a notamment conduit au développement de licences de droits d'auteur dont le but n'était pas d'empêcher la diffusion, mais plutôt de la soutenir et de l'encourager, à des conditions spécifiques considérées comme cohérentes avec des objectifs plus larges. Le projet GNU a donné naissance à la GPL (General Public License) et, au fur et à mesure que le mouvement Open Source gagnait en popularité, d'autres développeurs ont lancé leurs projets avec une philosophie similaire et ont mis leur code à disposition selon les mêmes conditions. Tout en donnant aux utilisateurs le droit d'accéder au code source, de le modifier et de le distribuer, la licence GPL impose également un certain nombre d'obligations. Celles-ci sont complexes et sortent du cadre de cet article, mais beaucoup ont estimé qu'elles étaient dissuasives, notamment en ce qui concerne leur utilisation dans des projets commerciaux. Cela a conduit à une prolifération de licences qui peuvent être considérées comme variant sur une échelle de restriction, la série de licences GPL étant parmi les plus restrictives, et des licences telles que les licences MIT ou BSD étant les plus permissives.
Quelle que soit leur position sur cette échelle, presque toutes les licences Open Source imposent certaines contraintes aux entités qui souhaitent utiliser le matériel qu'elles régissent. Par exemple, la licence BSD, très permissive, exige toujours qu’une mention de Copyright et une copie de la licence elle-même soient inclues dans toute distribution du matériel, entre autres exigences. Cette exigence minimale est commune à la plupart des licences Open Source, de sorte que même si aucune exigence plus onéreuse n'est présente, toute version de logiciel incluant du matériel Open Source comprendra généralement une étape de compilation d'un fichier de notification ("notice file") répondant à ces exigences pour chaque module Open Source.
Par ailleurs, chaque licence a ses propres particularités, dont certaines peuvent avoir de graves répercussions sur les droits d'un utilisateur, par exemple en imposant des contraintes sur les conditions dans lesquelles son propre code peut être concédé sous licence aux utilisateurs finaux, sur sa liberté de faire valoir ses droits de brevet, sur les éléments qu'il doit mettre à la disposition des tiers sur demande, etc.
Le non-respect de l'une des exigences d'une licence peut invalider la licence elle-même, ce qui engendre pour l’entité une responsabilité légale envers le propriétaire du droit d'auteur pour violation du droit d'auteur, une éventuelle obligation de rappeler et/ou de réécrire un produit logiciel en infraction, ou d'autres responsabilités.
Bien qu’un logiciel en Open Source apporte son lot de considérations particulières, il existe d'autres problèmes importants liés aux droits d'auteur de tiers dans le développement de logiciels. Le droit d'auteur protège les images et les textes autres que le code logiciel, selon des règles différentes de celles qui s'appliquent au code logiciel, et il faut veiller à obtenir les droits appropriés pour ce type de matériel, même s'il est développé en interne. Une grande partie du matériel, y compris les images et le texte, ainsi que le code logiciel, est disponible sur internet sans restriction apparente, mais ne peut néanmoins pas être utilisée en toute sécurité dans un produit logiciel commercial sans l'obtention et le respect d'une licence appropriée.
Compte tenu de ces considérations, aucun logiciel commercial ne devrait être publié sans une évaluation approfondie du contenu de tiers présent dans le produit, des conditions applicables et des mesures nécessaires pour s'y conformer pleinement.
Marks & Clerk France dispose d'une expérience unique dans ce domaine : nous sommes en mesure d'aider les entreprises et structures de toutes tailles en formant les développeurs, en effectuant des analyses de code et des examens de licence ou en mettant en place des processus opérationnels commerciaux permettant d'assurer une conformité continue. Marks & Clerk France est désormais enregistré en tant que Cabinet de Conseil en PI partenaire de l’OpenChain ISO/IEC 5230, norme internationale pour la conformité des logiciels libres, et serait heureux de vous conseiller et de vous aider à mettre en œuvre un processus conforme à la norme ISO 5230.