Đầu tiên, từ chối trách nhiệm tiêu chuẩn: IANAL nhưng là một người lạ ngẫu nhiên.
Tôi đã đóng gói một ứng dụng AGPL (*) gần đây. Nó sử dụng các thư viện bên thứ ba được phân phối theo giấy phép jQuery, MIT, BSD (và một số khác). Đây là cách tôi đã tiến hành.
Ý định chính của tôi khi tôi thiết kế này là: tuân thủ và công bằng . Mặc dù điều thứ nhất là đủ, nhưng điều thứ hai đảm bảo rằng bất cứ ai cố gắng kiện tôi vì không hiểu đúng 100% phải thừa nhận tôi đã làm mọi việc một cách thiện chí.
1) Tệp nguồn: tất cả các tệp của tôi có tiêu đề AGPL. Tất cả các tệp của bên thứ 3 được để lại (hầu hết) không được sửa đổi, và do đó bao gồm tiêu đề giấy phép của riêng họ.
2) LICENSE.txt, ở phần gốc của gói, chứa văn bản giấy phép AGPL (như được giải thích trong phần "Cách áp dụng các điều khoản này cho các chương trình mới của bạn").
3) Tệp giấy phép thứ cấp, mà tôi đặt tên là LICENSE-3RD-PARTY.txt, cũng nằm ở thư mục gốc của gói, chứa các bản sao nguyên văn của TẤT CẢ các giấy phép. Đối với mỗi giấy phép, một tiêu đề cho biết đó là giấy phép nào và nó được áp dụng cho phần nào. Tôi cũng bao gồm tên của chủ sở hữu bản quyền ở đây - tôi sử dụng lại chúng ở một nơi khác sau đó để nó đáng để nỗ lực.
-----------------------------------------------------------------------------
The MIT License (MIT)
applies to:
- AJAX Upload, Copyright (c) Andrew Valums
- jQuery hashchange event, Copyright (c) 2010 "Cowboy" Ben Alman
- jquery.hotkeys, Copyright (c) 2010 John Resig
-----------------------------------------------------------------------------
Permission is hereby granted, free of charge [...]
4) README.txt, cũng ở phần gốc, giải thích rằng phần mềm là AGPL (xem LICENSE.txt) và sử dụng các thư viện bên thứ ba được phân phối theo các điều khoản của riêng họ (xem LICENSE-3RD-PARTY.txt)
5) Trong tài liệu trực tuyến, tôi có trang Cấp phép lặp lại thông tin từ readme: phần mềm của tôi là AGPL và nó sử dụng các thành phần của bên thứ 3 là BSD / MIT / [...]. Tôi đã quyết định giữ cho trang này sạch hơn và dễ đọc hơn, do đó chỉ cung cấp tên của giấy phép, với một liên kết đến toàn văn và tên của chủ bản quyền có liên kết đến trang web của riêng họ.
jQuery
Copyright 2013 jQuery Foundation and other contributors
http://jquery.com
MIT License
Data Driven Documents (D3)
Copyright (c) 2013, Michael Bostock <-- link to personal website, if any
http://d3js.org <-- link to software website
BSD-like license <-- link to license full text
[...]
6) Cũng trong tài liệu trực tuyến, tôi có trang Tín dụng , nơi tôi liệt kê những người đóng góp chính trực tiếp và gián tiếp. Ví dụ, tôi đã trích dẫn nhóm PostgreSQL, mặc dù PostgreSQL không được bao gồm trong quá trình tải xuống, nhưng bạn cần nó để chạy phần mềm. Đây sẽ là một nơi tốt để đặt tất cả các xác nhận được yêu cầu hoặc mong muốn bởi các tác giả của các công cụ / thư viện / bên thứ 3.
7) Bên trong phần mềm, danh sách các thư viện cùng với giấy phép và chủ bản quyền, được lặp lại trong hộp thoại Giới thiệu .
Để giải quyết các câu hỏi cụ thể của bạn về việc bao gồm mã nguồn và bố cục tệp:
nó thường được chấp nhận để chỉ liên kết đến mã nguồn đầy đủ của các gói bên thứ 3. Tham khảo từng giấy phép cụ thể để chắc chắn, nhưng IMHO cung cấp liên kết là đủ. Ví dụ: nếu bạn sử dụng một phiên bản rút gọn của thư viện, bạn có thể cung cấp liên kết đến bản tải xuống tiêu chuẩn và sẽ ổn.
trừ khi thành phần bên thứ 3 yêu cầu rõ ràng rằng các bản phân phối giữ bố cục tệp giống hệt nhau, bạn có thể sắp xếp lại mọi thứ theo ý muốn. Hãy tưởng tượng bạn sử dụng các thư viện web, có mỗi thư mục css / và js /, bạn có thể hợp nhất chúng lại với nhau thành một thư mục lib /, chứa css / và js /, hoặc thậm chí phân tán chúng xung quanh cây nguồn của bạn - lựa chọn của bạn.
Và như một lưu ý cuối cùng, tôi rất muốn chào đón những người bình luận vẫy tay nói rằng "bạn đang làm sai điều này " và / hoặc "bạn cũng nên làm điều đó ".
(*) Đây không phải là liên kết spam, mà chỉ để trả lời phần "vui lòng cung cấp ví dụ" của câu hỏi. Hãy thoải mái, các mod thân yêu, để xóa liên kết này nếu điều này trái với quy tắc.