La GPLv3 est "compatible" avec BSD 2 clauses dans le sens ou on peut prendre tout le code écrit en BSD 2 clauses et le re-licencier en GPL (v2 ou V3)
Pareil pour la MIT, la WTFPL, et la plupart cas pour la Apache v2 si il n'y a pas de brevets ou de terminaison de licence impliqués.
Par contre le contraire n'est absolument pas vrai. Si on s'amuse à prendre du code GPL et à le mettre dans un autre source sous une autre licence reconnue comme compatible, ce source devient GPL immédiatement.
En Bref GPL + Compatible GPL => GPL
Et de gros soucis se posent sur des outils systèmes, car la licence GPL considère les bibliothèques systèmes comme différentes des bibliothèques non systèmes. Le check rapide que l'on est encouragé à faire est de se demander si le programme que l'on a créé aurait du sens si il n'était lié à la bibliothèque GPL.
Je fais un jeu vidéos qui utilise des bibliothèques de rendu GPL => je pourrais utiliser d'autre bibliothèques de modifier sans trop modifier mon code. Mon jeu n'est probablement pas nécessairement en GPL
Je fais un jeu vidéo qui utilise tout un framework GPL, moteur, rendu IA etc. => si je veux que mon jeu fonctionne avec un autre framework il faut probablement que je recode toute la logique. Mon jeu ne tient pas debout sans GPL, je suis obligé de le mettre en licence GPL.
Pour tout ce qui n'est pas système ça suffit généralement (même si mon exemple est caricatural et que c'est beaucoup plus complexe que ça en vérité). Pour ce qui est système par contre c'est plus compliqué: Le kernel, les pilotes et même certains outils bas niveau sont nécessaires à tous les programmes, et aucun programme ne peut tenir debout si il ne peut pas allouer de mémoire par exemple. Du coup il y a une exception dans la GPL qui dit que si on utilise que des bibliothèques système et/ou bas niveau on est quand même pas obligé de mettre son programme en licence GPL.
Mais rien ne dit que si on crée une bibliothèque système ou bas niveau qui utilise du code GPL, on peut lui donner une autre licence que GPL.
Et la GPLv3 a pas vraiment aidé, au contraire dans sa lutte contre la tivoisation qui se transforme lentement en lutte contre les logiciels dans le cloud non redistribués elle a tendance à générer pas mal de craintes, même chez des acteurs établis du libre.
Pour ces raisons, Linus Torvalds n'a pas fait la transition (si tant est qu'elle soit même raisonnablement faisable).
Et c'est aussi pour ces raisons que les systèmes BSD s'éloignent autant que possible de la GPL. Mais ils n'ont pas envie que l'on vienne leur expliquer que comme une lib quelconque sous GPL a été chain-linkée dans le kernel, les pilotes, les mécanismes de virtualisation ou de jail du coup un pan entier de leur système passe en GPL. Et surtout ils veulent rassurer leur clients institutionnels sur ce point.
TLDR : la GPLv3 n'est pas compatible avec BSD, c'est BSD qui est compatible vers GPLv3 et il existe un risque faible mais non nul que l'utilisation des outils et des bibliothèques GNU forcent mécaniquement la licence GPL sur le système BSD. Du coup par prudence les projets BSD s'éloignent de l'écosystème GNU.
[^] # Re: Obsolète
Posté par Kaane . En réponse à la dépêche FreeBSD 13.0. Évalué à 8.
Tout dépend de comment on défini compatible.
La GPLv3 est "compatible" avec BSD 2 clauses dans le sens ou on peut prendre tout le code écrit en BSD 2 clauses et le re-licencier en GPL (v2 ou V3)
Pareil pour la MIT, la WTFPL, et la plupart cas pour la Apache v2 si il n'y a pas de brevets ou de terminaison de licence impliqués.
Par contre le contraire n'est absolument pas vrai. Si on s'amuse à prendre du code GPL et à le mettre dans un autre source sous une autre licence reconnue comme compatible, ce source devient GPL immédiatement.
En Bref GPL + Compatible GPL => GPL
Et de gros soucis se posent sur des outils systèmes, car la licence GPL considère les bibliothèques systèmes comme différentes des bibliothèques non systèmes. Le check rapide que l'on est encouragé à faire est de se demander si le programme que l'on a créé aurait du sens si il n'était lié à la bibliothèque GPL.
Je fais un jeu vidéos qui utilise des bibliothèques de rendu GPL => je pourrais utiliser d'autre bibliothèques de modifier sans trop modifier mon code. Mon jeu n'est probablement pas nécessairement en GPL
Je fais un jeu vidéo qui utilise tout un framework GPL, moteur, rendu IA etc. => si je veux que mon jeu fonctionne avec un autre framework il faut probablement que je recode toute la logique. Mon jeu ne tient pas debout sans GPL, je suis obligé de le mettre en licence GPL.
Pour tout ce qui n'est pas système ça suffit généralement (même si mon exemple est caricatural et que c'est beaucoup plus complexe que ça en vérité). Pour ce qui est système par contre c'est plus compliqué: Le kernel, les pilotes et même certains outils bas niveau sont nécessaires à tous les programmes, et aucun programme ne peut tenir debout si il ne peut pas allouer de mémoire par exemple. Du coup il y a une exception dans la GPL qui dit que si on utilise que des bibliothèques système et/ou bas niveau on est quand même pas obligé de mettre son programme en licence GPL.
Mais rien ne dit que si on crée une bibliothèque système ou bas niveau qui utilise du code GPL, on peut lui donner une autre licence que GPL.
Et la GPLv3 a pas vraiment aidé, au contraire dans sa lutte contre la tivoisation qui se transforme lentement en lutte contre les logiciels dans le cloud non redistribués elle a tendance à générer pas mal de craintes, même chez des acteurs établis du libre.
Pour ces raisons, Linus Torvalds n'a pas fait la transition (si tant est qu'elle soit même raisonnablement faisable).
Et c'est aussi pour ces raisons que les systèmes BSD s'éloignent autant que possible de la GPL. Mais ils n'ont pas envie que l'on vienne leur expliquer que comme une lib quelconque sous GPL a été chain-linkée dans le kernel, les pilotes, les mécanismes de virtualisation ou de jail du coup un pan entier de leur système passe en GPL. Et surtout ils veulent rassurer leur clients institutionnels sur ce point.
TLDR : la GPLv3 n'est pas compatible avec BSD, c'est BSD qui est compatible vers GPLv3 et il existe un risque faible mais non nul que l'utilisation des outils et des bibliothèques GNU forcent mécaniquement la licence GPL sur le système BSD. Du coup par prudence les projets BSD s'éloignent de l'écosystème GNU.