L'Open Source Definition (« définition de l'open source ») détermine les conditions nécessaires pour qu'une licence soit considérée comme open source aux yeux de l'Open Source Initiative. Elle est publiée sur le site de l'OSI[1] avec une liste de licences approuvées[2].
La définition est reprise du texte des principes du logiciel libre selon Debian, écrits et adaptés principalement par Bruce Perens avec des contributions des développeurs de Debian. Le document est créé 9 mois avant la création de l'Open Source Initiative.
Code source
Le programme doit inclure le code source, et doit permettre une distribution sous forme de code source aussi bien que sous forme compilée. Si une certaine forme de produit n'est pas distribuée avec un code source, il doit y avoir des moyens publiquement accessibles permettant d'obtenir le code source moyennant un coût raisonnable, ou de le télécharger par Internet sans frais supplémentaires. La forme la plus apte par laquelle un développeur est à même de pouvoir modifier le programme est le code source. Une offuscation délibérée du code source n'est pas permise. Des formes intermédiaires comme la forme de sortie d'un préprocesseur ou traducteur ne sont pas permises.
Méta-conditions sur les licences agréés
Ci-dessous une traduction des conditions pour qu'un logiciel soit considéré comme open source par l'OSI :
- La redistribution libre
La licence ne doit empêcher quiconque de vendre ou de donner le logiciel en tant que composant d'une distribution de logiciels constitués de programmes provenant de différentes sources. La licence ne doit pas exiger de droits d'auteur ou d'autres commissions sur une telle vente.
- Le code source
Le programme doit inclure le code source, et autoriser sa distribution sous forme compilée aussi bien que sous forme de code source. Lorsqu'un produit n'est pas distribué avec son code source, il doit exister un moyen bien indiqué pour l'obtenir sans autres frais qu'un coût raisonnable de reproduction, avec une préférence pour le téléchargement gratuit depuis l'Internet. Le code source doit être la forme privilégiée afin qu'un programmeur puisse modifier le programme. Il est interdit de proposer un code source rendu volontairement difficile à comprendre. Il est également interdit de soumettre des formes intermédiaires, comme le résultat d'un préprocesseur ou d'un traducteur automatique.
- Les œuvres dérivées
La licence doit autoriser les modifications et les applications dérivées, et elle doit permettre leur distribution sous les mêmes termes que ceux de la licence du logiciel original.
- L'intégrité du code source de l'auteur
La licence ne peut restreindre la redistribution d'un code source sous forme modifiée que si elle permet la distribution de fichiers de correction (patch) avec le code source, dans le but de modifier le programme au moment du développement. La licence doit explicitement permettre la distribution de logiciels développés à partir de codes sources modifiés. La licence peut exiger que les applications dérivées portent un nom différent ou un numéro de version distinct de ceux du logiciel original.
- La non-discrimination contre des personnes ou groupes
La licence ne doit pas discriminer des personnes ou des groupes de personnes.
- La non-discrimination contre des champs d'application
La licence ne doit pas limiter l'utilisation du logiciel à un champ d'application particulier. Par exemple, elle ne doit pas interdire l'utilisation du logiciel dans le cadre d'une entreprise ou pour la recherche génétique.
- La distribution de licence
Les droits attachés au programme doivent s'appliquer à tous ceux à qui il est redistribué, sans obligation pour ces parties d'obtenir une licence supplémentaire.
- La licence ne doit pas être spécifique à un produit
Les droits attachés au programme ne doivent pas dépendre du fait qu'il fasse partie d'une quelconque distribution de logiciels. Si le programme est extrait de cette distribution et est utilisé ou distribué sous les termes de sa propre licence, toutes les parties auxquelles il est redistribué doivent bénéficier des mêmes droits que ceux accordés par la distribution originelle de logiciels.
- La licence ne doit pas restreindre d'autres logiciels
La licence ne doit pas imposer de restrictions sur d'autres logiciels distribués avec le logiciel licencié. Par exemple, la licence ne doit pas exiger que tous les programmes distribués sur le même support soient des logiciels open source.
- La licence doit être neutre sur le plan technologique
Aucune disposition de la licence ne peut aller à l'encontre d'une quelconque technologie ou style d'interface.
Travaux dérivés
La licence doit permettre d'effectuer des modifications et des travaux dérivés, pouvant être distribués sous les mêmes termes que la licence du logiciel original[3]. Par exemple, un logiciel autorisant les travaux dérivés mais leur imposant une licence différente n'est pas compatible avec cette définition. Les travaux dérivés suivent donc la même licence que l'original, ou une autre, au choix du développeur (une liste est généralement fixée).
On peut noter que la GNU/GPL est plus stricte sur ce point, puisqu'elle impose l'usage de la même licence pour les travaux dérivés.
Notes et références
- (en) The Open Source Definition ou sa traduction française par Erwan Monier.
- (en) The Approved Licenses.
- Phrase originale : « The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software. ».