Les bibliothèques (ou modules externes, ou etc) non libres n'ont jamais empêché un logiciel d'être libre.
Sinon il serait impossible d'avoir un logiciel libre écrit en Windev, ou qui est lié à la bibliothèque C de Microsoft.
Faux pour les bibliothèques, va relire la GPL : les bibliothèques liées ont toujours besoin d'être compatible GPL (donc pas proprio).
Pour ce qui est du « système » de base (avec la libc par exemple), il existe un paragraphe spécial pour préciser :
The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work.
C'est ce qui permet de ne pas avoir à demander les sources du système sur lequel un programme tourne. Cependant, il était pour moi (dans ma tête) entendu que c'est parce qu'il existe des équivalent libres ou « standards », cf. indication ci-dessus, qu'on pouvait déclarer libre un code qui tourne avec des dépendances système : c'est à dire qu'on peut toujours dans l'absolu remplacer tous les composants non-libres nécessaires à un programme GPL si on veut. Car il m'a toujours semblé insensé de dire qu'on programme écrit dans un langage spécifique nécessitant des programmes non-libres puisse être possible (cf. The Java Trap).
Or ici il est précisé qu'on compilo peut être considéré comme composant essentiel et aurait tendance à me donner tort. Je suis toujours un peu partagé sur l'interprétation de ce passage. Les outils incriminés ici sont-ils « essentiels » à faire tourner le système ? Je ne pense pas, ce sont des outils pour le construire (on parle ici de la construction d'un OS, alors que le passage prend plutôt la position d'un soft qui tourne sur un OS).
[^] # Re: Errata
Posté par benoar . En réponse à la dépêche Les 10 paliers de libération d’un téléphone Android. Évalué à 3.
Faux pour les bibliothèques, va relire la GPL : les bibliothèques liées ont toujours besoin d'être compatible GPL (donc pas proprio).
Pour ce qui est du « système » de base (avec la libc par exemple), il existe un paragraphe spécial pour préciser :
C'est ce qui permet de ne pas avoir à demander les sources du système sur lequel un programme tourne. Cependant, il était pour moi (dans ma tête) entendu que c'est parce qu'il existe des équivalent libres ou « standards », cf. indication ci-dessus, qu'on pouvait déclarer libre un code qui tourne avec des dépendances système : c'est à dire qu'on peut toujours dans l'absolu remplacer tous les composants non-libres nécessaires à un programme GPL si on veut. Car il m'a toujours semblé insensé de dire qu'on programme écrit dans un langage spécifique nécessitant des programmes non-libres puisse être possible (cf. The Java Trap).
Or ici il est précisé qu'on compilo peut être considéré comme composant essentiel et aurait tendance à me donner tort. Je suis toujours un peu partagé sur l'interprétation de ce passage. Les outils incriminés ici sont-ils « essentiels » à faire tourner le système ? Je ne pense pas, ce sont des outils pour le construire (on parle ici de la construction d'un OS, alors que le passage prend plutôt la position d'un soft qui tourne sur un OS).