Pertama, penafian standar: IANAL tetapi orang asing acak.
Saya telah mengemas aplikasi AGPL (*) baru-baru ini. Ini menggunakan perpustakaan pihak ketiga yang didistribusikan di bawah lisensi jQuery, MIT, BSD (dan beberapa lainnya). Inilah cara saya melanjutkan.
Maksud utama saya ketika saya merancang ini adalah: patuh dan adil . Sementara yang pertama harus mencukupi, yang kedua memastikan bahwa siapa pun yang mencoba menuntut saya karena tidak mendapatkannya 100% benar harus mengakui saya telah melakukan hal-hal dengan itikad baik.
1) Sumber file: semua file saya memiliki header AGPL. Semua file pihak ke-3 dibiarkan (sebagian besar) tidak dimodifikasi, dan karenanya menyertakan header lisensi mereka sendiri.
2) LICENSE.txt, pada akar paket, berisi teks lisensi AGPL (seperti yang dijelaskan dalam bagian "Cara Mendaftar Ketentuan Ini ke Program Baru Anda").
3) File lisensi sekunder, yang saya beri nama LICENSE-3RD-PARTY.txt, juga terletak di root paket, berisi salinan kata demi kata SEMUA lisensi. Untuk setiap lisensi, tajuk menyatakan lisensi yang mana, dan bagian mana yang berlaku untuknya. Saya juga memasukkan nama pemegang hak cipta di sini - saya menggunakannya kembali di tempat lain setelahnya sehingga layak untuk diusahakan.
-----------------------------------------------------------------------------
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, juga di root, menjelaskan bahwa perangkat lunaknya adalah AGPL (lihat LICENSE.txt) dan menggunakan perpustakaan pihak ketiga yang didistribusikan dengan ketentuannya sendiri (lihat LICENSE-3RD-PARTY.txt)
5) Dalam dokumentasi online, saya memiliki halaman Lisensi yang mengulangi informasi dari readme: perangkat lunak saya adalah AGPL, dan menggunakan komponen pihak ke-3 yang BSD / MIT / [...]. Saya telah memutuskan untuk menjaga halaman ini lebih bersih dan lebih mudah dibaca, oleh karena itu hanya nama lisensi yang disediakan, dengan tautan ke teks lengkap, dan nama pemegang hak cipta dengan tautan ke situs web mereka sendiri.
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) Juga dalam dokumentasi online, saya memiliki halaman Kredit , di mana saya mendaftar kontributor utama langsung dan tidak langsung. Misalnya saya mengutip grup PostgreSQL, walaupun PostgreSQL tidak termasuk dalam unduhan, tetapi Anda memerlukannya untuk menjalankan perangkat lunak. Ini akan menjadi tempat yang baik untuk menempatkan semua ucapan terima kasih yang dibutuhkan atau diinginkan oleh penulis alat / perpustakaan pihak ke-3 / dll.
7) Di dalam perangkat lunak itu sendiri, daftar perpustakaan bersama dengan pemegang lisensi dan hak cipta, diulang dalam kotak dialog Tentang .
Untuk menjawab pertanyaan spesifik Anda tentang penyertaan kode sumber dan tata letak file:
umumnya diterima hanya dengan menautkan ke kode sumber lengkap dari paket pihak ke-3. Konsultasikan setiap lisensi tertentu untuk memastikan, tetapi IMHO yang menyediakan tautannya sudah cukup. Misalnya, jika Anda menggunakan versi perpustakaan yang diperkecil, Anda dapat memberikan tautan ke unduhan standar dan baik-baik saja.
kecuali komponen pihak ke-3 secara eksplisit menuntut agar distribusi menjaga tata letak file tetap sama, Anda dapat mengatur kembali hal-hal yang Anda inginkan. Bayangkan Anda menggunakan pustaka web, memiliki masing-masing direktori css / dan js /, Anda dapat menggabungkannya menjadi satu direktori lib /, yang berisi gabungan css / dan js /, atau bahkan menyebarkannya di sekitar pohon sumber Anda - pilihan Anda.
Dan sebagai catatan terakhir, saya akan lebih dari menyambut komentator yang melambaikan tangan mengatakan "Anda melakukan ini salah" dan / atau "Anda juga harus melakukan itu ".
(*) Ini tidak dimaksudkan untuk menghubungkan spam, tetapi hanya untuk menjawab bagian "tolong berikan contoh" dari pertanyaan. Jangan ragu, mod, untuk menghapus tautan ini jika ini melanggar aturan.