summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/fr/applying-free-sw-criteria.html
blob: 0308eed75c0f7a083df75c3b3f6db92163a5bd5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
<!--#set var="ENGLISH_PAGE" value="/philosophy/applying-free-sw-criteria.en.html" -->

<!--#include virtual="/server/header.fr.html" -->
<!-- Parent-Version: 1.79 -->

<!-- This file is automatically generated by GNUnited Nations! -->
<title>Mettre en application les critères du logiciel libre - Projet GNU - Free
Software Foundation</title>

<!--#include virtual="/philosophy/po/applying-free-sw-criteria.translist" -->
<!--#include virtual="/server/banner.fr.html" -->
<h2>Mettre en application les critères du logiciel libre</h2>

<p>par Richard Stallman</p>

<p>Les quatre libertés essentielles constituent les critères permettant de dire
<a href="/philosophy/free-sw.html">si une séquence donnée de code est
libre</a> (c'est-à-dire si elle respecte la liberté de ses utilisateurs), ou
non. De quelle manière doit-on les appliquer pour déterminer s'il est
opportun de recommander un paquet logiciel, un système d'exploitation, un
ordinateur ou une page web ?</p>

<p>Qu'un programme soit libre ou non influe tout d'abord sur les décisions que
nous prenons dans la sphère privée : pour garder notre liberté, il nous faut
rejeter les programmes qui nous l'enlèveraient. Cependant, cela influe
également sur ce que nous devons dire aux autres et faire avec les autres.</p>

<p>Un programme non libre est une injustice. Distribuer un programme non libre,
conseiller un programme non libre à d'autres personnes ou, plus
généralement, les conduire à utiliser des logiciels non libres, veut dire
les orienter vers l'abandon de leur liberté. Bien sûr, inciter les gens à
utiliser du logiciel non libre n'est pas la même chose que d'en installer
sur leurs ordinateurs, mais il ne faut pas les guider dans la mauvaise
direction.</p>

<p>D'un point de vue plus fondamental, nous ne devons pas présenter un
programme non libre comme une solution car cela lui conférerait de la
légitimité. Le logiciel non libre est un problème ; <a
href="/philosophy/compromise.html">le présenter comme une solution, c'est
nier l'existence de ce problème</a>.</p>

<p>Cet article explique comment nous appliquons les critères de base du
logiciel libre à l'évaluation de divers objets, afin de décider de les
recommander, ou non.</p>

<h3>Paquets logiciels</h3>

<p>Pour qu'un paquet logiciel soit libre, tout son code doit être libre. Mais
pas seulement son code. Puisque les fichiers de documentation (manuels,
fichiers LISEZ-MOI, journal des modifications <cite>[changelog]</cite>,
etc.) sont des parties techniques essentielles de ces paquets, <a
href="/philosophy/free-doc.html">ils doivent également être libres</a>.</p>

<p>Un paquet logiciel est généralement utilisé avec de nombreux autres et
interagit avec quelques-uns d'entre eux. Lesquelles de ces interactions avec
des programmes non libres sont-elles acceptables sur le plan éthique ?</p>

<p>Nous avons développé GNU pour qu'il existe un système d'exploitation libre ;
parce qu'en 1983, il n'y en avait aucun. Alors que nous développions les
premiers composants de GNU dans les années 80, il était inévitable que
chacun de ces composants dépende de logiciels non libres. Par exemple, aucun
programme C ne pouvait s'exécuter sans un compilateur C non libre avant que
GCC ne fonctionne ; et aucun ne pouvait s'exécuter sans la bibliothèque libc
d'Unix avant que la glibc ne fonctionne. Chaque composant ne pouvait
s'exécuter que sur des systèmes non libres, puisque tous les systèmes
étaient non libres.</p>

<p>Une fois que nous avions publié un composant pouvant fonctionner sur
certains systèmes non libres, les utilisateurs le portaient sur d'autres
systèmes non libres ; ces portages n'étaient pas pires, sur le plan éthique,
que le code spécifique à certaines plateformes dont nous avions besoin pour
développer ces composants ; aussi avons-nous incorporé leurs modifications.</p>

<p>La libération du noyau Linux, en 1992, a apporté la dernière pierre à
l'édifice du système GNU (initialement, en 1991, Linux avait été distribué
sous une licence non libre). La combinaison de GNU avec Linux a résulté en
un système d'exploitation complètement libre, <a
href="/gnu/linux-and-gnu.html">GNU/Linux</a>.</p>

<p>À partir de là, nous aurions pu supprimer le support des plateformes non
libres, mais nous avons décidé de ne pas le faire. Un système non libre est
une injustice, mais ce n'est pas notre faute si un utilisateur en fait
tourner un. Adapter un programme libre à ce système n'augmente pas
l'injustice. Et c'est utile, non seulement pour les utilisateurs de ces
systèmes, mais aussi pour amener davantage de gens à contribuer au
développement du programme libre.</p>

<p>Cependant, un programme non libre qui s'exécute au-dessus d'un programme
libre pose un problème totalement différent, parce qu'il conduit les
utilisateurs à renoncer à une part de leur liberté. Dans certains cas, nous
interdisons cette pratique : par exemple, <a
href="https://gcc.gnu.org/ml/gcc/2014-01/msg00247.html">GCC interdit les
greffons <cite>[plugins]</cite>non libres</a>. Lorsqu'un programme les
autorise, il doit au minimum ne pas conduire les gens à les utiliser. Par
exemple, nous avons choisi LibreOffice plutôt qu'OpenOffice, car ce dernier
suggère l'utilisation de greffons non libres alors que LibreOffice les
ignore. Nous avons initialement développé <a
href="http://directory.fsf.org/wiki/IceCat">IceCat</a> pour éviter de
proposer les greffons non libres suggérés par Firefox.</p>

<p>En pratique, si la documentation du paquet IceCat explique comment exécuter
IceCat sur MacOS, cela ne conduira pas les gens à utiliser MacOS. Mais si
elle parle d'un greffon non libre, cela incitera les utilisateurs d'IceCat à
installer ce greffon. Par conséquent, le paquet IceCat, y compris ses
manuels et son site web, doit s'abstenir d'en parler.</p>

<p>Parfois un programme libre et un programme non libre interagissent, mais
aucun d'eux n'est basé sur l'autre. Dans de tels cas, nous avons pour règle,
si le programme non libre est très connu, de dire aux gens comment utiliser
notre programme libre avec lui, mais si le programme privateur est inconnu,
de ne pas indiquer qu'il existe. Parfois, nous faisons en sorte qu'il
interopère avec le programme non libre si ce dernier est installé, mais nous
évitons de dire aux utilisateurs que cette possibilité existe.</p>

<p>Nous refusons les « améliorations » qui ne fonctionneraient que sur un
système non libre. Cela inciterait les gens à utiliser un système non libre
à la place de GNU et ce serait marquer contre notre camp.</p>

<h3>Distros GNU/Linux</h3>

<p>Après la libération de Linux en 1992, les gens commencèrent à développer des
distributions GNU/Linux (aussi appelées « distros »). Seules quelques
distros sont <a href="/distros">entièrement constituées de logiciel
libre</a>.</p>

<p>Les règles valables pour un paquet logiciel s'appliquent également aux
distros : une distro éthique doit contenir uniquement des logiciels libres
et ne conduire les utilisateurs que vers des logiciels libres. Mais que cela
signifie-t-il pour une distro de « contenir » un paquet logiciel
particulier ?</p>

<p>Certaines distros installent des programmes à partir de paquets binaires qui
en font partie intégrante ; d'autres construisent chaque programme à partir
des sources de l'amont et ne <em>contiennent</em>, au sens littéral, que les
recettes pour les télécharger et le construire. Lorsqu'il s'agit de liberté,
la façon dont une distro installe un paquet donné n'est pas significative ;
si elle propose ce paquet en option ou que son site web le fait, nous disons
qu'elle « contient » ce paquet.</p>

<p>Les utilisateurs d'un système libre le contrôlent, ils peuvent donc
installer ce qu'ils souhaitent. Les distros libres fournissent aux
utilisateurs des méthodes générales pour installer leurs propres programmes
et leurs versions modifiées de programmes libres ; ils peuvent donc
également installer des programmes non libres. Fournir ces méthodes
générales n'est pas un défaut du point de vue éthique, parce que les
développeurs de la distro ne sont pas responsables de ce que les
utilisateurs se procurent et installent de leur propre initiative.</p>

<p>Les développeurs deviennent responsables de l'installation de logiciel non
libre lorsqu'ils conduisent les utilisateurs vers un programme non libre –
par exemple en l'incluant dans la liste des paquets de la distro ou en le
distribuant sur leurs propres serveurs, ou encore en le présentant comme une
solution à un problème. C'est le point sur lequel la plupart des distros
GNU/Linux présentent une faille éthique.</p>

<p>Les gens qui installent des paquets logiciels de leur propre initiative ont
un certain niveau de sophistication. Si nous leur disons « Baby contient du
code non libre, mais Gbaby est libre », nous pouvons attendre d'eux qu'ils
prennent soin de s'en souvenir. Mais les distros sont conseillées à des
utilisateurs ordinaires qui oublieront probablement un détail de ce
genre. Ils se diront par exemple « Comment s'appelle celui qu'ils m'ont
conseillé d'utiliser ? Je crois que c'était Baby. »</p>

<p>Par conséquent, pour recommander une distro au grand public nous exigeons
que son nom ne soit pas semblable à celui d'une distro que nous rejetons,
afin que notre message recommandant uniquement les distros libres puisse
être transmis de manière fiable.</p>

<p>Il y a une autre différence entre une distro et un paquet logiciel : la
probabilité qu'on lui ajoute du code non libre. Les développeurs d'un
programme vérifient soigneusement le code qu'ils ajoutent. S'ils ont décidé
de rendre le programme libre, il est peu probable qu'ils y ajouteront du
code non libre. Il existe des exceptions, entre autres le cas très
malencontreux des <cite>blobs</cite> de microcode binaire qui ont été
ajoutés à Linux, mais cela ne concerne qu'une proportion minime des
programmes libres existants.</p>

<p>En revanche, une distro GNU/Linux contient typiquement des milliers de
paquets et ses développeurs peuvent lui en ajouter des centaines par
an. Faute d'une attention constante pour éviter ceux qui contiennent du
logiciel non libre, certains s'y glisseraient sûrement. Puisque les distros
libres sont peu nombreuses, nous demandons aux développeurs de chacune
d'elles de s'engager à la conserver libre en supprimant tout code non libre
ou tout logiciel malveillant, condition nécessaire pour que nous mettions
cette distro sur notre liste. Voir les <a
href="/distros/free-system-distribution-guidelines.html">Conditions pour
qu'une distribution système soit reconnue comme libre par GNU</a>.</p>

<p>Nous ne demandons pas de telles promesses pour les logiciels libres, car ce
n'est pas faisable et heureusement pas nécessaire. Obtenir des développeurs
de 30 000 programmes libres la promesse de les conserver ainsi pourrait
éviter quelques problèmes, mais au prix d'un gros travail de la part du
personnel de la FSF ; de plus, la plupart de ces développeurs n'ont aucune
relation avec le projet GNU et peut-être aucune envie de nous faire des
promesses. C'est pourquoi nous nous occupons des rares cas de programmes
qui, de libres, sont devenus non libres, après les avoir découverts.</p>

<h3>Périphériques</h3>

<p>Un périphérique nécessite la présence de logiciels particuliers dans
l'ordinateur sur lequel il est branché – peut-être un pilote, peut-être un
micrologiciel <cite>[firmware]</cite> que le système doit charger dans le
périphérique pour le faire fonctionner. Il est donc acceptable d'utiliser et
de recommander un périphérique s'il peut être utilisé sur un ordinateur dans
lequel aucun logiciel non libre n'est installé ; autrement dit, si le pilote
du périphérique est libre, ainsi que tout micrologiciel nécessitant d'être
chargé par le système.</p>

<p>C'est facile à vérifier : connectez le périphérique à un ordinateur
utilisant une distribution GNU/Linux complètement libre et regardez s'il
fonctionne. Mais la plupart des utilisateurs aimeraient le savoir
<em>avant</em> d'acheter le périphérique ; c'est pourquoi nous rassemblons
les informations concernant de nombreux périphériques sur le site <a
href="https://www.h-node.org/">h-node.org</a>, une base de données de
matériel adapté aux systèmes d'exploitation entièrement libres.</p>

<h3>Ordinateurs</h3>

<p>Un ordinateur contient des logiciels à plusieurs niveaux. Sur quel critère
pouvons-nous certifier qu'un ordinateur « respecte votre liberté » ?</p>

<p>Le système d'exploitation et tout logiciel de niveau supérieur doit
évidemment être libre. Dans les années 90, le programme de démarrage (à
l'époque, le BIOS) est devenu remplaçable, et comme il s'exécute dans
l'unité centrale il pose le même problème que le système d'exploitation. Par
conséquent, les programmes de type micrologiciel ou pilote, qui s'installent
dans le système ou avec lui, ou encore avec le programme de démarrage,
doivent être libres.</p>

<p>Si un ordinateur dispose de composants matériels qui nécessitent
l'installation de pilotes ou de micrologiciels non libres avec le système,
peut-être que nous sommes tout de même en mesure de le certifier. Si
l'ordinateur reste utilisable sans ces composants, et si par ailleurs nous
pensons que la majorité des gens ne seront pas conduits à installer des
programmes non libres afin de les faire fonctionner, alors nous pouvons
donner la certification. Autrement, nous ne le pouvons pas. La décision se
prendra au cas par cas.</p>

<p>Un ordinateur peut avoir des micrologiciels et du microcode de bas niveau
préinstallés et modifiables. Il peut également avoir du code dans une
mémoire morte figée. Pour le moment, nous avons décidé d'ignorer ces
programmes dans nos critères de certification, parce qu'autrement aucun
ordinateur ne pourrait être conforme, et parce qu'un micrologiciel non
modifiable en conditions normales est, sur le plan éthique, l'équivalent
d'un circuit intégré. Aussi nos critères de certification couvrent-ils
seulement le code qui est exécuté dans le processeur principal d'un
ordinateur et ne réside pas dans une mémoire morte figée. À mesure que
l'usage de logiciel libre deviendra possible à d'autres niveaux du
processeur, nous exigerons du logiciel libre à ces niveaux-là également.</p>

<p>Puisque la certification d'un produit est une promotion active de ce
produit, nous insistons pour qu'en retour le vendeur nous soutienne, en
parlant de <a
href="/philosophy/free-software-even-more-important.html">logiciel libre</a>
plutôt que d'<a href="/philosophy/open-source-misses-the-point.html">open
source</a> et en appelant la combinaison de GNU avec Linux « <a
href="/gnu/linux-and-gnu.html">GNU/Linux</a> ». Nous n'avons aucune
obligation de promouvoir activement des projets qui ne reconnaissent pas
notre travail et ne soutiennent pas notre mouvement.</p>

<p>Voir <a href="https://www.fsf.org/resources/hw/endorsement/criteria">nos
critères de certification</a>.</p>

<h3>Pages web</h3>

<p>De nos jours, de nombreuses pages web contiennent des programmes complexes
en JavaScript et ne fonctionnent pas sans eux. Il s'agit d'une pratique
nuisible puisqu'elle empêche les utilisateurs de contrôler leur
informatique. De plus, la plupart de ces programmes ne sont pas libres – une
injustice. Souvent, le code JavaScript espionne l'utilisateur. <a
href="/philosophy/javascript-trap.html">Le JavaScript s'est métamorphosé en
une attaque contre la liberté des utilisateurs</a>.</p>

<p>En réponse à ce problème, nous avons développé <a
href="/software/librejs">LibreJS</a>, une extension pour Firefox qui bloque
le code JavaScript non libre et non trivial (il n'y a aucune nécessité de
bloquer le simple script qui implémente des modifications mineures de
l'interface utilisateur). Nous demandons aux sites de bien vouloir libérer
leurs programmes en JavaScript et indiquer leurs licences d'une manière
reconnaissable par LibreJS.</p>

<p>En attendant, est-ce éthiquement correct de créer un lien vers une page web
contenant un programme en JavaScript non libre ? Si nous étions complètement
intransigeants, nous ne mettrions en lien que des pages contenant uniquement
du code JavaScript libre. Cependant, de nombreuses pages fonctionnent même
si le code JavaScript qu'elles contiennent ne s'exécute pas. De plus, ce
n'est pas en suivant nos liens que vous rencontrerez le plus souvent du code
JavaScript non libre ; pour éviter cela, vous devez utiliser LibreJS ou
désactiver JavaScript. Nous avons donc décidé de mettre en lien des pages
pouvant fonctionner sans le JavaScript non libre qu'elles contiennent, tout
en insistant auprès des utilisateurs pour qu'ils se protègent du JavaScript
non libre d'une manière générale.</p>

<p>Cependant, si une page ne peut pas faire son travail sans exécuter de code
JavaScript non libre, créer un lien vers elle demande indéniablement aux
gens d'exécuter ce code non libre. Par principe, nous ne mettons pas ces
pages en lien.</p>

<h3>Conclusion</h3>

<p>Appliquer l'idée de base que <em>le logiciel doit être libre</em> à diverses
situations conduit à différentes règles pratiques. À mesure que de nouvelles
situations émergeront, le projet GNU et la Free Software Foundation
adapteront leurs critères de liberté de manière à conduire les utilisateurs
de l'informatique vers elle, en pratique aussi bien qu'en principe. En ne
conseillant que des programmes, des distributions et des matériels
respectueux des libertés, vous pouvez apporter au mouvement du logiciel
libre un soutien dont il a bien besoin.</p>

<div class="translators-notes">

<!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.-->
 </div>
</div>

<!-- for id="content", starts in the include above -->
<!--#include virtual="/server/footer.fr.html" -->
<div id="footer">
<div class="unprintable">

<p>Veuillez envoyer les requêtes concernant la FSF et GNU à <a
href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>. Il existe aussi <a
href="/contact/">d'autres moyens de contacter</a> la FSF. Les liens
orphelins et autres corrections ou suggestions peuvent être signalés à <a
href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>.</p>

<p>
<!-- TRANSLATORS: Ignore the original text in this paragraph,
        replace it with the translation of these two:

        We work hard and do our best to provide accurate, good quality
        translations.  However, we are not exempt from imperfection.
        Please send your comments and general suggestions in this regard
        to <a href="mailto:web-translators@gnu.org">

        &lt;web-translators@gnu.org&gt;</a>.</p>

        <p>For information on coordinating and submitting translations of
        our web pages, see <a
        href="/server/standards/README.translations.html">Translations
        README</a>. -->
Nous faisons le maximum pour proposer des traductions fidèles et de bonne
qualité, mais nous ne sommes pas parfaits. Merci d'adresser vos commentaires
sur cette page, ainsi que vos suggestions d'ordre général sur les
traductions, à <a href="mailto:web-translators@gnu.org">
&lt;web-translators@gnu.org&gt;</a>.</p>
<p>Pour tout renseignement sur la coordination et la soumission des
traductions de nos pages web, reportez-vous au <a
href="/server/standards/README.translations.html">guide de traduction</a>.</p>
</div>

<!-- Regarding copyright, in general, standalone pages (as opposed to
     files generated as part of manuals) on the GNU web server should
     be under CC BY-ND 4.0.  Please do NOT change or remove this
     without talking with the webmasters or licensing team first.
     Please make sure the copyright date is consistent with the
     document.  For web pages, it is ok to list just the latest year the
     document was modified, or published.
     
     If you wish to list earlier years, that is ok too.
     Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
     years, as long as each year in the range is in fact a copyrightable
     year, i.e., a year in which the document was published (including
     being publicly visible on the web or in a revision control system).
     
     There is more detail about copyright years in the GNU Maintainers
     Information document, www.gnu.org/prep/maintain. -->
<p>Copyright &copy; 2015, 2016 Richard Stallman</p>

<p>Cette page peut être utilisée suivant les conditions de la licence <a
rel="license"
href="http://creativecommons.org/licenses/by-nd/4.0/deed.fr">Creative
Commons attribution, pas de modification, 4.0 internationale (CC BY-ND
4.0)</a>.</p>

<!--#include virtual="/server/bottom-notes.fr.html" -->
<div class="translators-credits">

<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
Traduction : April (Thierry, Jean-Yves, Patrick, r0u, Thérèse et plusieurs
inconnus)<br /> Révision : <a
href="mailto:trad-gnu&#64;april.org">trad-gnu&#64;april.org</a></div>

<p class="unprintable"><!-- timestamp start -->
Dernière mise à jour :

$Date: 2018/11/03 21:59:47 $

<!-- timestamp end -->
</p>
</div>
</div>
</body>
</html>