Tôi có thể sử dụng các gói được cấp phép GPL, LGPL, MPL với ứng dụng của mình và biến nó thành nguồn đóng không?


11

Tôi thấy một công ty đang sử dụng BusyBox và cũng sử dụng các gói Gpl + Lgpl + Mpl trên đó, và sau đó họ có ứng dụng riêng chạy trên đó. Ứng dụng của họ là một gói nguồn đóng.

Bạn mua thiết bị nhưng nguồn đóng của nó. Làm thế nào mà GPL trộn với LGPL + MPL trở thành nguồn đóng?

Tôi nghĩ quy tắc là ?? Hoặc tôi sai hoặc thông tin sau đây là sai?:

GPL: Nếu bạn sử dụng nó trong ứng dụng của mình thì bạn phải phát hành ứng dụng của mình theo GPL. Điều đó không có nghĩa là bạn cũng không thể bán nó (như họ bán đĩa CD của Linux) nhưng bạn cũng phải phát hành mã nguồn miễn phí. Điều đó có thể làm việc cho bạn, nhưng có lẽ không.

LGPL: Nếu bạn sử dụng nó trong ứng dụng của mình thì bạn vẫn có thể có một ứng dụng được cấp phép độc quyền nguồn đóng. Nhưng nếu bạn sửa đổi thư viện LGPL thì bạn phải phát hành các sửa đổi của mình theo LGPL, mặc dù ứng dụng của bạn có thể vẫn là nguồn đóng.


Đầu tiên, BusyBox là một chương trình, không phải là một hệ thống. Thứ hai, BusyBox nói riêng có một trang giấy phép Busybox tuyệt vời về điều này. Và phần còn lại được bao gồm trong Câu hỏi thường gặp về GPL .
mctylr

BusyBox là dự án có các vấn đề GPL được kiện tụng thành công nhất. Đã có một số công ty bao gồm BusyBox nhưng không cung cấp mã BusyBox cho người dùng cuối của họ. Trong tất cả các mã để đẩy phong bì với BusyBox có lẽ là sự lựa chọn tồi tệ nhất.
Elin

Câu trả lời:


12

Hoàn toàn có quyền bán "tổng hợp" phần mềm nguồn mở và nguồn mở theo Câu hỏi thường gặp về GPL. Nếu công ty biên dịch Linux, xây dựng chương trình của riêng họ trên đó chỉ sử dụng các thư viện LGPL và bán sản phẩm kết quả trong khi xuất bản tất cả các nguồn GPL / LGPL với nó, thì họ không vi phạm GPL.

Vấn đề ở đây là: GPL không mở rộng cho các chương trình chỉ chạy trên cùng một máy tính và giao tiếp / tương tác với chương trình nguồn đóng. Một trình quản lý cửa sổ nguồn mở như BusyBox dĩ nhiên được phép quản lý các cửa sổ nguồn đóng. Theo nguyên tắc thông thường, GPL đạt đến không gian địa chỉ của mã được cấp phép.


3
Đó là khá nhiều những gì tôi sẽ nói, mặc dù vậy tôi cũng sẽ thêm một lưu ý về tivoization .
Đánh dấu gian hàng

1
@Google: Có, nhưng bạn cần phân phối tất cả các nguồn cho các phần GPL với bản phân phối của bạn.
thiton

1
@Google: GPL yêu cầu các tác phẩm phái sinh mang thông báo 'nổi bật' rằng chúng là các dẫn xuất. (GPL Mục 4 và 5). Vì vậy, bạn có thể đặt tên nó là Máy tính để bàn Bnome3, nhưng bạn cần một phụ đề có nội dung 'Dựa trên Gnome 3' và các thông báo bản quyền sẽ phải liệt kê 'Dự án Gnome'. Lưu ý rằng fedora không được phân phối theo GPL trong một đơn vị lớn, đó là một cụm lớn gồm nhiều bit, mỗi bit theo GPL et al.
ipeet

2
"Nguyên tắc chung" là những gì giúp luật sư làm việc. Chỉ cần nói ...
pap

1
Chỉ là một ghi chú, nhưng ... BusyBox (chữ hoa 'b') không phải là Trình quản lý cửa sổ. Tôi nghĩ rằng bạn đã nhầm lẫn với * Box, dòng WM, như Openbox, Blackbox, Fluxbox, v.v ... (tất cả chữ thường 'b') BusyBox là một phần mềm duy nhất (cụ thể hơn là hệ thống bootstrap) kết hợp một số công cụ UNIX . Tôi chắc chắn đó chỉ là một sự nhầm lẫn.
haylem

4

IANAL, nhưng đây là những gì tôi đã học được. Tôi sẽ rất quan tâm để biết nếu bất kỳ trong số đó là không chính xác:

LGPL: Nếu bạn liên kết tĩnh nó trong ứng dụng của bạn và bạn phân phối ứng dụng biên soạn sau đó bạn phải giải phóng các nguồn theo GPL cho bất cứ ai nhận được nhị phân .


1
Theo hiểu biết của tôi, bạn chỉ cần mô tả LGPL. Như thiton đã nói, 'GPL đạt đến không gian địa chỉ của mã được cấp phép'.
ipeet

Đơn giản là không đúng. Nếu bạn liên kết với thư viện gpl, chương trình của bạn phải là gpl. Nó không quan trọng nếu bạn liên kết tĩnh hoặc động. Đây là lý do tại sao họ đã phát minh ra lpgl để cung cấp cho thư viện tự động tùy chọn liên kết mà không giới hạn giấy phép
Esben Skov Pedersen

1

GPL KHÔNG tương thích với nguồn đóng. Nếu họ sử dụng các nhịp / mô-đun được cấp phép GPL và đóng nguồn, trong trường hợp chung, họ sẽ vi phạm các điều kiện GPL.


Một công ty lớn đã làm điều này, trong đó Busybox là GPL và họ đã sử dụng zoneinfo http://www.twinsun.com/tz/tz-link.htm LGPLvà ở đó thiết bị nhúng là nguồn đóng, hoạt động kinh doanh sau đó nhiều năm. Bạn vẫn sẽ nói rằng họ đang vi phạm các điều khoản GPL chứ?
YumYumYum

2
@Google: Được rồi, vì vậy một công ty đã làm một cái gì đó trong một vài năm. Bạn đang nói rằng làm cho nó hợp pháp? Sử dụng lý do đó, vượt quá giới hạn tốc độ cho việc lái xe sẽ là hợp pháp ở đây.
David Thornley

@DavidThornley: Thật không may, không phải tôi. Công ty đang làm việc đó không hợp pháp hoặc không hợp pháp là không rõ ràng vì trong Luật CNTT, không có câu trả lời 100%, vì vậy cố gắng hiểu để tránh mắc lỗi trong các dự án của tôi, nơi mà nhiều người khác dường như đã mắc phải những sai lầm đó (chỉ vì tài nguyên có hạn, không có sẵn cho người mới bắt đầu nhận ra khi phát triển, sau này nó trở thành một cơn ác mộng, như trong trường hợp của tôi, tôi đang gặp phải).
YumYumYum

1

Có những vụ án rõ ràng và sau đó là một số vụ lầy lội mà bạn sẽ có thêm ý kiến ​​rằng các luật sư mà bạn trình bày vụ án.

Quy tắc của bạn phù hợp với sự hiểu biết của tôi, nhưng những gì sẽ thay đổi là định nghĩa chính xác của "sử dụng". Hệ thống bản quyền dựa trên giấy phép không phải là về "sử dụng" mà là "tạo ra một tác phẩm phái sinh" và một số người sẽ tranh luận với các lập luận tốt rằng một hệ thống được tạo ra từ các chương trình khác nhau có thể sao cho các chương trình khác nhau được gắn đủ toàn bộ hệ thống là công việc xuất phát của bất kỳ ai trong số họ trong khi một chương trình đơn lẻ khác được liên kết động với thư viện không phải là công việc xuất phát của thư viện vì thư viện thực hiện giao thức được xác định rõ ràng và có thể được thay thế (Tôi đã thấy libreadline được sử dụng trong đó một cách với trình bao bọc GPLed đơn giản để khớp với giao diện được cung cấp bởi ứng dụng). Hãy hỏi luật sư của bạn để được tư vấn cụ thể cho trường hợp của bạn. Hẹn gặp lại trước thẩm phán nếu một trong những người giữ bản quyền không '


1

(Câu trả lời này không dành cho câu hỏi này, nhưng đối với câu hỏi cụ thể hơn gitvà bao gồm trường hợp cụ thể của nó chi tiết hơn câu hỏi này thực tế sẽ cho phép. Xem bình luận 599873 để biết thêm. cho đến khi vấn đề được giải quyết .)

  • Git được bao phủ bởi GPLv2 .
  • Nói chung, nếu bạn có bất kỳ câu hỏi nào về việc cấp phép của FSF, cách để đi là
    • bản thân giấy phép (nó không phải là một số người giữ cửa và khá dễ hiểu. Thời gian đầu tư vào việc học sẽ trả lại gấp mười lần.)
    • Câu hỏi thường gặp của FSF về giấy phép của họ , cụ thể là Câu hỏi thường gặp về GPLv2 ,
    • các tài liệu liên quan khác trên web, bao gồm các cơ sở của FSF; xem cho chính quyền của họ mặc dù
    • như một phương sách cuối cùng (thiếu luật sư), bản thân FSF (tất nhiên họ không phải là công ty luật, vì vậy họ sẽ chỉ đưa ra bình luận chung cho bạn mà không liên quan đến quyền tài phán - vì họ có thể tự do bỏ qua yêu cầu. họ trả lời các câu hỏi hợp lý chưa được trả lời ở nơi khác, mặc dù có thể mất một lúc).

  • Trong trường hợp của bạn, các tài liệu liên quan là:
    • GPLv2 # phần2 :

      b) Bạn phải khiến bất kỳ tác phẩm nào mà bạn phân phối hoặc xuất bản, toàn bộ hoặc một phần có chứa hoặc có nguồn gốc từ Chương trình hoặc bất kỳ phần nào trong đó, được cấp phép miễn phí cho tất cả các bên thứ ba theo các điều khoản của Giấy phép này .
      <...>
      Những yêu cầu này áp dụng cho toàn bộ công việc sửa đổi. Nếu các phần có thể xác định của tác phẩm đó không xuất phát từ Chương trình và có thể được coi là hợp lý các tác phẩm độc lập và riêng biệt, thì Giấy phép này và các điều khoản của nó, không áp dụng cho các phần đó khi bạn phân phối chúng thành các tác phẩm riêng biệt. Nhưng khi bạn phân phối các phần giống nhau như một phần của toàn bộ công việc dựa trên Chương trình, thì việc phân phối toàn bộ phải dựa trên các điều khoản của Giấy phép này, có quyền cho các giấy phép khác mở rộng ra toàn bộ, và do đó cho mỗi phần và mọi phần bất kể ai đã viết nó.

      Do đó, mục đích của phần này là không đòi hỏi quyền lợi hay tranh chấp quyền của bạn đối với công việc hoàn toàn do bạn viết; thay vào đó, mục đích là để thực hiện quyền kiểm soát việc phân phối các tác phẩm phái sinh hoặc tập thể dựa trên Chương trình.

      Ngoài ra, việc tổng hợp một tác phẩm khác không dựa trên Chương trình với Chương trình (hoặc với tác phẩm dựa trên Chương trình) trên một khối lượng của phương tiện lưu trữ hoặc phân phối không mang lại tác phẩm khác trong phạm vi của Giấy phép này.

    • Câu hỏi thường gặp về GPLv2 #NFUseGPLPlugins :

      Nó phụ thuộc vào cách chương trình gọi các trình cắm thêm của nó. Nếu chương trình sử dụng fork và exec để gọi các plugin, thì các plugin là các chương trình riêng biệt, vì vậy giấy phép của plugin không có yêu cầu nào về chương trình chính.

Vì vậy, bạn không thể làm cho tác phẩm của mình "chứa"git nhưng bạn có thể đưa nó vào như một thực thể riêng biệt mà tác phẩm của bạn sử dụng. Ví dụ của VMWare cho thấy cái sau bao gồm việc đóng gói nó vào bản phân phối hoặc tệp tổng hợp trong bản phân phối (hình ảnh ISO là nó).

Sự khác biệt là gì? Phải mất một thời gian để đi đến kết luận. Cuối cùng, đoạn "không phải là mục đích ... để đòi quyền ... mà là ... để kiểm soát việc phân phối các tác phẩm phái sinh hoặc tập thể dựa trên Chương trình" đã thuyết phục tôi rằng sự khác biệt là nếu tác phẩm kết quả là được coi là một dẫn xuất của phần GPL theo luật bản quyền. Với cái cuối cùng này, GPL không thể giúp bạn - bạn cần tham khảo luật bản quyền hiện hành hoặc theo bước chân của người khác.


Câu trả lời này được dành cho lập trình viên.stackexchange.com/questions/289785/ . Họ đã đóng nó trước khi tôi kết thúc cuộc điều tra. Vì nó bao gồm vấn đề tốt hơn câu trả lời được chấp nhận trong câu hỏi này nhưng có quá nhiều phần cụ thể cho câu hỏi đó, tôi sẽ cố gắng mở lại câu hỏi đó để đăng lại nó trên cơ sở đó.
ivan_pozdeev 16/07/2015

2
Câu hỏi này không hỏi về git. FWIW một câu hỏi khác được đề cập trong bình luận của bạn, dường như cũng không hỏi về git (nó chỉ đề cập đến âm thanh tương tự "libgit.a")
gnat

@gnat, tốt, hãy đọc thêm một chút và bạn sẽ thấy "git.exe".
ivan_pozdeev 16/07/2015

Tôi hiểu rồi, cảm ơn! Tuy nhiên, đề cập đến git trong câu trả lời ở đây có thể gây nhầm lẫn cho độc giả, nó như thể thoát ra khỏi không khí mỏng. Xem xét chỉnh sửa ing để giải thích cho điều đó
gnat

1
"Câu trả lời này không dành cho câu hỏi này". Sau đó, vui lòng xóa câu trả lời của bạn hoặc thay đổi nó để giải quyết câu hỏi.
Andy
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.