Prima di tutto, B viola la GPL su A. Ma questo non è esattamente il tuo interesse ed è irrilevante per la domanda qui (chissà, forse B ha ottenuto una licenza LGPL da A sul loro codice in modo che possa essere rilasciato sotto LGPL?).
La domanda è "Puoi costruire un pezzo di software GPL basato sul codice LGPL?" La risposta a questo è semplicemente "sì".
La LGPL è meno restrittiva della GPL (quindi perché B viola la licenza su A a meno che non siano state fatte altre disposizioni), ma consente anche di riportarla in un progetto GPL abbastanza facilmente.
Dalla licenza LGPL:
-
Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license document.
Fa parte della licenza. Puoi facilmente creare un software GPL basato sul codice LGPL.
Ci sono alcune differenze di versione che dovrai prestare attenzione per assicurarsi che il codice sia concesso in licenza nel modo corretto, con la versione corretta della GPL.
Nel caso in cui non ci siano informazioni sulla licenza presentate, non ha il diritto di estenderle. B non dovrebbe essere stato distribuito, ma i suoi contributi sono non sotto licenza open source. Potrebbe trattarsi di un progetto interno pubblicato o di un altro evento.
Non è presentato sotto una licenza che è compatibile con l'estensione con la GPL. Considera la situazione in cui un'azienda, utilizzando internamente il software GPL (accettabile, non una violazione), ha reso il pubblico repo in modo errato.
In questo caso, è del tutto possibile che il progetto C stia violando la violazione del copyright stesso (il materiale che B ha aggiunto che non è autorizzato sotto GPL in quanto non avrebbe dovuto essere distribuito in primo luogo).
Uno non può forzare una licenza sulla fonte di qualcun altro. È in conformità con la licenza o in violazione di essa. Se è in violazione di esso, quindi come spiegato nella licenza:
You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
Una violazione della GPL non significa che il materiale sia in GPL, ma piuttosto che non può essere distribuito.