GPL Bison 문법이 응용 프로그램에 영향을 줍니까?


10

내 컴파일러에 GPL Bison 문법을 사용할 생각입니다.

문법이 파서를 "감염시켜"오픈 소스가되어야합니까?

문법의 관점에서 들소의 입력은 GPL입니다.


2
명확히하십시오. 문법 (즉, Bison에 대한 입력)이 GPL이거나 BPL이 GPL이기 때문에 Bison 사용에 대해 걱정하고 있습니까?
Craig

@Craig 프로그램의 출력은 일반적으로 프로그램을 생성 한 프로그램의 라이센스가 아닙니다. 그러나 bison출력에 GPL 아래에 상당한 양의 코드가 포함되어 있기 때문에 GPL이 아닌 프로그램에 들소를 사용할 수있는 예외가 없다면 GPL 아래에 있음을 의미합니다. .

@MichaelT 예. 만약 문법 자체가 GPL에 의해 다루어 졌다는 것을 의미한다면 (예를 들어, GPL 프로그램에서 가져온 것입니다), 문법의 GPL은 아마도 그의 프로그램을 파생 된 작품으로 만들 것입니다. 실제 질문에 대한 설명이 필요합니다.
Craig

Bison은 LALR (1) 언어에 대한 파서를 생성합니다. 언어가 본질적으로 LALR (1) 인 경우, 사용하기 어렵고 구문 분석하기 어려운 상당히 심각한 고치기가있을 수 있습니다. 당신은 아마도 당신의 언어에 대한 간단한 재귀 강하 파서 (RDP)를 작성할 수있을만큼 언어를 단순화함으로써 훨씬 더 많은 도움을받을 것입니다. RDP는 LALR (1) 문법 및 구문 분석 작업보다 작성 및 유지 관리가 훨씬 쉬운 경향이 있습니다.
John R. Strohm

설명을 위해 : 나는 들소의 입력을 의미
Stasik

답변:


7

Bison 자체는 GPL에 따라 라이센스가 부여되지만 Bison이 만든 파서는 Gison 에 의해 자동으로 적용되지 않으며 최소한 최신 버전의 Bison에는 적용되지 않습니다.

들소 사용 조건

Bison 생성 파서에 대한 배포 조건은 파서가 무료 프로그램에서 사용되도록 허용합니다. Bison 버전 2.2 이전에는 이러한 추가 권한이 Bison이 C에서 LALR (1) 파서를 생성 할 때만 적용되었습니다. Bison 버전 1.24 이전에는 Bison 생성 파서는 무료 소프트웨어 인 프로그램에서만 사용할 수있었습니다.

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

그러나 GPL 라이센스 문법에서 생성 된 파서 는 문법에 기초한 작업이기 때문에 프로그램을 컴파일하는 것과 같은 자동 변환이기 때문에 GPL에서도 대부분 적용됩니다.

물론 모든 법적 문제와 마찬가지로 결정적인 답은 없으며 변호사와 판사조차도 동의하지 않을 수도 있지만 이것이 일반적인 합의라고 생각합니다.


2
나는 그가 Bison의 라이센스에 대해 묻지 않고 문법의 라이센스에 대해 묻고 있다고 생각하지 않습니다.
Jörg W Mittag

3
무료 프로젝트가 아닌 프로젝트에서 Bison 생성 파서를 사용할 수있는 실제 라이센스 예외는 여기에서 찾을 수 있습니다 : git.savannah.gnu.org/cgit/bison.git/tree/src/parse-gram.h
Bart van Ingen Schenau

3
@ JörgWMittag : Bison은 GPL 소프트웨어이고 Bison의 일부는 생성 된 문법으로 만들므로 Bison의 라이센스는 매우 관련이 있습니다.
Bart van Ingen Schenau

@BartvanIngenSchenau : 네,하지만 그것은 질문과 관련이 없습니다. OP는 Bison이 GPL이 된 그의 파서를 Bison의 파생 된 작품으로 만들지 여부를 묻지 않았으며, GPL 인 문법이 그의 파서를 문법의 파생 된 작업으로 만들지 여부를 묻고있었습니다.
Jörg W Mittag

@ JörgWMittag : 혼란이 어디에서 왔는지 봅니다. 이것은 OP의 설명이 필요하다
Bart van Ingen Schenau
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.