Innanzitutto, la dichiarazione di non responsabilità standard: IANAL ma uno sconosciuto casuale.
Recentemente ho confezionato una AGPL applicazione (*). Usa librerie di terze parti distribuite sotto licenze jQuery, MIT, BSD (e altre). Ecco come ho proceduto.
I miei intenti principali quando ho progettato questo erano: essere conforme e essere corretto . Mentre il primo dovrebbe essere sufficiente, il secondo assicura che chiunque cerchi di farmi causa per non averlo capito al 100% deve ammettere che ho fatto delle cose in buona fede.
1) File sorgente: tutti i miei file hanno l'intestazione AGPL. Tutti i file di terze parti vengono lasciati (per lo più) non modificati e pertanto includono la propria intestazione di licenza.
2) LICENSE.txt, nella radice del pacchetto, contiene il testo della licenza AGPL (come spiegato nella sezione "Come applicare questi termini ai nuovi programmi").
3) Un file di licenza secondario, che ho chiamato LICENSE-3RD-PARTY.txt, anch'esso situato nella radice del pacchetto, contiene copie letterali di TUTTE le licenze. Per ogni licenza, un'intestazione indica quale licenza è e in quale parte si applica. Includo anche il nome dei titolari del copyright qui: li riutilizzerò da qualche altra parte in seguito, quindi vale la pena.
-----------------------------------------------------------------------------
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, anche alla radice, spiega che il software è AGPL (vedi LICENSE.txt) e utilizza librerie di terze parti distribuite secondo i loro termini (vedi LICENSE-3RD-PARTY.txt)
5) Nella documentazione online, ho una pagina Licenza che ripete le informazioni dal readme: il mio software è AGPL e utilizza componenti di terze parti che sono BSD / MIT / [ ...]. Ho deciso di mantenere questa pagina più pulita e più leggibile, pertanto viene fornito solo il nome della licenza, con un link al testo completo e il nome dei titolari del copyright con un link al proprio sito web.
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) Anche nella documentazione online, ho una pagina Credits , in cui elenco i principali contributori diretti e indiretti. Ho citato ad esempio il gruppo PostgreSQL, anche se PostgreSQL non è incluso nel download, ma è necessario per eseguire il software. Questo sarebbe un buon posto per inserire tutti i riconoscimenti richiesti o desiderati dagli autori di strumenti / librerie / ecc. Di terze parti.
7) All'interno del software stesso, l'elenco di librerie insieme alla licenza e ai detentori del copyright viene ripetuto nella finestra di dialogo Informazioni .
Per rispondere alle tue domande specifiche riguardanti l'inclusione del codice sorgente e del layout del file:
-
generalmente si accetta solo il collegamento al codice sorgente completo di pacchetti di terze parti. Consultare ogni licenza specifica per essere sicuro, ma IMHO che fornisce il collegamento dovrebbe essere sufficiente. Ad esempio, se si utilizza una versione minificata di una libreria, è possibile fornire il collegamento al download standard e andare bene.
-
a meno che il componente di terze parti richieda esplicitamente che le distribuzioni mantengano il layout del file identico, puoi riorganizzare le cose come desideri. Immagina di usare le librerie web, avendo ciascuna una directory css / e una js /, puoi unirle insieme in una singola directory lib /, contenente un misto css / e js /, o anche disperdere tutto intorno al tuo albero dei sorgenti, a tua scelta.
E come nota finale, vorrei più che accogliere i commentatori che agitano una mano dicendo "stai facendo questo sbagliato" e / o "dovresti fare anche quello ".
(*) Questo non è inteso come collegamento tramite spam, ma solo per rispondere alla parte "ti preghiamo di fornire esempi" della domanda. Sentiti libero, caro mod, per cancellare questo link se questo è contro le regole.