2008-09-19 7 views
12

Tôi đang viết một thư viện có mục đích chung nhỏ, mà tôi muốn sử dụng trong dự án cấp phép BSD/X11 của tôi. Tôi muốn bao gồm hỗ trợ toàn cầu hóa trong đó, specifficaly, tôi muốn sử dụng Glib::ustring từ glibmm, được cấp phép theo LGPL. Ở đây có câu hỏi: Đối với BSD/X11 được cho phép nhiều hơn LGPL, tôi có thể sử dụng đoạn mã này trong thư viện được cấp phép BSD/X11 của tôi không?Tôi có thể sử dụng thư viện LGPL trong dự án được cấp phép BSD/X11 không?

+3

Tôi đang bỏ phiếu để đóng câu hỏi này là không có chủ đề vì đó là về cấp phép hoặc các vấn đề pháp lý, chứ không phải lập trình hoặc phát triển phần mềm. [Xem tại đây] (http://meta.stackoverflow.com/questions/274963/questions-about-licensing/274964#274964) để biết chi tiết và [trợ giúp] để biết thêm. – JasonMArcher

Trả lời

13

IANAL, nhưng tôi tin rằng điều này được cho phép. Không có gì trong giấy phép BSD ngăn bạn trộn lẫn mã của các giấy phép khác, và LGPL cũng không quan tâm đến những gì bạn liên kết với nó. Bạn sẽ phải chịu tuy nhiên những hạn chế sau:

1) Đối với phần BSD, nếu có một điều khoản ghi công, bạn vẫn sẽ cần phải tôn trọng nó và bao gồm các ghi công thích hợp trong tài liệu của bạn, vv

2) Đối với thư viện LGPL, bạn được yêu cầu tạo nguồn thư viện có sẵn cho người nhận các tệp nhị phân của dự án của bạn.

+5

2) chỉ khi bạn phân phối thư viện với dự án của bạn. Nếu bạn chỉ yêu cầu người dùng của bạn tự mình thực hiện, bạn không cần phải cung cấp nguồn. – ypnos

+0

"Thư viện LGPL" theo nghĩa câu trả lời này là "thư viện được chia sẻ của LGPL". Đối với thư viện được liên kết tĩnh, hãy trả lời http://stackoverflow.com/a/106415/490291. – Tino

2

IANAL, nhưng ...

Miễn là bạn tuân theo các hạn chế liên kết trong LGPL, bạn nên OK. Về cơ bản, người dùng phải có khả năng sửa đổi mã LGPL. Vì mã của bạn được cấp phép BSD và giấy phép BSD cho phép nhị phân không có nguồn (sẽ vi phạm LGPL), bạn cần tạo thư viện động được cấp phép theo LGPL của tất cả mã LGPL của bạn và sử dụng mã đó.

3

@Branan: hiểu biết hiện tại của tôi về phần LGPL 4 (IANAL):

  1. AFAIK, nhiệm vụ làm thư viện động là trên bên phân phối một phiên bản nhị phân chỉ (hoặc phiên bản khác LGPL-tương thích), không phải trên người cấp phép (giả sử người cấp phép không phân phối phiên bản không tương thích với nhị phân/LGPL).
  2. Thư viện LGPL tĩnh cũng tốt nếu phiên bản chỉ nhị phân được phân phối với một loạt các tệp đối tượng (tương ứng với mã được cấp phép được phép) để người dùng có thể liên kết lại với phiên bản tùy chỉnh của thư viện LGPL.
  3. Trong mọi trường hợp, mã chỉ nhị phân phải cho phép thiết kế ngược lại, để cho phép thư viện LGPL được tùy chỉnh bởi người dùng và vẫn có thể liên kết với các tệp đối tượng.