Những gì người Cộng hòa cấp cao thực sự có nghĩa là gì?


13

Đầu tiên, rõ ràng là quyền cấp phép lại không cho bạn quyền tái cấp phép.

Giả sử chúng ta có một thư viện có giấy phép MIT (1 tệp), ai đó sẽ thêm một số tính năng vào thư viện nhưng đặt chúng dưới GPL (trong cùng 1 tệp). Hoặc nếu ai đó muốn cấp phép lại, họ phải tách mã?

Nếu ai đó muốn sử dụng thư viện, giấy phép được xử lý như thế nào?
Giả sử nhà phát triển chỉ sử dụng các tính năng theo giấy phép MIT ngay cả khi trong tệp có một số tính năng theo GPL.
Anh ta có phải GPL ứng dụng của mình vì mã được cấp phép GPL không?
Anh ta có phải xóa mã GPL để không bị hạn chế GPL hay anh ta chỉ có thể sử dụng thư viện theo quyền / hạn chế của MIT miễn là anh ta không sử dụng mã GPL?

Câu trả lời:


5

ai đó thêm một số tính năng vào thư viện [MIT] nhưng đặt chúng dưới GPL (trong cùng 1 tệp). Nếu ai đó [người khác] muốn "cấp phép lại", [họ] có phải tách mã không?

Nếu bằng cách cấp phép lại, bạn có nghĩa là sử dụng mã theo giấy phép MIT ít hạn chế hơn, thì có. Người GPL đang sử dụng mã mới của họ về cơ bản là nói: "Bạn không thể sử dụng mã của tôi trừ khi mã của bạn cũng được phân phối theo các điều khoản của GPL."

Có phải [người cấp phép] phải xóa mã GPL [mới được cấp phép] để không bị hạn chế GPL không?

Đúng.


Tôi đã xem xét các giấy phép nguồn mở ( tldrlegal.com/browse ). Tôi muốn bảo vệ người dùng tiếp theo của thư viện (có thể lấy nó từ người khác) khỏi các hạn chế bổ sung. Hầu như mọi giấy phép nguồn mở phổ biến cho phép cấp phép lại. Ms-PL có vẻ tốt cho điều đó nhưng nó có những hạn chế khác (Ngoài ra còn có GPL nhưng tôi không muốn buộc người dùng thư viện phải GPL phần mềm của họ) ...
Lilian A. Moraru

Tôi không rõ việc "cấp phép lại" phải làm gì với việc này. Bạn đang cố gắng chọn một giấy phép cho phép nó, và "cấp phép lại" có nghĩa gì với bạn?
Robert Harvey

Từ programmers.stackexchange.com/questions/105912/... Tôi hiểu rằng ai đó có thể trộn trong giấy phép khác để giấy phép hiện hành và những hạn chế của thư viện hiện nay được bổ sung những hạn chế của thư viện bổ sung. Hoặc người ta có thể áp dụng thư viện bổ sung cho mã mà anh ta đã thêm vào nguồn ban đầu. Và không, tôi thích một giấy phép không cho phép ai đó trộn vào một giấy phép hạn chế hơn.
Lilian A. Moraru

3
Tôi nghĩ bạn cần giữ điều này đơn giản; nhìn vào nó dưới dạng "phân phối" chứ không phải "cấp phép lại". Tất cả các giấy phép nguồn mở cho phép mọi người sử dụng mã trong nhà theo bất kỳ cách nào họ muốn; chỉ khi phân phối xảy ra thì mọi hạn chế copyleft mới trở nên rõ ràng. Trong trường hợp của bạn, bạn có ai đó muốn GPL mã của họ. Lựa chọn kết quả (mà bạn chỉ phải thực hiện nếu phân phối lại) rất đơn giản: bạn sống với những hạn chế mới mà anh ấy đã áp đặt, hoặc tránh mã của anh ấy và ở lại với mã gốc được MIT cấp phép.
Robert Harvey

1
Câu trả lời ở đây chủ yếu là sai. Thêm một câu trả lời dưới đây để làm rõ.
Chris Travers

20

IANAL nhưng tôi đã thảo luận về vấn đề này và nhiều vấn đề tương tự với luật sư đủ để có một ý tưởng tốt về những gì tôi đang nói ở đây. Đây không phải là tư vấn pháp lý. Cách đọc nền tốt nhất là cuốn sách của Larry Rosen trong bối cảnh phần mềm nguồn mở.

Quyền, Giấy phép, Bản quyền và Cấp phép

Theo luật bản quyền, người giữ bản quyền được cấp một số quyền độc quyền đối với tác phẩm của mình. Hầu hết hoặc tất cả những điều này (tùy thuộc vào quyền tài phán) có thể được cấp phép độc quyền hoặc không độc quyền cho bên thứ ba. Nếu việc cấp phép lại được cho phép, người được cấp phép có thể chuyển một số hoặc tất cả các quyền trong giấy phép cho bên thứ ba bằng cách ký hợp đồng trực tiếp với họ.

Hiện tại ở Hoa Kỳ, những người được cấp phép độc quyền được quy định là có quyền cấp phép (mặc dù tôi cho rằng điều này có thể được làm rõ thêm trong giấy phép độc quyền). Điều này có ý nghĩa bởi vì những người được cấp phép độc quyền được cho là có quyền kiểm soát. Người cấp phép không kết luận không được cho là được cấp phép độc quyền như vậy bởi người cấp phép.

Ví dụ, giả sử tôi viết một cuốn tiểu thuyết. Giả sử tôi cung cấp một giấy phép độc quyền cho tác phẩm ở dạng hiện tại của nó như một cuốn sách và tôi cung cấp cho người khác một giấy phép không độc quyền để làm phần tiếp theo là một tác phẩm phái sinh. Người được cấp phép độc quyền có thể cấp giấy phép không độc quyền cho các tác giả khác để sử dụng các đoạn trích từ cuốn sách bằng cách cấp phép lại. Người được cấp phép không độc quyền không thể ủy quyền cho một phần tiếp theo trái phép khác trong tiểu thuyết của tôi, cũng không thể cấp phép cho người được cấp phép độc quyền một quyền mà họ chưa được cấp (ví dụ: quyền phim).

Giấy phép BSD và MIT và Cấp phép: Sự khác biệt có thể lớn

Phần này chủ yếu dựa trên cuốn sách của Rosen (ở trên). Nếu bạn cần tư vấn pháp lý, vui lòng thuê một luật sư và đừng lấy nó ra khỏi Stack Exchange.

Giấy phép MIT rõ ràng cho phép cấp phép lại trong khi giấy phép BSD thì không. Sau cuộc thảo luận ở trên, điều này có nghĩa là giấy phép MIT cho phép một cái gì đó mà giấy phép BSD có thể không có trong hầu hết các khu vực pháp lý, cụ thể là cấp phép. Cả hai địa chỉ giấy phép, tuy nhiên, chỉ có mã và phần mềm được cung cấp và không ai giới hạn toàn bộ công việc có thể được cấp phép theo. Điều này dẫn đến một câu hỏi quan trọng về cách diễn giải GPL v3 để tương thích với giấy phép BSD btw.

Theo giấy phép MIT, về cơ bản bạn có thể làm hai việc có vẻ giống nhau:

1) Bạn có thể kết hợp công việc trong các tác phẩm của riêng bạn và phân phối chúng theo giấy phép hạn chế hơn.

2) Bạn có thể thực hiện công việc ban đầu được MIT cấp phép, thêm các hạn chế bổ sung cho công việc đó và phân phối công việc theo giấy phép hạn chế hơn nhưng bạn hoàn toàn không sửa đổi mã. GPL v3 tuyên bố yêu cầu điều này phải tương thích, nếu người ta thấy GPL là quản lý tất cả các điều khoản của giấy phép. [1]

Tuy nhiên, trong nhóm giấy phép BSD, bạn chỉ có thể thêm các hạn chế vào mã của riêng bạn và cho các tác phẩm phái sinh mà bạn tạo. Bạn không thể thêm chúng vào mã gốc bằng cách chỉ chuyển một số quyền được cấp cho bạn. Vì vậy, tôi không thể lấy PostgreSQL được BSD cấp phép, đổi tên thành PostQuery và cấp phép cho nó theo GPL, nhưng tôi có thể lấy Kerberos được MIT cấp phép và đổi tên thành HadesHound và cấp phép cho nó theo GPL (trong cả hai trường hợp đều cho rằng không mã đã thay đổi). Điều này có nghĩa là phương tiện cho quyền là khác nhau (luôn trực tiếp trong trường hợp giấy phép BSD, trực tiếp hoặc gián tiếp trong trường hợp giấy phép MIT).

Kết luận

Cấp phép bổ sung là một thuật ngữ pháp lý. Nếu bạn muốn đọc về ý nghĩa thực sự của nó, khuyến nghị của tôi là bắt đầu nói chuyện với các luật sư, Trung tâm Luật Tự do Phần mềm và những người khác và tham khảo từ điển pháp lý. Mặc dù vậy, ý tưởng cơ bản là nếu điều này được cấp, người được cấp phép có thể trở thành người cấp phép cho một số quyền của khoản trợ cấp mà họ nhận được bất kể khiếu nại nào khác mà họ có thể phải kiểm soát bản quyền đối với những gì họ phân phối.

Bạn đang hỏi về một tài liệu pháp lý cụ thể và một thuật ngữ được sử dụng trong đó. Tôi hy vọng điều này sẽ giúp giải thích chính xác thuật ngữ đó có nghĩa là gì và tác động của nó.

Nhiều câu hỏi của bạn có thể dài và phức tạp, [2] và phụ thuộc vào quyền tài phán, nhưng một quy tắc cơ bản liên quan đến Giấy phép MIT là nếu kênh của bạn tuyên bố rằng nó được cấp phép theo GPL, thì nó được cấp phép theo GPL. Tuy nhiên, điều này có thể hoặc không phải là một giả định an toàn theo giấy phép BSD. Hơn nữa, điều này đúng bất kể phiên bản gốc có được sửa đổi hay không nếu giấy phép MIT được sử dụng. Theo giấy phép BSD, phạm vi sửa đổi thực sự mang tính quyết định liên quan đến giấy phép nào chi phối.

[1] Một giải pháp là xem GPL theo một cách khác và cho phép "thông báo pháp lý hợp lý" ( hạn chế bổ sung theo mục 7) để bao gồm các thông báo về quyền cấp phép bổ sung. Trong trường hợp này, người ta sẽ có các quyền bổ sung có thể tháo rời, được điều chỉnh trong phần 7 dưới dạng các quyền bổ sung, nhưng cũng cho phép, như một hạn chế bổ sung (theo mục 7 (b)), một thông báo nói rằng một số quyền nhất định không thể tháo rời. Đây là một trong những điều tôi không thích về GPL v3, cụ thể là nó khiến người ta nghĩ giống như một luật sư về cách giải quyết khả năng tương thích giấy phép.

[2] Ví dụ, có một câu hỏi mở về việc phân phối phần mềm liên kết đến thư viện bên thứ ba có cần phải có quyền bản quyền hay không. Nếu đây là trường hợp như vậy, thì PostgreSQL được biên dịch trên MinGW cần có sự cho phép của Microsoft và họ có thể thu hồi điều đó bất cứ lúc nào , nhưng nếu không thì tôi có thể viết các chương trình độc quyền liên kết với GNU Readline và FSF không thể yêu cầu đây là vi phạm bản quyền. Câu hỏi mở này làm cho hầu hết các câu hỏi của bạn liên quan đến việc liệu nhà phát triển có thể liên kết đến thư viện theo giấy phép không phải là GPL không thể trả lời một cách chắc chắn.


1
tl; dr: Nói chuyện với một luật sư.
Robert Harvey

1
Ở một mức độ nào đó có. Nhưng tôi cũng có ý kiến ​​rằng là các chuyên gia, chúng ta cần phải được thông báo tương đối về những vấn đề này. Nếu câu hỏi duy nhất là "tôi có thể sử dụng mã được MIT cấp phép trong ứng dụng GPL của mình không" có thể được trả lời an toàn là "có". Nếu câu hỏi là "tôi có thể liên kết ứng dụng độc quyền của mình với phiên bản GPL'd của thư viện được MIT cấp phép không?" đó là thời điểm tốt để nói chuyện với một luật sư.
Chris Travers

1
(Tôi cũng không thực sự chắc chắn rằng việc cấp phép lại là tất cả những gì cần thiết liên quan đến phần mềm nguồn mở, FWIW.)
Chris Travers

0

Tôi không phải là luật sư, tôi cũng không chơi trên TV:

Trong khi câu trả lời mặc định cho một câu hỏi như thế này chỉ là để nói chuyện với một luật sư, tôi nghĩ rằng một câu trả lời tốt hơn là nói chuyện với tác giả ban đầu. Nói với họ những gì bạn sẽ làm với nó và đối tượng mục tiêu của bạn là gì. Hãy nhớ rằng, tác giả không từ bỏ bản quyền của mình cho tác phẩm của mình bằng cách phát hành theo giấy phép, tác giả có thể tự do chọn những gì mình muốn cho phép với nó. Tác giả có thể nói "bạn có thể rẽ nhánh thư viện này theo giấy phép khác có yêu cầu bạn tìm kiếm" hoặc chỉ nói "bạn có thể phát hành phần mềm của mình bằng bất kỳ giấy phép nào bạn muốn, tôi từ bỏ yêu cầu đối với X miễn là bạn làm Y" . Cá nhân tôi đã nhận được sự cho phép đặc biệt để phát hành để rẽ nhánh phần mềm nguồn mở của tác giả theo Apache thay vì GPL. Cấp cho một dự án lớn, hiện đang được hỗ trợ, như Qt,

Xem xét rằng tôi thấy hàng tấn ứng dụng nguồn mở được phát hành theo GPL, mà tôi muốn nói rằng các tác giả thực sự không hiểu điều đó thực sự có nghĩa là gì. Hãy nhớ rằng, nếu bạn sử dụng mã GPL, ngay cả khi đó là một dòng duy nhất, toàn bộ ứng dụng của bạn phải được phát hành theo các điều khoản của GPL (tất nhiên điều đó hơi cực, sẽ không có tác giả nguồn mở nào theo đuổi bạn trong một dòng - nhưng đó là yêu cầu của giấy phép).

Ngoài ra tôi không đồng ý với câu trả lời của Chris Travers.

Mỗi biểu đồ này cả BSD và MIT cho phép một người nào đó để phát hành theo một giấy phép khác nhau. Đây là một nguồn khác cho thấy nó cho phép cấp phép lại. Tôi đã đọc qua giấy phép BSD mới và nó không đề xuất bất cứ điều gì về việc không cho phép bạn phát hành theo một giấy phép khác - tuy nhiên không có quy định nào cấm bạn thay đổi giấy phép trong sản phẩm có nguồn gốc.


Tôi là "tác giả". Tôi muốn đảm bảo rằng tất cả đều tốt cho người dùng.
Lilian A. Moraru

Giấy phép BSD yêu cầu bạn đặt giấy phép trên các bản sao của mã nguồn. Giấy phép cung cấp tài trợ giấy phép trực tiếp từ tác giả. Không cấp phép lại, không có cơ chế để thay đổi giấy phép của mã được cấp phép BSD hiện tại mà không trực tiếp xác nhận bản quyền của bạn đối với mã của riêng bạn. Đó là những gì cấp phép cho phép bạn làm, cụ thể là thêm các hạn chế không có trong giấy phép gốc. Hi vọng điều này sẽ làm sáng tỏ nó. Một lần nữa, tôi thấy cuốn sách của Rosen rất hữu ích ở đây.
Chris Travers

Tất nhiên một khi bạn có bản quyền của riêng mình để khẳng định, sự khác biệt sẽ biến mất. Vì vậy, một khi bạn thêm mã của riêng mình vào tệp, bạn có thể thêm bất kỳ hạn chế nào bạn muốn, nhưng chúng chỉ áp dụng cho mã của riêng bạn và bạn không thể khẳng định chúng chống lại mã bạn có trong giấy phép BSD mà không có quyền rõ ràng để cấp phép. Vì vậy, sự khác biệt là giữa việc xác nhận các hạn chế đối với mã của riêng bạn và khẳng định chúng đối với mã bạn có theo một giấy phép khác.
Chris Travers
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.