Tôi có thể bán mã GPL rẽ nhánh không?


9

Tôi biết rằng có thể bán mã GPL, nhưng tôi muốn biết liệu có thể bán mã GPL đã được rẽ nhánh và sửa đổi hay không. Mã rẽ nhánh và sửa đổi vẫn sẽ có sẵn để sử dụng, sửa đổi và phân phối lại.


5
Có, bạn chỉ đang thực hiện các quyền của mình theo giấy phép như dự định. Một trong những lập luận chống lại GPL ban đầu là "không ai sẽ kiếm tiền bằng cách sử dụng nó", điều này đã được chứng minh là sai.
Tim Post

3
Chỉ cần nhớ rằng khi bạn rẽ nhánh, mã rẽ nhánh là GPL.
Michael Kohne

1
... vâng ... nhưng ai sẽ trả tiền cho thứ gì đó anh ta có thể tải xuống và xây dựng miễn phí?
dagnelies

2
Đối với GPL có liên quan, không có sự khác biệt giữa các tác phẩm phái sinh "chính tuyến" và "rẽ nhánh"; cả hai chỉ là tác phẩm có nguồn gốc.
MSalters

4
@arnaud những người muốn có thể gọi / hỗ trợ qua email và nói "sửa lỗi cho tôi" khi có sự cố xảy ra thay vì săn tìm giải pháp trên các diễn đàn hoặc tự tìm hiểu mã.
Dan đang loay hoay bởi Firelight

Câu trả lời:


14

Vâng, điều đó được cho phép, nhưng bạn vẫn phải đáp ứng tất cả các yêu cầu của giấy phép. Bất cứ ai bạn bán nó đều phải được phép sử dụng, sửa đổi và phân phối lại theo sự cho phép của GPL.


1
và mã không cần phải rẽ nhánh!
Jaydee

@Jaydee - sẽ như vậy nếu anh ấy không đẩy tất cả những thay đổi của mình trở lại dự án chính. Trong trường hợp đó, cho dù anh ta gọi nó là ngã ba hay không, anh ta sẽ thực sự rẽ nhánh dự án chính.
Michael Kohne

1
Xin lỗi, tôi nên rõ ràng hơn. Tôi có nghĩa là tất cả mã GPL có thể được bán, nó không cần phải được rẽ nhánh cho mục đích đó. Bạn đã đúng về mã thay đổi.
Jaydee

3

Phong trào phần mềm miễn phí luôn có sự khác biệt rõ ràng giữa Miễn phí và Tự do sử dụng / sửa đổi / phân phối lại. GPL rõ ràng là về sau này. Vấn đề cơ bản duy nhất là tuân thủ đầy đủ tất cả các điều khoản của giấy phép. Rõ ràng bạn có ý định làm điều đó vì vậy nó không phải là một vấn đề.

Tóm lại: Không có gì trong GPL ngăn bạn tính phí cho chương trình.

Vấn đề duy nhất có thể phát sinh là độc lập với GPL và chỉ đơn giản là vấn đề logic / tâm lý: nếu chương trình sửa đổi được tự do phân phối lại và do đó có sẵn thì tại sao mọi người có thể trả tiền cho nó. Nó vẫn không làm cho nó không thể hoàn tác.


1
Trên thực tế, tôi đã thấy một ứng dụng GPL trên makret Android đã có hai lần, một lần miễn phí và một lần trả tiền. Và đó là cùng một ứng dụng. Với nhận xét như "Ứng dụng này là nguồn mở và miễn phí, nhưng nếu bạn thích nó, hãy xem xét việc quyên góp, điều bạn có thể làm bằng cách chọn phiên bản trả phí ...".
Jan Hudec

1
"Tại sao mọi người có thể trả tiền cho nó?" - Đơn giản: Để có được nó ban đầu. GPL không nói rằng bạn phải cung cấp miễn phí; thay vào đó, bạn có thể tính phí bao nhiêu tùy ý, nhưng bạn phải cho phép khách hàng của mình cung cấp miễn phí và bạn phải cung cấp nguồn và quyền thay đổi, phân phối nó, v.v. Do đó, nếu bạn đã tạo ra một thứ rất hữu ích ngã ba không cần thiết của chương trình GPLed và ai đó rất cần nó, bạn có thể đặt giá như bạn muốn cho một sản phẩm độc quyền. Caveeat: Bạn chỉ có thể làm điều đó một lần, vì khách hàng đầu tiên luôn có thể trở thành đối thủ cạnh tranh của bạn cho khách hàng thứ hai.
user281377

Tôi nghĩ rằng mã phải có sẵn miễn phí và có thể phân phối. Một liên kết đến mã có thể được đặt trong ứng dụng để đáp ứng yêu cầu này, nhưng không có nơi nào trong GPL đã nói rằng thư viện nhị phân hoặc thư viện đã biên dịch phải được phân phối tự do. Tôi có thể sai về điều này mặc dù-
lukecampbell

Mã và phần mềm có thể được bán vì GPLed, nhưng không phải vì lý do này, phần mềm nên có sẵn cho tất cả mọi người! Hoàn toàn hợp lý khi chỉ chia sẻ mã cho một số lượng thực thể giới hạn.
Luca

Heh ... Quỹ Phần mềm Tự do ban đầu tự tài trợ cho việc bán các bản phân phối Phần mềm Miễn phí :-)
Ross Patterson

3

Bạn không nên làm bất cứ điều gì với mã GPL cho đến khi bạn đọc và hiểu đầy đủ giấy phép. Cụ thể, đoạn thứ ba của phần mở đầu của Giấy phép Công cộng GNU phiên bản 3 nói điều này:

Khi chúng ta nói về phần mềm miễn phí, chúng ta đang đề cập đến tự do, không phải giá cả. Giấy phép công cộng chung của chúng tôi được thiết kế để đảm bảo rằng bạn có quyền tự do phân phối các bản sao của phần mềm miễn phí (và tính phí cho chúng nếu bạn muốn), rằng bạn nhận được mã nguồn hoặc có thể lấy nó nếu bạn muốn, rằng bạn có thể thay đổi phần mềm hoặc sử dụng các phần của nó trong các chương trình miễn phí mới và bạn biết bạn có thể làm những việc này.

Điều đó dường như trả lời câu hỏi, nhưng phần 5 đặc biệt bao gồm Truyền tải các phiên bản nguồn đã sửa đổi :

Bạn có thể chuyển tải một tác phẩm dựa trên Chương trình hoặc các sửa đổi để sản xuất nó từ Chương trình, dưới dạng mã nguồn theo các điều khoản của phần 4, miễn là bạn cũng đáp ứng tất cả các điều kiện này ...

Và phần 10 giải thích về cơ bản là trong khi bạn có thể tính phí cho mã, bạn phải giữ nguyên giấy phép và bạn không thể tính phí ai đó để thực hiện các quyền của họ theo GPL.


1
Điều đó có nghĩa là ai đó có thể fork mã của mình và sau đó cho đi, đúng không?
Ramhound

@Ramhound: Có, bất kỳ ai lấy nguồn đều có thể phân phối thêm và bạn phải cung cấp nguồn cho bất kỳ ai mà bạn đã cung cấp nhị phân và yêu cầu (bạn cũng có thể tính phí cho điều đó, nhưng GPL hạn chế "không nhiều hơn chi phí hợp lý của bạn để thực hiện việc truyền tải nguồn này "và chỉ khi cả nhị phân và nguồn được vận chuyển trên phương tiện vật lý; tải xuống internet phải miễn phí).
Jan Hudec

1
Tôi muốn viết lại là "Bạn không nên làm bất cứ điều gì với mã GPL liên quan đến phân phối cho đến khi bạn đọc và hiểu đầy đủ giấy phép." GPL hoàn toàn là một giấy phép để phân phối và không thêm các hạn chế về cách bạn có thể sử dụng hoặc sửa đổi phần mềm, miễn là bạn cũng không phân phối nó, vì vậy hoàn toàn an toàn khi sử dụng phần mềm GPL mà không biết gì về giấy phép.

@SunAvatar Cho đến khi bạn hiểu giấy phép, bạn thực sự không nên làm bất cứ điều gì với bất kỳ mã, GPL nào khác. Đối với tất cả những gì bạn biết, giấy phép có thể nói rằng bạn phải hy sinh một con gà vào lúc bình minh. (Ai muốn dậy sớm vậy?) Hơn nữa, cho đến khi bạn hiểu các điều khoản, bạn có thể cho rằng một cách hợp lý rằng phần mềm miễn phí "miễn phí" trong (GPL'ed) có nghĩa là bạn có thể làm những gì bạn muốn với nó và từ đó không nhận ra rằng việc kết hợp một số mã đó vào dự án của riêng bạn có thể có ý nghĩa đối với cách bạn có thể phân phối dự án của mình.
Caleb

3

Vâng, đi cho nó, lưu ý rằng giấy phép nói rằng bạn phải cung cấp nguồn cho bất cứ ai bạn phân phối phần mềm. Khía cạnh đó KHÔNG phải là tùy chọn. Bạn cũng cần hiểu rằng bạn không thể ngăn người dùng của mình cung cấp phần mềm cho người khác (liên kết FSF bên dưới giải thích những điểm này).

Đây là trang của FSF về việc bán phần mềm GPL , về cơ bản, "bạn có thể làm điều đó, nhưng bạn vẫn phải tuân theo giấy phép".

Một điều cần cẩn thận - có rất nhiều người liên kết GPL với phần mềm miễn phí (như trong bia), không chỉ tự do làm những gì bạn muốn với phần mềm bạn nhận được. Nếu có một cộng đồng lớn xung quanh phần mềm, bạn có thể bị đẩy lùi đáng tiếc khi bạn cố gắng bán phiên bản ngã ba của mình. Một phản ứng có thể là bạn đang cố gắng kiếm tiền từ công việc khó khăn của người khác.

Nếu bạn có thể, làm cho nguồn của bạn thường có sẵn. Khi thích hợp, bạn cũng có thể muốn xem xét đẩy một số thay đổi của mình lên dự án ban đầu. Điều này có thể không có ý nghĩa đối với kế hoạch kinh doanh của bạn, nhưng nếu bạn có thể xoay chuyển nó, nó sẽ đi một chặng đường dài để đóng cửa bất cứ ai nghĩ rằng bạn chỉ đang gạt bỏ cộng đồng.


1
Bạn nên chắc chắn. Bạn không thể ngăn khách hàng của bạn khỏi bất cứ điều gì. Đó là những lý do giấy phép tồn tại.
Jan Hudec

@JanHudec - Chỉnh sửa để sửa chữa. Nó thậm chí còn trong liên kết Bán phần mềm miễn phí.
Michael Kohne

1

Chắc chắn, bạn có thể bán phần mềm GPL có bản quyền được người khác nắm giữ toàn bộ hoặc một phần. Làm như vậy cũng giống như phân phối nó miễn phí và chịu những hạn chế chính xác như nhau. Chỉ là nhóm bạn đang phân phối là "những người trả cho tôi 10 đô la đầu tiên".

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.