Gửi lại mã BSD 2/3 cho GPL


11

Giả sử tôi phát hành một số mã nguồn theo giấy phép BSD mới. Được phép người khác lấy mã này, sửa đổi mã và phân phối theo các điều khoản của GPL? Từ Wikipedia :

Nhiều giấy phép phần mềm miễn phí phổ biến nhất, chẳng hạn như giấy phép MIT / X ban đầu, giấy phép BSD (ở dạng 2 điều khoản hiện tại) và LGPL, là "tương thích GPL". Nghĩa là, mã của họ có thể được kết hợp với một chương trình theo GPL mà không có xung đột (sự kết hợp mới sẽ áp dụng GPL cho toàn bộ). Tuy nhiên, một số giấy phép phần mềm miễn phí / nguồn mở không tương thích với GPL.

Tôi giả sử điều này ngụ ý rằng người ta có thể cấp lại mã được cấp phép BSD mới cho GPL?


Tôi đã hỏi một câu hỏi tương tự trên Sàn giao dịch ngăn xếp nguồn mở : opensource.stackexchange.com/questions/4837/ nam Tôi cảm thấy như chúng ta chưa tìm thấy câu trả lời kết luận; tất cả những gì chúng ta có là một tá dự đoán. Sẽ thật tuyệt khi được nghe từ một luật sư thực tế, hoặc thậm chí có thể là chính FSF.
Tanner Swett

Câu trả lời:


8

Đó là một câu hỏi thú vị. Tuyên bố miễn trừ trách nhiệm: IANAL.

Đoạn trích dẫn có nghĩa là mã được cấp phép BSD có thể được sử dụng trong một dự án được cấp phép GPL.

Mặt khác, bạn vẫn là người giữ bản quyền mã của mình. Giấy phép của mã gốc có thể được thay đổi mà không có sự cho phép của bạn. Ngoài ra giấy phép BSD yêu cầu rõ ràng:

  • Việc phân phối lại mã nguồn phải giữ lại thông báo bản quyền ở trên, danh sách các điều kiện này và tuyên bố từ chối trách nhiệm sau đây.
  • Phân phối lại ở dạng nhị phân phải sao chép thông báo bản quyền ở trên, danh sách các điều kiện này và từ chối trách nhiệm sau đây trong tài liệu và / hoặc các tài liệu khác được cung cấp với bản phân phối.

Do đó, giấy phép BSD không thể bị tước khỏi mã của bạn.

Để thực sự có thể phát hành mã kết hợp theo GPL, tác giả khác sẽ phải thực hiện "đóng góp đáng kể" cho mã. Thật mơ hồ về ý nghĩa chính xác của nó, nhưng thường nên có nghĩa là ít nhất là thêm tính năng quan trọng mới, không chỉ là bản vá nhỏ.

Tình huống tương tự: SFLC hoàn thành Đánh giá Trình điều khiển không dây Atheros cho Linux, Hướng dẫn phát hành cho nhà phát triển .

Câu hỏi liên quan trên SO: /programming/821608/relicensing-a-bsd-l Library


Vì vậy, các điều kiện BSD phải được giữ lại. Thế là rõ ràng. Nhưng các điều kiện bổ sung có thể được thêm vào danh sách, giả sử một mệnh đề GPL giống như làm cho bạn thay đổi-có sẵn cho người khác không?
Brecht Machiels

1
@Brecht: nếu và chỉ khi đó là một cái gì đó mới thuộc công việc riêng biệt theo tác phẩm bản quyền. Nếu đó là một thay đổi nhỏ hoặc thích ứng, thì đó không phải là công việc riêng biệt, vì vậy bạn không thể cấp phép lại.
vartec

6

Theo kinh nghiệm của tôi, không, bạn không "cấp phép lại" thứ gì đó vì bạn không sở hữu bản quyền. Bạn chỉ có giấy phép từ các tác giả ban đầu.

Những gì bạn có thể làm là sử dụng tác phẩm có bản quyền trong tác phẩm phái sinh, nhưng bạn phải tuân theo các điều khoản của giấy phép, trong trường hợp của BSD / MIT, nói rằng bạn phải giữ thông báo bản quyền và giấy phép cho mã bạn sử dụng .

Trong thực tế, nếu ai đó sử dụng thư viện BSD của bạn trong ứng dụng GPL, những gì bạn thấy trong ứng dụng của họ là:

  • Một bản sao giấy phép GPL trong một tệp văn bản
  • Một tệp riêng biệt tuyên bố toàn bộ chương trình được cấp phép theo GPL (và trỏ chúng vào tệp giấy phép GPL cho các chi tiết), nhưng sau đó có các phần riêng biệt bên dưới tiêu đề cho biết "thư viện XYZ được cấp phép theo giấy phép BSD" và sau đó hiển thị giấy phép của XYZ ở đó là tốt. Đây là một ví dụ về loại tệp này, từ một ứng dụng GPL mà tôi đã viết .

Nếu ai đó lấy một đoạn mã hoặc một tệp từ công việc của bạn và đưa nó vào ứng dụng GPL của họ, sau đó sửa đổi nó, có lẽ bạn sẽ thấy chúng bao gồm cả GPL và tiêu đề BSD trên tệp. Các tập tin về cơ bản sẽ có hai tác giả - bạn và họ. Cả hai thông báo bản quyền sẽ phải được hiển thị.

Hãy nhớ rằng, GPL là virus nên nó áp dụng cho toàn bộ công việc, nhưng BSD / MIT chỉ áp dụng cho mã chính xác mà ai đó đã viết.


1
có lẽ bạn có thể cấp lại tác phẩm có giấy phép cho phép, ngay cả khi bạn không phải là người giữ bản quyền gốc. BSD xuất hiện để cho phép điều này.
Armand

2

Tuyên bố miễn trừ trách nhiệm: IANAL.

Không có sự cấm đoán trong giấy phép MIT hoặc BSD chống lại việc cấp phép lại. Do các giấy phép MIT và BSD không bổ sung các hạn chế ngoài những gì đã có trong GPL (các bit bản quyền và bảo hành đã có trong khoản 1 của Điều khoản và Điều kiện của GPLv2) Tôi không thấy có vấn đề gì trong việc từ chối và cấp lại dự án được cấp phép của MIT.

Giấy phép BSD cũ có một điều khoản quảng cáo không chơi tốt với GPL.


2
Tôi cũng không phải luật sư, nhưng tôi nghĩ đây có thể là thông tin sai lệch. Chỉ người giữ bản quyền mới có thể đăng ký lại tác phẩm có bản quyền. Lý do BSD tương thích GPL là mã được cấp phép BSD có thể được sử dụng trong công việc của GPL, nhưng mã BSD ban đầu vẫn được cấp phép theo BSD. Là một phần của tác phẩm phái sinh, nó cũng được cấp phép theo GPL, nhưng bạn phải giữ nguyên giấy phép gốc.
Scott Whitlock

3
@Scott BSD nói rằng bạn phải giữ lại các điều khoản của BSD. Tuy nhiên, điều đó không hạn chế việc thêm vào chúng, vì vậy có lẽ đây là một cách giải thích hợp lý
Armand

2
opensource.org/licenses/mit-license.php tuyên bố rõ ràng rằng bất kỳ ai có được bản sao của mã đều có thể cấp phép lại cho phần mềm.
Frank Shearar

2

Xin lỗi nhưng hầu hết các bạn đều sai.

Cấp phép và quyền sở hữu là hai điều khác nhau. Bạn không thể cấp phép lại cho một cái gì đó bạn không sở hữu. Không phải là quyết định của bạn để thực hiện.

Chủ sở hữu là người giữ bản quyền, không phải bạn. Vì vậy, bạn không thể cấp phép lại công việc của họ. Khi bạn không sở hữu công việc của họ, bạn chỉ cấp phép cho nó. Đó là, chủ sở hữu đang cho phép bạn sử dụng nó. Anh ấy / cô ấy không trao quyền sở hữu cho bạn.

Chẳng hạn, sẽ thật nực cười khi nghĩ rằng tác giả gốc (hoặc BẤT CỨ người nào nhận được mã BSD) phải tuân theo GPL để sử dụng mã gốc chỉ vì bạn đã quyết định sử dụng THEIR CODE cho dự án GPL.

Tuy nhiên, bạn có thể cấp phép vào mã GPL CỦA RIÊNG BẠN. Và sau đó, THAT PHẦN, không phải bản gốc, nằm dưới GPL. Vì tác giả ban đầu đã không đưa tác phẩm lên GPL và vì bạn CHỈ cấp phép và KHÔNG SỞ HỮU tác phẩm gốc.

Bạn có thể sử dụng mã được cấp phép BSD trên mã GPL của mình (vì BSD cho phép bạn làm điều này, miễn là bạn tuân theo các điều khoản của BSD và người ta KHÔNG BỎ LẠI giấy phép từ các bản sao), nhưng bạn không thể đơn giản cấp phép lại toàn bộ, như bạn không sở hữu nó Một lần nữa, không phải là quyết định của bạn để thực hiện. Tuy nhiên, nếu bạn muốn sử dụng mã GPL của bên thứ ba với mã BSD. Sau đó, vấn đề sẽ được tuân thủ với phần GPL.


1
Tôi tin rằng tuyên bố trên "Bạn không thể cấp phép lại thứ gì đó mà bạn không sở hữu" là không chính xác, nhiều giấy phép cấp quyền để cấp phép cho các tác phẩm có bản quyền. Đôi khi các khoản trợ cấp cấp phép tiếp tục hạn chế những quyền nào có thể được cấp theo quyền cấp phép, nhưng không phải lúc nào cũng vậy. Các chi tiết cụ thể phụ thuộc vào tình huống, và liệu bạn đã được cấp quyền để làm như vậy.
Cameron

Ngoài ra, nếu bạn bao gồm giấy phép BSD trong các bản sao của mình, điều đó có nghĩa là mã vẫn là BSD và nó không thể nằm dưới GPL cùng một lúc.
warvariuc
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.