Tôi có thể sử dụng phần mềm GPL trong một ứng dụng thương mại không


203

Tôi có 3 câu hỏi về GPL ở đây:

  1. Nếu tôi sử dụng phần mềm GPL trong ứng dụng của mình, nhưng không sửa đổi hoặc phân phối phần mềm, tôi có phải phát hành ứng dụng của mình theo GPL không?

  2. Điều gì xảy ra nếu tôi sửa đổi một số phần mềm mà ứng dụng của tôi sử dụng. Sau đó, tôi có phải phát hành ứng dụng của mình theo GPL không, hoặc tôi chỉ có thể cung cấp phần mềm đã sửa đổi theo các điều khoản của GPL.

  3. Và nếu tôi sử dụng phần mềm GPL, nhưng không sửa đổi nó, tôi có thể phân phối nó với ứng dụng của mình không?

Trường hợp của tôi là, tôi có một khung công tác PHP mà tôi sử dụng thư viện GeSHi để làm nổi bật một số đầu ra.

  1. Vì GeSHi là GPL, khung của tôi có phải là GPL không?

  2. Tôi có thể sửa đổi GeSHi cho các trường hợp sử dụng cụ thể của ứng dụng của mình không nếu tôi cung cấp các sửa đổi lại cho các nhà bảo trì GeSHi?

  3. Tôi có thể phân phối lại khung của mình với GeSHi không?


10
Thương mại! = Độc quyền
Gerstmann

2
Chỉ tò mò, phân phối có nghĩa là gì trong trường hợp này? Nếu chương trình được đề cập là, giả sử, phần sụn trong một thiết bị mà bất kỳ ai ngoài công ty bán thiết bị đó không thể chạm vào, đó có phải là "phân phối" không?
Wes Miller

2
Vâng, đó là phân phối. Đó là lý do tại sao bạn tìm thấy những thứ như bộ định tuyến ADSL có mã nguồn (phải có) để tải xuống. Các nhà cung cấp có uy tín làm cho nguồn có sẵn vì các điều kiện giấy phép yêu cầu nó của họ. Áp dụng tương tự cho các hộp NAS, camera IP và nhiều tiện ích khác.
quick_now

2
@quickly_now - đó là lý do tại sao công cụ Tivoisation được thêm vào GPLv3, vì vậy nếu bạn sử dụng mã GPLv2 trong một thiết bị, bạn thực sự không phải phát hành nó, nhưng nếu bạn sử dụng mã GPLv3, bạn sẽ làm được. Hãy nhớ rằng Tivo đã sử dụng mã GPL và không bao giờ phát hành các sửa đổi của họ, điều này làm đảo lộn một loạt người và một phần dẫn đến GPLv3.
Scott Whitlock

Câu trả lời:


177

Nếu tôi sử dụng phần mềm GPL trong ứng dụng của mình, nhưng không sửa đổi hoặc phân phối phần mềm, tôi có phải phát hành ứng dụng của mình theo GPL không?

TRẢ LỜI: Câu hỏi của bạn hơi mơ hồ. Hai trường hợp:

(a) Nếu bạn không phân phối ỨNG DỤNG CỦA BẠN, thì câu trả lời là Không, vì bạn không phân phối ứng dụng của mình. Ví dụ, nếu nó chỉ được sử dụng nội bộ trong công ty của bạn, thì bạn không có nghĩa vụ phải làm bất cứ điều gì.

(b) Nếu bạn phân phối ỨNG DỤNG CỦA BẠN và bạn đã sử dụng GPL gì đó như một phần của ứng dụng của mình (ngay cả khi chỉ liên kết vào thời gian chạy tới thư viện) - và ngay cả khi bạn không tính tiền - và ngay cả khi bạn không thay đổi rằng GPL s / w theo bất kỳ cách nào - sau đó bạn PHẢI cung cấp nguồn ỨNG DỤNG CỦA BẠN.

Làm cho nguồn có sẵn không có nghĩa là tải về. CNTT có thể là bạn phải nhận được yêu cầu bằng văn bản và bạn gửi một bản sao của danh sách (xem ý kiến: bạn thực sự không thể gửi danh sách. Đây là sự phóng đại để đưa ra quan điểm) . Bạn được phép tính phí xử lý / sao chép "hợp lý". Nhưng bạn không thể thoát khỏi nghĩa vụ cung cấp mã nguồn của riêng bạn.

Điều gì xảy ra nếu tôi sửa đổi một số phần mềm mà ứng dụng của tôi sử dụng. Sau đó, tôi có phải phát hành ứng dụng của mình theo GPL không, hoặc tôi chỉ có thể cung cấp phần mềm đã sửa đổi theo các điều khoản của GPL.

TRẢ LỜI: Xem ở trên. Nếu bạn đã sử dụng GPL s / w, thì bạn phải cung cấp mã nguồn của mình. Điều này bao gồm mã GPL được sửa đổi.

Và nếu tôi sử dụng phần mềm GPL, nhưng không sửa đổi nó, tôi có thể phân phối nó với ứng dụng của mình không?

TRẢ LỜI: Xem ở trên. Bạn có thể phân phối nó (mã GPL), miễn là bạn cung cấp nguồn của mình.

Vì GeSHi là GPL, khung của tôi có phải là GPL không?

TRẢ LỜI: Nếu bạn phân phối khuôn khổ của mình, thì CÓ.

Tôi có thể sửa đổi GeSHi cho các trường hợp sử dụng cụ thể của ứng dụng của mình không nếu tôi cung cấp các sửa đổi lại cho các nhà bảo trì GeSHi?

TRẢ LỜI: Bạn có thể nếu bạn muốn. Bạn không cần phải làm vậy. Bạn có thể sửa đổi nó, nhưng khi bạn phân phối ứng dụng của mình, bạn có nghĩa vụ phải cung cấp nguồn của mình và cũng là nguồn cho các sửa đổi bạn đã thực hiện cho thư viện.

Tôi có thể phân phối lại khung của mình với GeSHi không?

TRẢ LỜI: Bạn có thể nếu bạn muốn. Nếu ứng dụng của bạn không được phân phối với mã GPL và bạn khiến người dùng tải xuống riêng để sử dụng nó, thì trường hợp của bạn đặc biệt hơn một chút và có thể gây ra một số đối số, nhưng nguyên tắc tương tự cuối cùng sẽ được áp dụng: bạn phải làm cho nguồn của bạn có sẵn.

Nếu bạn muốn tránh những vấn đề này thì bạn cần sử dụng những thứ có giấy phép khác hoặc ít nhất là LGPL sẽ cho phép gọi các thư viện trong thời gian chạy mà không bị lây lan các điều kiện GPL trở lại mã của bạn.

Khi nghi ngờ bạn cần tư vấn pháp lý. Bất kỳ lời khuyên nào bạn nhận được ở đây (từ tôi hoặc bất kỳ ai khác) nên được đối xử khá cẩn thận. Chỉ có một luật sư có thể cung cấp cho bạn lời khuyên pháp lý thích hợp.


67
Phải yêu GPL: Buộc mọi thứ chạm vào nó phải là nguồn mở
TheLQ

31
Chỉ cần một lưu ý: nó có thể sẽ vi phạm giấy phép để cung cấp mã nguồn dưới dạng bản sao. Như đã lưu ý trong giấy phép: "Mã nguồn cho tác phẩm có nghĩa là hình thức ưa thích của tác phẩm để thực hiện sửa đổi cho nó."
mipadi

26
@Petah: GPL giống như một loại virus: nó lây nhiễm mọi thứ mà nó chạm vào. Nếu bạn cung cấp một giao diện chung và bạn cho phép người dùng cài đặt các thành phần khác nhau theo lựa chọn của họ, bạn có thể thoát khỏi việc không bị nhiễm GPL. TUY NHIÊN, giả sử bạn đã cho đồ đạc của mình đi và ai đó sẽ kết hợp 2 thứ lại với nhau ... thì có vẻ như đồ đạc của bạn sẽ bị GPL chạm vào. Bạn có một tình huống rất khó khăn cho dù bạn cố gắng và luồn lách xung quanh nó như thế nào.
quick_now

10
Nếu câu hỏi đã được hỏi nhiều lần, thì tại sao đây không phải là một bản sao?

11
Lưu ý rằng việc tính phí xử lý "hợp lý" không phải là yếu tố ngăn cản mạnh mẽ đối với những người quan tâm đến mã nguồn của bạn; người nhận mã nguồn đầu tiên của bạn có thể chọn cung cấp hợp pháp cho người khác mã nguồn của bạn.
Brian

12

Điều này rất mạnh mẽ dường như không đồng ý nếu bạn đang sử dụng nó trên một trang web, thay vì phân phối lại một tệp thực thi.

Bạn có thể sao chép, phân phối và sửa đổi phần mềm miễn là bạn theo dõi các thay đổi / ngày của các tệp nguồn và giữ các sửa đổi theo GPL. Bạn có thể phân phối ứng dụng của mình bằng thư viện GPL thương mại, nhưng bạn cũng phải cung cấp mã nguồn. GPL v3 cố gắng đóng một số sơ hở trong GPL v2.

Đặc biệt

Nếu bạn phân phối thư viện này trong một tệp thực thi, bạn phải tiết lộ mã nguồn của mình bằng cách cung cấp nó cùng với bản phân phối của bạn hoặc liệt kê một cách có thể truy cập (URL, bản sao thực tế) để có được nguồn trong 3 năm. Không áp dụng nếu bạn phục vụ thông qua một cổng web.

https://tldrlegal.com/license/gnu-general-public-license-v3-%28gpl-3%29


2
Bạn có thể mở rộng về điều này? Hiện tại nó chỉ là một câu của riêng bạn và văn bản từ tldrlegal. Việc sử dụng GPL trên một trang web khác với việc sử dụng nó trong một ứng dụng độc lập như thế nào?

Một trang web thường không phân phối phần mềm (nhưng chỉ cung cấp dịch vụ)
Basile Starynkevitch

3
ASIDE: có giấy phép AGPL cố gắng giải quyết GPL đang chạy như một dịch vụ: tldrlegal.com/license/ Kẻ
kbrock

Nếu thư viện GPL được đề cập được viết bằng HTML, javascript và CSS và mã thư viện được máy chủ "phân phối" tới trình duyệt web của những người truy cập trang web, tôi tự hỏi liệu điều đó có thể gây ra HTML, javascript khác của bạn không và mã CSS để trở thành GPL. Một điểm thú vị là mã này sẽ "có sẵn" chỉ bằng cách xem nguồn của trang web, mặc dù có thể không ở dạng ưa thích. Tuy nhiên, ngay cả khi đó, mã phía máy chủ của bạn không được phân phối, và do đó tôi tưởng tượng sẽ không cần phải là GPL.
still_dreaming_1

2

Tuyên bố miễn trừ trách nhiệm : Tôi không phải là luật sư và tôi đã không đọc một trong hai phiên bản GPL trong một thời gian, vì vậy câu trả lời này có thể không chính xác về mặt pháp lý.

Nếu bạn phát hành / phân phối phần mềm có chứa các thành phần GPL (như thư viện được liên kết tĩnh), phần mềm của bạn phải được GPL bảo vệ. (Đây là lần hiển thị cho phiên bản 2; phiên bản 3 có thể khác.)

Nếu bạn phát hành / phân phối phần mềm bằng các thư viện của LGPL, phần mềm của bạn không cần được GPL bảo vệ, nhưng các thư viện phải giữ lại LGPL.

Việc sửa đổi các thành phần [L] GPL'd đề nghị đóng góp lại cho người tạo / người bảo trì. Tôi không rõ điều đó ảnh hưởng đến việc cấp phép sản phẩm của bạn như thế nào.


-4

Chúng ta có thể buộc các quy tắc như vậy trong rừng, nhưng trong cuộc sống thực (luật pháp của quốc gia hoặc nhà nước), nó phụ thuộc vào ai, ai, khi nào và cái gì.

Vấn đề pháp lý (luật) nêu ra khi bạn thực hiện hành vi phân phối chương trình GPL dưới dạng nhị phân hoặc thư viện trên hệ điều hành không GPL. Chương trình GPL đang lây nhiễm và lây nhiễm cho cha mẹ và quá trình không phải GPL của trẻ em (độc quyền và thậm chí cả giấy phép nguồn mở khác) từ góc độ pháp luật. Lây nhiễm có nghĩa là chương trình dẫn xuất vi phạm GPL, bị nhiễm có nghĩa là chương trình GPL vi phạm giấy phép của chính nó. Không có vấn đề tồn tại khi bạn biên dịch nguồn GPL phân tán dưới dạng hành động cá nhân (người, tổ chức, công ty).


11
điều này dường như chỉ lặp lại các điểm được thực hiện và giải thích trong câu trả lời trước đó đã được đăng 4 năm trước
gnat
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.