Tout d'abord, B est en violation de la GPL sur A. Mais ce n'est pas exactement votre préoccupation et n'est pas pertinent pour la question ici (qui sait, peut-être que B a obtenu une licence LGPL de A sur leur code afin qu'elle puisse être publiée sous LGPL? ).
La question est "Pouvez-vous créer un logiciel GPL basé sur le code LGPL?" La réponse à cette question est simplement «oui».
La LGPL est moins restrictive que la GPL (c'est pourquoi B enfreint la licence sur A sauf si d'autres dispositions ont été prises), mais permet également de la réintégrer assez facilement dans un projet GPL.
De la licence LGPL:
Code objet incorporant le matériel des fichiers d'en-tête de bibliothèque. La forme de code objet d'une application peut incorporer des éléments d'un fichier d'en-tête qui fait partie de la bibliothèque. Vous pouvez transmettre ce code objet selon les modalités de votre choix, à condition que, si le matériel incorporé ne se limite pas aux paramètres numériques, aux dispositions de structure de données et aux accesseurs, ou aux petites macros, aux fonctions en ligne et aux modèles (dix lignes ou moins de longueur), vous effectuez les deux opérations suivantes:
a) Donner un avis bien en vue avec chaque copie du code objet que la bibliothèque y est utilisée et que la bibliothèque et son utilisation sont couvertes par cette licence.
b) Accompagnez le code objet d'une copie de la GNU GPL et de ce document de licence.
Cela fait partie de la licence. Vous pouvez facilement créer un logiciel GPL basé sur le code LGPL.
Il y a quelques différences de version auxquelles vous devrez faire attention pour vous assurer que le code est sous licence de la bonne manière, sous la bonne version de la GPL.
Dans le cas où aucune information de licence n'est présentée, vous n'avez pas le droit de la prolonger. B n'aurait pas dû être distribué, mais ses contributions ne sont pas sous licence sous une licence open source. Il peut s'agir d'un projet interne qui a été publié ou d'un autre événement.
Il n'est pas présenté sous une licence compatible avec l'extension avec la GPL. Considérez la situation où une entreprise, utilisant un logiciel GPL en interne (acceptable - pas une violation), a par erreur rendu public son repo.
Dans ce cas, il est tout à fait possible que le projet C soit en violation de la violation du droit d'auteur lui-même (le matériel ajouté par B qui n'est pas sous licence GPL car il n'aurait pas dû être distribué en premier lieu).
On ne peut pas forcer une licence sur la source de quelqu'un d'autre. Il est soit conforme à la licence, soit en violation de celle-ci. Si cela est contraire à cela, alors comme indiqué dans la licence:
Vous ne pouvez pas propager ou modifier une œuvre couverte sauf dans les cas expressément prévus par la présente Licence. Toute tentative de le propager ou de le modifier autrement est nulle et mettra automatiquement fin à vos droits en vertu de cette licence (y compris les licences de brevet accordées en vertu du troisième paragraphe de l'article 11).
Une violation de la GPL ne signifie pas que le matériel est sous GPL, mais plutôt qu'il ne peut pas être distribué.