Làm thế nào để một người thoát khỏi GPL?


24

TUYÊN BỐ TỪ CHỐI Tôi không giả vờ biết bất cứ điều gì về cấp phép. Trong thực tế, tất cả mọi thứ tôi nói dưới đây có thể là hoàn toàn sai!

Cơ sở:

Gần đây, tôi đã tìm kiếm một công cụ trò chơi phong nha và tôi nghĩ rằng tôi đã tìm thấy một công cụ mà tôi thực sự thích, Cafu Engine .

Tuy nhiên, họ có một kế hoạch cấp phép kép, trong đó mọi thứ bạn làm với động cơ đều bị ép buộc theo GPL, trừ khi bạn trả tiền cho một giấy phép thương mại. Tôi không nói rằng đó là một công cụ tồi, họ thậm chí còn nói rằng họ rất thoải mái về phí bản quyền. Tuy nhiên, thực tế là nó thậm chí liên quan đến GPL làm tôi sợ.

Vì vậy, câu hỏi của tôi là cơ bản, làm thế nào một người thoát khỏi GPL.

Dưới đây là một ví dụ: Công cụ id Tech, còn được gọi là công cụ Quake hoặc công cụ Doom, là cơ sở cho công cụ Nguồn phổ biến. Tuy nhiên, công cụ id Tech đã được phát hành theo GPL và công cụ Nguồn là độc quyền. Valve có nhận được giấy phép khác không? Hay họ đã làm gì đó để thoát khỏi GPL? Có cách nào để thoát khỏi GPL không? Hoặc, nếu bạn sử dụng mã nguồn GPL làm cơ sở cho một dự án khác, bạn có bị buộc phải sử dụng GPL và làm cho mã nguồn của bạn có sẵn cho mọi người. Một số người ngẫu nhiên có thể lấy công cụ id Tech, sửa đổi nó qua điểm nhận biết, sau đó sử dụng nó làm công cụ độc quyền cho các sản phẩm thương mại? Hoặc họ được yêu cầu để làm cho nó nguồn mở.

Một điều cuối cùng, tôi thường không có vấn đề gì với nguồn mở. Tuy nhiên tôi cảm thấy rằng nguồn mở có vị trí của nó, nhưng đó không phải là trong thế giới đầy bụi rậm.


3
Bạn đã trả lời câu hỏi của riêng bạn với trích dẫn bạn cung cấp. Ngoài ra, Nguồn (HL2) không dựa trên Quake. Bạn đang nghĩ về GoldSrc (HL1).
Justin Skiles

Thật xấu hổ vì điều này đã được bỏ phiếu vì câu hỏi rõ ràng có thể trả lời được và có một số câu trả lời chính xác.
Kylotan

1
Hỏi luật sư của bạn, và về vấn đề đó, hãy hỏi công ty sản xuất động cơ, nhưng theo tôi hiểu nó cho công cụ trò chơi, GPL chỉ có thể áp dụng cho mã và mọi sửa đổi bạn đã thực hiện cho nó, chứ không phải các tài sản khác của bạn [như bản đồ , âm thanh, nghệ thuật, vân vân]. Tại sao điều đó không được bạn chấp nhận?
Random832

1
Bạn cũng có thể hỏi làm thế nào bạn có thể đánh cắp mã nguồn từ Microsoft và thoát khỏi nó. Bạn chỉ có hai tùy chọn và hai tùy chọn: chơi theo quy tắc mà chủ sở hữu mã quy định với (các) giấy phép và / hoặc phí của anh ấy hoặc sử dụng một cái gì đó khác.
Sean Middleditch

1
"Tuy nhiên tôi cảm thấy rằng nguồn mở có vị trí của nó, nhưng đó không phải là trong thế giới đầy bụi rậm." Nhưng bạn nghĩ chỉ cần sử dụng mã của ai đó và không trả tiền cho giấy phép thương mại cũng như không chấp nhận các điều khoản của phương án thay thế có vị trí của nó trong thế giới kinh doanh? Đây không phải là kinh doanh nhiều như trộm cắp. Không phải điều này đã không happenened trong thế giới kinh doanh thường xuyên đủ ... - Nó có vẻ như bạn thực sự làm muốn mã nguồn mở (dễ hiểu) từ quan điểm của lập trình viên của xem, nhưng có một ác cảm chứ không phải giáo điều chống lại nó từ quan điểm tiền tệ của view . Chà, những quan điểm này không tương thích.
leftaroundabout

Câu trả lời:


28
  1. Nếu bạn giữ bản quyền về mã nguồn, bạn có thể phát hành mã đó theo cách bạn muốn. Phát hành nó theo GPL không loại trừ việc phát hành theo một giấy phép không hoặc thậm chí hạn chế hơn. Tôi không chắc chắn về các chi tiết của Source / id Tech nhưng sẽ cho rằng Valve đã thương lượng giấy phép của riêng họ.

  2. Nếu bạn sử dụng mã GPL trong dự án của mình, bạn được yêu cầu cung cấp mã nguồn cho người dùng. Điều này không có nghĩa là bạn được yêu cầu chạy một trang web hoặc giữ một bản sao của nó để cung cấp theo yêu cầu. Điều này không có nghĩa là bạn bắt buộc phải công khai tất cả các thay đổi ngay khi bạn thực hiện chúng - chỉ khi bạn phân phối lại phần mềm, mã và những thay đổi bạn thực hiện sẽ đi cùng với nó. ( http://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePostedPublic )

  3. Nếu bạn sử dụng ngay cả một dòng mã GPL trong dự án của mình, thì bây giờ bạn bị ràng buộc bởi các điều khoản của GPL. Một (mặc dù không phải là cách duy nhất) là phát hành mã của bạn theo GPL (hoặc hoàn toàn không phát hành mã).
    Nếu bạn sửa đổi nó qua điểm nhận biết và không tuân thủ các điều khoản, bạn có thể sẽ thoát khỏi nó (nghĩa là bạn sẽ không bị kiện) nhưng chỉ vì bạn thoát khỏi nó không có nghĩa là bạn không t vi phạm giấy phép, hoặc làm cho nó đúng.

  4. Để sử dụng 'mã GPL' mà không có GPL, bạn phải lấy nó theo giấy phép khác, để nó không còn là 'mã GPL'd' (bằng cách trả Cafu). Không có cách nào thoát khỏi GPL - nó được thiết kế đặc biệt để trở thành giấy phép lan truyền bởi các nhà phát minh của nó và mục đích của nó sẽ bị từ chối nếu có thể.

Điều đó nói rằng, nếu bạn muốn sử dụng mã GPL trong chương trình của mình, bạn có thể tạo một thực thể độc lập mà ứng dụng của bạn sử dụng (cho dù liên kết động có thỏa mãn điều này hay không - nhưng nói chung, chấp nhận rằng khi kết quả là một chương trình, GPL được gọi ). Vì vậy, ví dụ, bạn có thể tạo một dự án mới với mã GPL và của bạn, mà bạn phát hành với ứng dụng (độc quyền) của mình, cùng với GPL và mã nguồn. Tuy nhiên, ứng dụng của bạn giao tiếp với nó thông qua CLI hoặc RPC và do đó có thể vẫn không có GPL.

Ngày nay, nhiều nhà phát triển áp dụng LGPL, cho phép liên kết trong hầu hết các hình thức của nó mà không cần chuyển GPL sang dự án đích. (Tuy nhiên, nếu bạn sửa đổi thư viện, bạn vẫn phải cung cấp mã của thư viện.)

Lưu ý rằng xa hơn với Điểm 2, việc xuất bản bất kỳ cải tiến nào bạn thực hiện đối với mã nguồn mở được coi là bất chấp giấy phép.


9
Nếu bạn sử dụng ngay cả một dòng mã GPL trong dự án của bạn, dự án của bạn hiện thuộc giấy phép GPL. Không. Nếu bạn sử dụng một dòng mã GPL, dự án của bạn không phù hợp với giấy phép GPL và bất cứ ai viết dòng đó đều có thể kiện bạn. Một biện pháp khắc phục có thể là phát hành dự án của bạn theo GPL, nhưng điều đó không tự động xảy ra.
TRiG

3
(Điều này vẫn không ngăn bạn bán nó hoặc phát hành theo giấy phép ít hạn chế hơn ngoài GPL ...) Vâng, đúng vậy. Nếu tôi phát hành mã theo GPL, người khác không thể đi cùng và chỉ đưa mã đó vào (nói) miền công cộng. Tôi vẫn sở hữu mã đó; Tôi chỉ cung cấp cho những người khác về các điều kiện của GPL.
Evan Harper

4
Mặc dù có một số điểm không chính xác nhỏ, +1 vì nó đề cập đến giải pháp rõ ràng nhất, dễ nhất, nhanh nhất và dễ tiếp cận nhất: Để sử dụng 'mã GPL' mà không cần GPL, bạn phải lấy nó theo giấy phép khác . Liên hệ với người giữ bản quyền, đàm phán một giấy phép khác. Điều này rõ ràng làm việc cho bất kỳ giấy phép khác quá.
Martin Sojka

11
Câu trả lời này và tất cả các ý kiến ​​bỏ lỡ một điều kiện quan trọng: điều kiện GPL áp dụng cho phân phối , không sử dụng . Nếu bạn sử dụng một nghìn dòng mã GPL trong công cụ nội bộ của mình (mà bạn không phân phối), thì bạn vẫn không bị ràng buộc bởi các điều khoản GPL.
MSalters

1
"Bạn có thể sẽ thoát khỏi nó". Hmmm tôi chỉ thích cảm giác ấm áp và mờ nhạt mà tôi nhận được từ câu trả lời này.
Trevor Boyd Smith

64

Bạn thoát khỏi GPL bằng cách trả tiền cho các nhà phát triển cho một giấy phép thương mại.


27
+1, tôi nghĩ Captain Rõ ràng bằng cách nào đó không được đăng ký trên stackexchange :)
teodron

1
+1, mặc dù để chính xác hơn, bạn bảo đảm quyền sử dụng mã mà không cần GPL. Điều đó không nhất thiết có nghĩa là bạn phải trả tiền (mặc dù điều này thường sẽ).
Kylotan

không thực sự, bạn đang nói điều này giống như sẽ luôn có một sự thay thế thương mại cho mỗi giấy phép GPL trên trái đất; nó phụ thuộc vào chiến lược của chủ sở hữu của mã đó là gì.
dùng827992

4
Tôi sẽ nói "Bạn thoát khỏi GPL bằng cách trả cho các nhà phát triển một giấy phép thương mại, do đó cung cấp cho họ một phần đủ số tiền bạn hy vọng sẽ làm phần thưởng cho nhiều nỗ lực trong nhiều năm mà họ đã viết".
DJClayworth

1
Gần như, "Bạn thoát khỏi GPL bằng cách trả cho các nhà phát triển một bản sao mã không có mã hóa GPL (một cái gì đó giống như MIT)."
Jonathan Dickinson

10

Về cơ bản bạn đang hỏi "Làm thế nào để tôi lấy cắp mã của người khác?" Nếu bạn muốn sử dụng mã có bản quyền của ai đó, bạn phải có giấy phép từ họ. Nếu giấy phép duy nhất bạn có từ họ sử dụng mã của họ là GPL thì bạn phải tuân theo nó hoặc bạn đang vi phạm bản quyền của họ. Nếu bạn có thể yêu cầu họ cấp cho bạn một giấy phép khác cho mã của họ thì điều đó cũng tốt, nhưng bạn không thoát khỏi GPL.


3
-1. Bạn thoát khỏi GPL: bởi vì họ cấp cho bạn một giấy phép hoàn toàn khác. Bạn cũng không ăn cắp mã của họ - nếu bạn thực hiện các bước mà họ yêu cầu bạn (ví dụ: trả tiền).
Jonathan Dickinson

5
Không, trong trường hợp đó, việc bạn sử dụng mã của họ hoàn toàn không liên quan gì đến GPL. Escape ngụ ý bị mắc kẹt bởi một cái gì đó.
Jason Goemaat

@JonathanDickinson Tôi nghĩ rằng quan điểm của anh ấy ở đây là OP dường như không muốn trả tiền cho một giấy phép. Anh ta muốn có được nó miễn phí, nhưng không có giới hạn GPL.
Paul

Điều này khiến tôi bị hấp dẫn về sự trở ngại (thay vì ăn cắp) "Tuy nhiên, thực tế là nó thậm chí còn liên quan đến GPL làm tôi sợ." Nghe có vẻ giống như (có cơ sở) sợ biểu ngữ GPL treo trên mã.
Jonathan Dickinson

2
@Jonathan. OP nói rằng zie không biết gì về giấy phép, vì vậy tôi nghi ngờ rằng người ta sợ GPL không "có cơ sở".
TRiG

8

Bạn có thực sự cần phải thoát khỏi GPL? Tất cả GPL yêu cầu bạn phải làm là phát hành mã nguồn của riêng bạn theo GPL. Nó không áp dụng cho cấp độ trò chơi, tài sản nghệ thuật, v.v. Bạn vẫn có thể bán trò chơi của mình và cung cấp mã qua GPL cho những người mua nó nếu họ muốn hoặc cung cấp trực tuyến cho mọi người.

Vấn đề duy nhất là nếu bạn muốn sử dụng các thư viện không phải GPL của bên thứ ba, vì khi đó bạn sẽ không thể phân phối chúng cùng với công cụ GPL của mình.

Nếu bạn cần phải thoát GPL, hãy xem trang cấp phép của họ nghe có vẻ linh hoạt để bạn có thể đi đến thỏa thuận.


Tôi đồng ý với câu trả lời này, đặc biệt là vì hầu hết mọi người không thực sự thêm giá trị bổ sung đó khi sử dụng động cơ. Đó là những tài sản khác thực sự là giá trị.
Paul

5

Có rất nhiều sự hiểu lầm về GPL thực sự là gì và thực sự có nghĩa là gì, và tôi đang phát hiện ra một câu hỏi trong câu hỏi của bạn:

mọi thứ bạn làm với động cơ đều bị ép buộc theo GPL

Đó thực sự không phải là trường hợp. Chắc chắn nguồn động cơ vẫn nằm dưới GPL, nhưng phải trả tiền để đọc Câu hỏi thường gặp về GPL, đặc biệt là các phần của nó liên quan đến đầu ra của chương trình GPL, mà tôi tin là có liên quan ở đây: http: // www. gnu.org/licenses/gpl-faq.html#GPLOutput

Có cách nào để tôi có thể GPL người đầu ra nhận được từ việc sử dụng chương trình của tôi không? Ví dụ: nếu chương trình của tôi được sử dụng để phát triển các thiết kế phần cứng, tôi có thể yêu cầu các thiết kế này phải miễn phí không?

Nói chung điều này là không thể về mặt pháp lý; luật bản quyền không cung cấp cho bạn bất kỳ tiếng nói nào trong việc sử dụng đầu ra mà mọi người thực hiện từ dữ liệu của họ bằng chương trình của bạn. Nếu người dùng sử dụng chương trình của bạn để nhập hoặc chuyển đổi dữ liệu của chính họ, bản quyền trên đầu ra thuộc về anh ta chứ không phải bạn. Tổng quát hơn, khi một chương trình chuyển đầu vào của nó sang một số dạng khác, trạng thái bản quyền của đầu ra kế thừa trạng thái đầu vào mà nó được tạo từ đó.

Vì vậy, cách duy nhất bạn có tiếng nói trong việc sử dụng đầu ra là nếu các phần quan trọng của đầu ra được sao chép (nhiều hơn hoặc ít hơn) từ văn bản trong chương trình của bạn. Chẳng hạn, một phần đầu ra của Bison (xem ở trên) sẽ được bao phủ bởi GNU GPL, nếu chúng ta không tạo ra ngoại lệ trong trường hợp cụ thể này.

Bạn có thể tạo một chương trình sao chép văn bản nhất định vào đầu ra của nó ngay cả khi không có lý do kỹ thuật nào để làm như vậy. Nhưng nếu văn bản sao chép đó không phục vụ mục đích thực tế, người dùng chỉ cần xóa văn bản đó khỏi đầu ra và chỉ sử dụng phần còn lại. Sau đó, anh ta sẽ không phải tuân theo các điều kiện phân phối lại văn bản đã sao chép.

Điều này thay đổi tình hình của bạn khá nhiều. Bạn không thực sự ở vị trí mà bất kỳ nội dung nào bạn phát triển cho hoặc với công cụ này cũng nằm trong GPL; nội dung đó là của bạn, bạn sở hữu bản quyền cho nội dung đó và bạn có thể cấp phép cho nội dung đó theo ý muốn.

IANAL, vv


2
Tôi không biết gì về công cụ cụ thể, nhưng điều trên chỉ đúng nếu công cụ đó thiết kế trò chơi của bạn và tạo ra một trò chơi độc lập. Nếu chính động cơ hoặc một phần của nó được phân phối với trò chơi hoặc được liên kết với mã của trò chơi, GPL sẽ áp dụng cho toàn bộ.
rjmunro

Tôi tin rằng một động cơ hoàn toàn có thể là GPL nhưng nội dung trò chơi thì không. Nội dung trò chơi không phải là mã và không được "liên kết" với công cụ theo cách tương tự như mã; bản đồ, kết cấu, mô hình, vv không được liên kết với động cơ theo cách này. Thật không may, Câu hỏi thường gặp về GPL không rõ ràng về điều này (đó là một lý do hợp lệ để muốn tránh sử dụng GPL).
Maximus Minimus

Câu trả lời này mô tả thêm những gì xảy ra với nội dung được tạo bằng một số công cụ GPL. Giống như một tài liệu được viết trong trình soạn thảo văn bản GPL sẽ không bị buộc phải là GPL. Nhưng điều này không thể được dịch sang một công cụ trò chơi. Công cụ trò chơi không lấy mã và tạo ra một số trò chơi độc lập không liên quan đến công cụ - bạn sẽ bao gồm tất cả công cụ trong trò chơi của mình.
Matsemann

4

Chỉ người, nhóm người hoặc hoạt động sở hữu mã mới có thể thay đổi giấy phép của chính họ.

Nếu mã đó là của bạn, bạn có thể thay đổi giấy phép mỗi lần bạn muốn, quyết định có được trả tiền hay không, bạn có thể làm những gì bạn muốn, nhưng nếu mã đó không phải là của bạn, bạn sẽ giữ giấy phép nếu bạn muốn tránh rắc rối; rắc rối lớn.

Chủ sở hữu cũng có thể từ chối chấp nhận để được trả tiền, đó là một tình huống giống như bạn có bằng sáng chế, nếu bạn chứng minh rằng bạn sở hữu mã không có nghĩa là bạn đang đưa nó ra thị trường để kiếm tiền, rất nhiều lần bằng sáng chế hoặc giấy phép được cho là buộc thị trường hoặc người dùng phải ở trong một không gian hạn chế.

Câu trả lời là không và cách duy nhất để thay đổi giấy phép là hy vọng rằng chủ sở hữu sẽ làm điều đó.


Khá tốt như một câu trả lời chung - tuy nhiên trong trường hợp này, thông báo rằng họ chấp nhận thanh toán cho các bản sao của mã với một giấy phép khác. +1 (Tôi cũng đưa ra câu trả lời chung chung hơn :)).
Jonathan Dickinson

4

Ý tưởng rất đơn giản - nếu công ty viết mã, do đó, họ sở hữu tất cả các quyền và do đó, công ty có thể trao nó cho một số bên theo giấy phép GPL, cho những người khác theo giấy phép thương mại và cho người khác họ có thể tặng nó như một món quà, hoặc thuê, hoặc bất cứ điều gì họ muốn.

Thực tế là họ đã cung cấp mã cho một số bên theo GPL, đặt ra các hạn chế GPL cho bên đó , nhưng nó không thể hạn chế đối với chủ sở hữu mã .

Chỉ khi chủ sở hữu mã được sử dụng trong phần mềm của họ một số mã GPL của bên thứ 3 , được viết và sở hữu bởi người khác, thì toàn bộ dự án của họ sẽ bị khóa vào GPL mãi mãi (hoặc cho đến khi họ xóa mã GPL của bên thứ 3 này hoặc có được mã không Giấy phép GPL cho nó). Xin lưu ý rằng điều tương tự cũng đúng đối với không có GPL, động cơ thương mại 100% - nếu chúng bao gồm một số mã GPL, chúng vi phạm GPL, không có quyền bán giấy phép thương mại và bạn không có quyền mua giấy phép đó.

Do đó, nếu tất cả mã trong "Cafu Engine" được viết bởi nhân viên Cafu, bạn không có vấn đề gì với GPL. Nếu bạn nhận được giấy phép thương mại từ Cafu, thì giấy phép GPL hoàn toàn không áp dụng cho bạn .


Câu trả lời này là tốt, ngoại trừ có vẻ giả định rằng poster ban đầu là một phần của nhân viên Cafu và sở hữu mã, điều này dường như không phải là trường hợp.
Kylotan

Tôi đã không cho rằng. Tôi tự hỏi điều gì làm bạn nghĩ như vậy.
Sandman4

Đoạn cuối của bạn nói khá nhiều về điều đó, bởi vì nó tương đương với "nhân viên Cafu" với "Bạn".
Kylotan

@Kylotan Chỉnh sửa đoạn cuối để làm cho nó rõ ràng hơn một chút. Không thể nói nó đúng, mặc dù mọi người đều được chào đón để diễn đạt nó tốt hơn.
Sandman4

Đây là câu trả lời tốt nhất bằng một chặng đường dài. Tôi đã chỉnh sửa đoạn cuối, nhưng không chỉnh sửa thông tin cá nhân trên trang web này, vì vậy nó sẽ phải chờ phê duyệt.
rjmunro

2

Có một cách để "thoát" GPL hoặc (thực tế) bất kỳ giấy phép nào khác. Thực hiện một phòng sạch.

Thuê hai nhóm người. Nhiệm vụ của nhóm đầu tiên là nghiên cứu tài liệu gốc một cách chi tiết và mô tả nó. Nhóm thứ hai, những người không bao giờ, được nhìn thấy tài liệu gốc, sẽ viết một triển khai mới dựa trên mô tả.

Đây là cách BIOS trên bản sao PC gốc được tạo ra; BIOS là bit duy nhất IBM không cho phép người khác sao chép.

Điều này không có nghĩa là bạn an toàn trước các vụ kiện .. bằng sáng chế và "nhìn và cảm nhận" tào lao vẫn còn tồn tại, và ít nhất ở Mỹ, bất kỳ ai cũng có thể kiện bất cứ ai mà không có lý do cụ thể (hoặc ít nhất là như vậy. .)


1

Liên quan đến câu hỏi về công cụ Quake: mã có thể được phát hành theo GPL và các giấy phép khác. Valve cấp phép Quake bằng cách trả tiền cho iD. Sau đó, mọi người trên thế giới đã được cấp Giấy phép GPL (sic) để sử dụng mã nguồn Quake. Khi iD GPL động cơ, họ đã không chuyển đổi hồi tố các giấy phép khác sang GPL; điều đó là không thể Trên thực tế, iD vẫn có thể cấp phép cho công cụ Quake theo một giấy phép khác nếu họ muốn, vì họ sở hữu bản quyền gốc.

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.