Une grammaire GPL Bison infecte-t-elle mon application?

10

Je pense à utiliser une grammaire GPL Bison pour mon propre compilateur.

La grammaire "infectera" mon analyseur de telle sorte qu'il doit être open source?

La grammaire - en termes de - l'entrée de bison est GPL.

Stasik
la source
2
Précisez s'il vous plaît. Voulez-vous dire que la grammaire (c'est-à-dire l'entrée de Bison) est GPL ou êtes-vous préoccupé par l'utilisation de Bison parce que c'est GPL?
Craig
@Craig la sortie d'un programme n'est généralement pas sous la licence du programme qui l'a généré. Cependant, bisoninclut une quantité importante de code sous la GPL dans sa sortie, ce qui signifierait que tout ce qui l'utilise serait également sous la GPL ... sauf s'il y avait une exception pour pouvoir utiliser le bison pour les programmes non-gpl .
@MichaelT Oui mais s'il veut dire que la grammaire elle-même est couverte par la GPL (par exemple, elle a été prise d'un programme GPL) alors la GPL de la grammaire fera probablement de son programme un travail dérivé. Une clarification de la question réelle est nécessaire.
Craig
Bison génère des analyseurs pour les langues LALR (1). Si votre langue est intrinsèquement LALR (1), elle contient probablement des problèmes assez graves qui la rendent difficile à UTILISER et à analyser. Vous obtiendrez probablement beaucoup plus de simplification de votre langue que vous pourrez écrire un analyseur de descente récursif (RDP) simple pour cela. Les RDP sont généralement beaucoup plus faciles à écrire et à gérer que les grammaires et les actions d'analyse LALR (1).
John R. Strohm
pour des éclaircissements: je voulais dire l'entrée de bison
Stasik

Réponses:

7

Bien que Bison lui-même soit sous licence GPL, un analyseur créé par Bison n'est pas automatiquement couvert par la GPL, du moins pas avec les versions récentes de Bison:

Conditions d'utilisation du bison

Les conditions de distribution des analyseurs générés par Bison permettent d'utiliser les analyseurs dans des programmes non libres. Avant la version 2.2 de Bison, ces autorisations supplémentaires ne s'appliquaient que lorsque Bison générait des analyseurs LALR (1) en C. Et avant la version 1.24 de Bison, les analyseurs générés par Bison ne pouvaient être utilisés que dans des programmes qui étaient des logiciels libres.

Source: http://www.gnu.org/software/bison/manual/bison.html#Conditions

Cependant, un analyseur créé à partir d'une grammaire sous licence GPL est très probablement également couvert par la GPL, car il s'agit d'un "travail basé sur" la grammaire (il s'agit d'une conversion automatique, comme la compilation d'un programme).

Bien sûr, comme dans toutes les questions juridiques, il n'y a pas de réponse définitive, et même les avocats et les juges peuvent être en désaccord, mais je pense que c'est le consensus général.

sleske
la source
2
Je ne pense pas qu'il pose des questions sur la licence de Bison, il pose des questions sur la licence de la grammaire.
Jörg W Mittag
3
L'exception de licence réelle qui vous permet d'utiliser un analyseur généré par Bison dans des projets non libres peut être trouvée ici: git.savannah.gnu.org/cgit/bison.git/tree/src/parse-gram.h
Bart van Ingen Schenau
3
@ JörgWMittag: Comme Bison est un logiciel GPL et que certaines parties de Bison en font la grammaire générée, la licence de Bison est très pertinente.
Bart van Ingen Schenau
@BartvanIngenSchenau: Oui, mais cela n'a rien à voir avec la question. L'OP ne demandait pas si Bison étant GPL fait de son analyseur un travail dérivé de Bison, il demandait si la grammaire étant GPL fait de son analyseur un travail dérivé de la grammaire.
Jörg W Mittag
@ JörgWMittag: Je vois d'où vient la confusion. Cela nécessite des éclaircissements de l'OP
Bart van Ingen Schenau