Một ngữ pháp GPL Bison có lây nhiễm ứng dụng của tôi không?


10

Tôi đang suy nghĩ về việc sử dụng ngữ pháp GPL Bison cho trình biên dịch của riêng tôi.

Ngữ pháp sẽ "lây nhiễm" trình phân tích cú pháp của tôi sao cho nó cần phải là nguồn mở?

Ngữ pháp - về mặt - đầu vào của bò rừng là GPL.


2
Vui lòng làm rõ. Bạn có nghĩa là ngữ pháp (tức là đầu vào của Bison) là GPL hay bạn lo ngại về việc sử dụng Bison vì nó là GPL?
Craig

@Craig đầu ra của một chương trình thường không theo giấy phép của chương trình đã tạo ra nó. Tuy nhiên, bisonbao gồm một lượng lớn mã nằm dưới GPL trong đầu ra của nó, điều đó có nghĩa là bất cứ thứ gì sử dụng cũng sẽ nằm dưới GPL ... trừ khi có ngoại lệ có thể sử dụng bison cho các chương trình không phải là gpl .

@MichaelT Có nhưng nếu anh ta có nghĩa là chính ngữ pháp được bao phủ bởi GPL (ví dụ: nó được lấy từ chương trình GPL) thì GPL của ngữ pháp có thể sẽ làm cho chương trình của anh ta trở thành một công việc xuất phát. Làm rõ câu hỏi thực tế là cần thiết.
Craig

Bison tạo các trình phân tích cú pháp cho các ngôn ngữ LALR (1). Nếu ngôn ngữ của bạn vốn là LALR (1), có thể có một số crocks khá nghiêm trọng trong đó gây khó khăn cho việc sử dụng cũng như khó phân tích. Bạn có thể sẽ nhận được nhiều hơn từ việc đơn giản hóa ngôn ngữ của mình đủ để bạn có thể viết một trình phân tích cú pháp gốc đệ quy đơn giản (RDP) cho nó. RDP có xu hướng dễ viết và duy trì hơn đáng kể so với ngữ pháp LALR (1) và các hành động phân tích cú pháp.
John R. Strohm

để làm rõ: tôi có nghĩa là đầu vào của bò rừng
Stasik

Câu trả lời:


7

Mặc dù bản thân Bison được cấp phép theo GPL, một trình phân tích cú pháp do Bison tạo ra không được GPL tự động bao phủ, ít nhất là không phải với các phiên bản gần đây của Bison:

Điều kiện sử dụng Bison

Các điều khoản phân phối cho trình phân tích cú pháp do Bison tạo cho phép sử dụng trình phân tích cú pháp trong các chương trình không có dữ liệu. Trước Bison phiên bản 2.2, các quyền bổ sung này chỉ được áp dụng khi Bison đang tạo trình phân tích cú pháp LALR (1) trong C. Và trước Bison phiên bản 1.24, trình phân tích cú pháp do Bison tạo ra chỉ có thể được sử dụng trong các chương trình là phần mềm miễn phí.

Nguồn: http://www.gnu.org/software/bison/manual/bison.html#Conditions

Tuy nhiên, trình phân tích cú pháp được tạo từ ngữ pháp được cấp phép GPL rất có thể cũng được bao phủ bởi GPL, bởi vì đây là "công việc dựa trên" ngữ pháp (nó là một chuyển đổi tự động, giống như biên dịch một chương trình).

Tất nhiên, như trong tất cả các vấn đề pháp lý, không có câu trả lời dứt khoát, và thậm chí luật sư và thẩm phán có thể không đồng ý, nhưng tôi tin rằng đây là sự đồng thuận chung.


2
Tôi không nghĩ anh ta hỏi về giấy phép của Bison, anh ta hỏi về giấy phép ngữ pháp.
Jörg W Mittag

3
Có thể tìm thấy ngoại lệ giấy phép thực tế cho phép bạn sử dụng trình phân tích cú pháp do Bison tạo trong các dự án không miễn phí tại đây: git.savannah.gnu.org/cgit/bison.git/tree/src/parse-gram.h
Bart van Ingen Schenau

3
@ JörgWMittag: Vì Bison là phần mềm GPL và các bộ phận của Bison biến nó thành ngữ pháp được tạo ra, giấy phép của Bison rất phù hợp.
Bart van Ingen Schenau

@BartvanIngenSchenau: Vâng, nhưng điều đó không liên quan đến câu hỏi. OP không hỏi liệu Bison có phải là GPL làm cho trình phân tích cú pháp của anh ta trở thành một tác phẩm xuất phát của Bison hay không, anh ta đang hỏi liệu ngữ pháp là GPL có làm cho trình phân tích cú pháp của anh ta trở thành một tác phẩm bắt nguồn của ngữ pháp hay không.
Jörg W Mittag

@ JörgWMittag: Tôi thấy sự nhầm lẫn đến từ đâu. Điều này cần được làm rõ từ OP
Bart van Ingen Schenau 10/12/13
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.