Gói phần mềm chứa các thư viện LGPL dưới dạng Lưu trữ Java Fat-Jar


8

Tại nơi làm việc, chúng tôi đang triển khai gói phần mềm của ứng dụng Java (được viết bởi chúng tôi) có nhiều phụ thuộc bên ngoài, hầu hết trong số chúng là các thư viện bên thứ ba được cấp phép của LGPL và BSD phân phối dưới dạng lưu trữ JAR.

Hiện tại, chúng tôi đang triển khai một máy khách thử nghiệm của phần mềm được phân phối dưới dạng một kho lưu trữ java fat jar duy nhất, được tạo bởi plugin lắp ráp Maven, có chức năng như sau:

  • trích xuất tất cả các phụ thuộc
  • hoàn lại chúng dưới dạng một kho lưu trữ jar

Tất cả các tệp lớp được trích xuất, và sau đó được gói lại thành một tệp JAR duy nhất với ứng dụng của chúng ta. Tôi nhận ra rằng một số tệp bị ghi đè, chủ yếu là các tệp LICENSE.txt, do có cùng tên.

Tôi tự hỏi liệu điều này có đúng không và tuân thủ giấy phép LGPL. Điều gì sẽ là một cách tốt hơn để phân phối phần mềm? Làm thế nào gói đặc biệt này sẽ được tổ chức tốt nhất?

Chúng tôi không kết hợp bất kỳ mã nguồn nào trực tiếp vào các tệp nguồn của mình, chúng tôi cũng không chạm vào các tệp nhị phân. Mã nguồn của các thư viện đi kèm với toàn bộ sản phẩm. (Đây là phần mềm được sử dụng nội bộ, không được triển khai cho khách hàng hoặc bất cứ điều gì, nhưng tôi đoán điều đó không quan trọng.)

PS: Tôi đã hỏi câu hỏi tương tự trên Stack Overflow, và tôi được đề nghị hỏi nó ở đây.

Câu trả lời:


2

Vì bạn đang sử dụng Maven, tôi khuyên bạn nên chuyển sang plugin bóng râm để xây dựng JAR của mình. Nó có thể được cấu hình để tự động xử lý nhiều tệp giấy phép "tiêu chuẩn" (xem phần về máy biến tài nguyên) và sẽ cảnh báo bạn nếu các phụ thuộc của bạn có các lớp chồng chéo.


1

Đây thực sự là một vấn đề khó khăn cần được thảo luận với một luật sư. Dù sao, việc ghi đè các tệp LICENSE.txt (loại bỏ hiệu quả tất cả trừ một trong số chúng) chắc chắn là không nên. Đổi tên chúng thành Foo-LICENSE.txt, Bar-License.txt là bước đầu tiên bạn nên làm ngay lập tức. Liên quan đến LGPL, cung cấp hướng dẫn cách thay thế lib bằng fatjar có thể đủ để tuân thủ phần 4e của LGPL (hỏi luật sư của bạn). Nếu hỏi luật sư là không khả thi, trực tiếp yêu cầu sự cho phép của các tác giả để làm điều đó như thế có thể là một sự thay thế.

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.