Question

Depuis le noyau Linux est GPL et non LGPL je suppose qu'il est illégal de lier du code propriétaire à lui. Comment l'industrie ce contourne? Je me attends à ce que la licence GPL forcera tout développeur à libérer sous licence GPL conducteur et / ou un module du noyau.

Peut-être que je suis confus et mettre en œuvre un nouveau module n'est pas vraiment relier contre le code du noyau ??? Comment les entreprises traitent avec cela? Peut-être relier l'autre sens (du noyau à leurs binaires)?

D'autre part, il y a le noyau BSD. Où vous êtes libre de lien protégé IP. Pouvez-vous obtenir une meilleure conception implémentation de vos pilotes dans un noyau BSD? Y at-il restriction de conception lors de l'implémentation des pilotes pour GPL noyaux?

Était-ce utile?

La solution

Comme vous avez dit la licence BSD utilisé par le noyau BSD est beaucoup plus libérale de sorte qu'il n'y a pas de problème pour relier les modules sous licence quel que soit là.

Pour le cas de Linux, il est vrai que la GPL en soi interdit la liaison de code non compatible avec la GPL qui serait permet pas de lien dans les modules propriétaires, ou même des modules LGPL.

Toutefois, les détenteurs de droits d'auteur linux que vous accordez à lier votre module « LGPL » avec un code propriétaire. Un exemple est le pilote nvidia:

/------------.-\
| Kernel       |
|              |
|   /--------\ |
|   | Module | |     /-------------------\
|   | (LGPL) <========> proprietary code |
|   \--------/ |     \-------------------/
\--------------/

Ce serait encore illégal sous licence GPL en général, mais est explicitement autorisé pour le noyau Linux En tant que référence, voir ce que Linus Torvalds a à dire au sujet de la question ici.

http://linuxmafia.com/faq/Kernel/proprietary-kernel- modules.html

P.S. La liaison est une opération symétrique dans les termes de GPL.

Autres conseils

Il est pas l'acte de se lier qui active les restrictions de GPL.

Il est le d'un « travail dérivé » du travail de GPL qui active les restrictions - vous devez donner à quiconque vous a donné le « travail dérivé » au code source nécessaire pour recréer le " travaux dérivés ».

Maintenant, la question devient l'un de l'endroit où la ligne « travail dérivé » est tiré - (! Et est susceptible d'être différent dans les différentes juridictions) qui est loin d'être limpide. Par exemple, si vous distribuez un binaire compilé du noyau Linux avec votre code lié statiquement en tant que partie de cela, il est assez clair que le binaire entier est un « travail dérivé ». D'autre part, si vous distribuez juste votre module qui utilise uniquement « interfaces publiées » du noyau, alors il est probablement pas un « travail dérivé ».

Il y a beaucoup d'espace entre ces deux positions, cependant. Par exemple, si vous distribuez un dispositif qui contient une mémoire flash contenant un noyau Linux et un pilote binaire compilé, est le contenu complet de la mémoire flash d'un « travail dérivé »? Il semble que cela sûr pour moi - mais avis divergent, et seule réponse définitive viendra où il est testé au tribunal (et même alors, que la compétence de cette juridiction)

.

Je ne peux pas dire de votre question, mais vous pouvez penser à cette arrière. Si vous essayez d'utiliser un pilote propriétaire sur Linux, alors oui, cela devrait être permis.

Il est vrai que tout code liens contre le code licence GPL doit être lui-même la GPL. Cependant, le code GPL-ed peut lien avec les bibliothèques de source fermée, sans modifier la licence de ces bibliothèques (sinon, nous pourrions faire toutes les bibliothèques existe open-source simplement en écrivant un programme de GPL et de le lier contre la bibliothèque). Par conséquent, la licence GPL noyau Linux peut lien contre votre pilote source fermée sans aucun problème.

Cela étant dit, cela exige que le conducteur est écrit de telle sorte qu'il est soit entièrement autonome ou des liens uniquement avec les bibliothèques qui permettent la liaison sans restriction (LGPL, MIT, etc.). Cela aussi signifie que votre pilote aurait besoin d'être un module de noyau chargeable et non compilé statiquement dans le noyau.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top