Viết lại mã GNU GPL v2 bằng ngôn ngữ khác: tôi có thể thay đổi giấy phép không?


11

Tôi viết lại một số phần của Mercurial (được cấp phép theo GNU GPL v2) trong C #. Đương nhiên, tôi đã xem xét rất nhiều về mã Python ban đầu và một số phần là các bản dịch trực tiếp từ Python sang C #.

Có thể có "mã của tôi" được cấp phép theo các điều khoản khác nhau hoặc thậm chí để tạo một phần của ứng dụng thương mại nguồn đóng không? Nếu không, tôi có thể cấp phép lại "mã của tôi" theo LGPL, mã nguồn mở và sau đó sử dụng thư viện C # có nguồn mở này trong ứng dụng thương mại nguồn đóng của mình không?


3
Nếu bạn làm việc từ mã gốc (thay vì thực hiện lại từ các giao thức và tài liệu), nó có thể rơi vào địa hạt của "công việc phái sinh" trong trường hợp nó vẫn có thể thuộc giấy phép gốc. Nói chuyện với một luật sư.

@MichaelT Sẽ không sử dụng tài liệu và giao thức kỹ thuật đảo ngược cũng là một "công việc phái sinh" chứ?
Anton Gogolev

3
không cần thiết. Tác phẩm phái sinh lấy bản gốc và biến nó thành một dạng khác. Với các phương tiện truyền thông truyền thống hơn, một bức tranh có bản quyền, một bức ảnh của bức tranh là một tác phẩm phái sinh. Khi được thực hiện chính xác, một kỹ thuật đảo ngược phòng sạch sẽ tránh điều này. Xem thêm Các vấn đề bản quyền và cấp phép của mã porting là gì? từ SO.

INAL, nhưng AFAIK chỉ dịch mã tự động được bảo vệ bởi bản quyền.
vartec

1
@vartec Có bằng chứng nào cho điều đó không?
Anton Gogolev

Câu trả lời:


17

Văn bản của giấy phép đặc biệt bao gồm các bản dịch, vì vậy không, bạn sẽ không thể đọc lại nó.

"Chương trình", bên dưới, đề cập đến bất kỳ chương trình hoặc tác phẩm nào như vậy và "tác phẩm dựa trên Chương trình" có nghĩa là Chương trình hoặc bất kỳ tác phẩm phái sinh nào theo luật bản quyền: nghĩa là, một tác phẩm có chứa Chương trình hoặc một phần của nó, nguyên văn hoặc có sửa đổi và / hoặc được dịch sang ngôn ngữ khác.


1
IANAL nhưng tôi đoán "Đã dịch sang ngôn ngữ khác" trong ngữ cảnh này không đề cập đến một ngôn ngữ lập trình khác. Luật bản quyền chỉ bảo vệ sự thể hiện chính xác của một ý tưởng - chứ không phải chính ý tưởng đó.
Onorio Catenacci

2
@Onorio: GPL không phải là bản quyền, đó là giấy phép.
Mason Wheeler

5
@OnorioCatenacci đây là một trong những trường hợp mà "ngôn ngữ" trở nên hơi dính. Cụm từ chính là "công việc phái sinh", mà OP chắc chắn đã tạo ra. GPL rõ ràng cho phép tạo ra tác phẩm phái sinh (hay còn gọi là "Miễn phí ..."), nhưng các hạn chế cấp phép ban đầu vẫn áp dụng cho công cụ phái sinh. GPL cho phép một số cấp phép lại (phích cắm không biết xấu hổ, xem câu trả lời của tôi). Đây là một câu hỏi về cấp phép trái ngược với bản quyền.

@MasonWheeler "có nghĩa là Chương trình hoặc bất kỳ tác phẩm phái sinh nào theo luật bản quyền" - một lần nữa, không phải là luật sư nhưng dường như điều đó nói rằng bản quyền sẽ liên quan đến một cách nào đó.
Onorio Catenacci

1
@MasonWheeler "GPL không phải là bản quyền, đó là giấy phép." Bạn có quan tâm để giải thích điều đó? Tất cả giấy phép có thể làm là cấp cho bạn một số quyền nhất định đối với tác phẩm có bản quyền. Nếu (lớn nếu) bản quyền trong tác phẩm mới không thể được yêu cầu bởi chủ sở hữu bản quyền tác phẩm gốc thì giấy phép không áp dụng.
Jaydee

3

Dựa trên:
http://www.gnu.org/licenses/gpl-faq.html# ALLCompabilities

Bạn sẽ ổn với kịch bản thứ hai mà bạn miêu tả.

Các phần bạn đã sao chép vẫn nằm trong GPLv2, nhưng toàn bộ thư viện của bạn có thể được phát hành dưới dạng LGPL v2.1 trở lên. Sau đó, bạn có thể liên kết mã nguồn đóng của mình với thư viện đó theo các điều khoản của LGPL.

Như mọi khi, hãy thực hiện một số hoạt động đào và đảm bảo bạn hiểu những hạn chế là gì.


3
Chắc chắn không phải. Hãy nghĩ về nó: GPL sẽ không có ý nghĩa gì nếu nó như thế. Bạn chỉ có thể lấy bất kỳ mã GPL v2 nào và chuyển nó sang LGPL. Điều đó sẽ làm cho GPL trở nên thừa. Hãy xem bản in: "LGPLv2.1 cho phép bạn cấp lại mã theo bất kỳ phiên bản GPL nào (không phải LGPL) kể từ GPLv2. Nếu bạn có thể chuyển mã LGPLed trong trường hợp này sang sử dụng phiên bản GPL phù hợp thay thế (như đã lưu ý trong bảng), bạn có thể thực hiện kết hợp này. " Điều đó chỉ có nghĩa là hợp pháp để chuyển thư viện LGPL của bạn sang GPL chứ không phải ngược lại. Mà có ý nghĩa một lần nữa.
Quandary
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.