Canalblog
Suivre ce blog Administration + Créer mon blog

Premiers pas virtuels vers le LPIC

24 octobre 2011

Eric S. Raymond : comment poser les questions de manière intelligente

Traduction en Français du document de Eric S. Raymond.

(Les améliorations à ce guide sont les bienvenues. Vous pouvez écrire vos suggestions à esr@thyrsus.com.)

(N.d.T.: Notez bien que les éventuelles erreurs de ce document sont peut être dûes au traducteur, et non à l'auteur. Si vous avez une amélioration à transmettre, essayez de vérifier qu'elle est toujours pertinante sur le document original - autrement, contactez plutôt le traducteur. En particulier, les corrections orthographiques et grammaticales sont les bienvenues. Vous pouvez contacter le traducteur à alexandrecourbot@linuxgames.com. Merci à tous ceux qui m'ont apporté des corrections, et en particulier à Guillaume Estival pour sa seconde traduction.)

1. Introduction

Dans le monde des hackers, le type de réponses que vous recevrez à vos questions d'ordre technique depend autant de la manière dont vous formulez la question que de la difficulté à développer la réponse. Ce guide va vous apprendre à poser des questions de telle sorte que vous ayez le plus de chances possible d'obtenir une réponse.

La première chose à comprendre est que les hackers aiment les problèmes compliqués et les bonnes questions qui font travailler les méninges. Si ce n'était pas le cas, nous ne serions pas ici. Si vous nous donnez une question intéressante en pâture nous vous en serons reconnaissant; les bonnes questions sont un stimulant et une aubaine. Les bonnes questions nous aident à développer notre propre compréhension, et révèlent souvent des problèmes que nous n'avions pas remarqués et auxquels nous n'aurions pas pensé autrement. Entre hackers, "Bonne question!" et un compliment fort et sincère.

Malgré cela, les hackers ont la réputation de traiter les questions simples avec hostilité ou arrogance. Parfois, il semble que nous sommes hostiles aux débutants ou aux ignorants. Mais ce n'est pas tout à fait vrai.

Nous sommes en fait hostiles aux gens qui ont l'air de ne pas avoir réfléchi au problème et n'ont pas fait leur propre travail de recherche avant de poser des questions. De telles personnes sont des gaspilleurs de temps -- ils prennent sans donner en retour, ils gaspillent le temps que nous aurions pu passer sur une autre question plus intéressante pour une autre personne qui mérite, elle, une réponse. Nous appelons ces gens là des "losers" (N.d.T.: perdants) (et pour des raisons historiques nous l'écrivons parfois "lusers").

Nous savons bien que beaucoup de personnes veulent juste utiliser les logiciels que nous écrivons, et n'ont aucune envie de s'investir dans les détails techniques. Pour la plupart des gens, un ordinateur n'est rien de plus qu'un outil, un moyen et non pas un but; ils ont d'autres choses beaucoup plus interessantes à faire. Nous sommes tout à fait d'accord avec cela, et nous ne nous attendons pas à ce que tout le monde s'intéresse aux détails techniques dont nous sommes passionnés. Toutefois, notre style pour répondre est adapté aux gens qui sont intéressés et veulent participer activement à la résolution des problèmes. Cela ne risque pas de changer. Et de toute façon il n'y a aucune raison pour que cela arrive; si cela changeait, nous deviendrions moins efficaces pour les choses que nous savons faire le mieux.

Il faut comprendre que nous sommes (pour la plupart) des volontaires. Nous prenons du temps sur nos vies déjà bien remplies pour répondre à des questions dont nous sommes parfois submergés. Par conséquent, nous n'avons aucun remors à les filtrer. En particulier, nous rejetons les questions de personnes qui ont l'air de losers pour passer notre "temps de réponse aux questions" de manière plus efficace, pour les "winners" (N.d.T.: gagnants).

Si vous trouvez cette attitude odieuse, condescendante ou arrogante, repensez-y. Nous ne vous demandons pas de vous mettre à genoux devant nous -- en fait, la plupart d'entre nous de demande pas mieux que de traiter d'égal à égal avec vous et de vous accueillir dans notre culture, si vous faites l'effort necessaire pour que ce soit possible. Mais il n'est tout simplement pas efficace pour nous d'apporter notre aide à des gens qui ne veulent pas s'aider eux-mêmes. Si vous ne pouvez pas vivre avec cette sorte de discrimination, nous vous recommandons de payer quelqu'un pour un contrat de support commercial au lieu de demander aux hackers de se donner pour vous.

Si vous décidez de nous demander de l'aide, vous ne voudrez sans doute pas faire partie des losers. Vous ne voulez sans doute pas non plus avoir l'air d'en être. La meilleure manière d'obtenir une réponse rapide et enthousiaste est de poser votre question comme un winner -- de la poser comme une personne intelligente, confiante, ayant des indices sur son problème et qui a juste besoin d'un coup de pouce sur un point particulier.

2. Avant de demander

Avant de poser une question par email, ou dans les newsgroups, ou dans un forum de discussion sur un site web, faites les choses suivantes:

  • Essayez de trouver une réponse en lisant le manuel.
  • Essayez de trouver une réponse en lisant la FAQ.
  • Essayez de trouver une réponse en cherchant sur le Web.
  • Essayez de trouver une réponse en demandant à un de vos amis qui s'y connaît.

Quand vous posez votre question, mettez en avant le fait que vous avez déjà fait ces choses; cela aidera à établir que vous n'êtes pas un pique-assiette qui fait perdre du temps aux autres. Mieux, mettez en avant ce que vous avez appris en faisant ces choses. Nous aimons répondre aux questions de ceux qui ont prouvé qu'ils peuvent apprendre à partir de réponses.

Préparez votre question. Pensez-y bien. Les questions précipitées reçoivent des réponses précipitées, voire rien du tout. Plus vous montrez que vous avez fait des efforts pour résoudre votre problème avant de demander de l'aide, plus vous avez de chances d'être aidé.

Faites attention à ne pas poser la mauvaise question. Si vous en posez une basée sur des assomptions erronées, le hacker moyen va sûrement vous envoyer une réponse qui vous prendra au mot tout en pensant "Quelle question stupide...", et espérer qu'avoir reçu ce que vous avez demandé au lieu de ce dont vous aviez besoin vous donnera une leçon.

Ne pensez pas que vous êtes redevable d'une réponse. Ce n'est pas le cas; après tout, vous ne payez rien pour le service rendu. Vous recevrez une réponse, si vous en recevez une, en posant une question qui est riche, intéressante, et qui fait travailler les méninges -- une question qui contribue implicitement à l'expérience de la communauté au lieu d'exiger passivement l'aide des autres.

Rendre clair le fait que vous êtes capable et avez la volonté d'aider au développement de la solution est un très bon début. "Quelqu'un peut-il me donner un tuyau?", "Quel est le problème avec mon exemple?" et "Y a-t-il un site que j'aurais dû aller voir?" ont beaucoup plus de chances d'avoir une réponse que "Dites moi exactement ce que je dois faire, merci." parce que vous mettez en évidence le fait que vous voulez bien finir le travail si quelqu'un vous indique simplement la bonne direction.

3. Quand vous posez votre question

3.1 Choisissez bien votre forum

Choisissez l'endroit où vous poserez votre question avec soin. Vous avez toutes les chances d'être ignoré, ou de passer pour un loser, si vous:

  • postez votre question dans un forum où elle est hors-sujet,
  • postez une question élémentaire dans un forum où des questions avancées et techniques sont attendues, et vice-versa,
  • ross-postez dans trop de newsgroups à la fois.

Les hackers rejetent les questions qui ne sont pas bien ciblées de manière à protéger leurs canaux de communication d'un envahissement de messages hors-sujet. Vous ne voudriez pas non plus que cela vous arrive.

En général, une question posée sur un bon forum public a plus de chances d'obtenir des réponses utiles que la même question sur un forum privé. Il y a plusieurs raisons à cela. L'une d'entre elles est simplement le nombre de gens susceptibles de vous aider. Une autre est le nombre de personnes composant l'audience; les hackers vont plutôt répondre à des questions qui peuvent en apprendre à beaucoup de gens plutôt qu'à des questions utiles pour peu de personnes.

3.2 Chaque fois que c'est possible, utilisez les mailing-listes du projet concerné

Quand un projet possède une mailing-liste de développement, écrivez sur la mailing-liste, et non pas à un développeur en particulier, même si vous pensez savoir qui répondra le mieux à votre question. Recherchez l'adresse d'une mailing-liste dans la documentation du projet et sur son site web, et utilisez la. Il y a plusieurs raisons de procéder ainsi:

  • Une question qui est assez bonne pour être demandée directement à un développeur aura également de la valeur pour le groupe entier. De la même manière, si vous pensez qu'une question est trop bête pour une mailing-liste, ce n'est pas une excuse pour importuner un développeur.
  • Poser des questions sur une liste répartit la charge entre tous les développeurs. Un développeur particulier (surtout s'il est le leader du projet) sera sans doute trop occupé pour vous répondre.
  • La plupart des mailing listes sont archivées et les archives référencées par les moteurs de recherche. Quelqu'un pourra par la suite trouver votre question et sa réponse sur le web au lieu de la reposer à nouveau sur la liste.
  • Si certaines questions reviennent souvent, les développeurs peuvent se servir de cette information pour améliorer la documentation ou le logiciel lui même afin de les rendre moins confus. Mais si ces questions sont posées en privé, personne ne peut vraiment savoir quelles questions reviennent le plus souvent.

Si vous ne pouvez pas trouver de mailing-liste pour le projet, mais ne voyez que l'adresse du mainteneur, adressez vous alors à lui. Mais même dans ce cas, n'assumez pas que la mailing-liste n'existe pas. Mettez en évidence dans votre mail que vous avez cherché une mailing-liste mais ne l'avez pas trouvée. Précisez aussi que vous n'avez aucune objection à ce que votre message soit envoyé à d'autres personnes. (Beaucoup de gens pensent que les emails privés doivent rester privés, même s'il n'y a rien de secret dedans. En lui permettant de rediriger votre mail, vous donnez à votre correspondant le choix sur la manière de traiter votre message.)

3.3 Ecrivez dans un langage clair, faites attention aux fautes de grammaire et d'orthographe

Nous savons par expérience que les gens qui ne font pas attention à la forme de leur écrit ne font en général pas non plus attention à ce qu'ils disent et pensent (du moins, nous l'avons vu assez souvent pour le croire). Répondre aux questions de ceux qui ne font pas attention à ce qu'ils disent n'est pas vraiment valorisant; nous préferons passer notre temps à faire autre chose.

C'est pourquoi exprimer clairement votre question est important. Si vous ne prenez pas la peine de faire cela, nous ne prendrons pas la peine d'y faire attention. Faites un effort pour travailler votre langage. Cela ne veut pas dire qu'il doit être rigide ou formel -- en fait, la culture hacker donne de l'importance au langage informel, familier et humoristique utilisé avec précision. Mais il doit être précis; il doit y avoir une indication que vous pensez également au problème et y prétez attention.

Orthographiez correctement. Ne confondez pas "ce" avec "se" ou "c'est" avec "s'est". Ne TAPEZ PAS TOUT EN MAJUSCULES, c'est lu comme si vous criiez et considéré comme impoli. Si vous écrivez comme un porc, vous serez probablement ignoré. Ecrire comme un l33t hax0r équivaut à tendre le bâton pour se faire battre et est la garantie que vous ne recevrez rien sauf le silence en retour (ou alors, au mieux, on se moquera de vous).

Si vous posez des questions dans un forum qui ne parle pas votre langue natale, faire des erreurs de grammaire ou d'orthographe est excusable, mais ne pas être attentif au problème, non (et, oui, nous pouvons faire la différence). Alors, à moins d'être sûr de la langue natale de vos correspondants, écrivez en Anglais. Les hackers ne répondent pas aux questions posées dans un langage qu'ils ne comprennent pas, et l'Anglais est la langue la plus courante sur le net. En écrivant en Anglais vous maximisez les chances qu'a votre question d'être lue.

3.4 Envoyez vos questions dans des formats qui sont facilement lisibles

Si vous rendez vos questions artificiellement dures à lire, elles vont sans doute être ignorées au profit d'autres qui ne le sont pas. Donc:

  • Envoyez vos mails en texte simple, et non pas en HTML.
  • N'envoyez pas de mail dans lequel les paragraphes sont écrits sur une seule ligne dans toute leur longueur (cela rend difficile de répondre à une partie seulement du message).
  • N'utilisez pas de caractères encodés MIME non plus; votre mail se retrouvera avec plein de caractères de type =20 et sera horrible à lire.
  • Ne vous attendez jamais à ce qu'un hacker puisse lire des formats de documents fermés et propriétaires comme Microsoft Word. La plupart des hackers réagissent à cela comme vous réagiriez si on déposait du fumier à votre porte.
  • Si vous envoyez vos mails à partir d'une machine Windows, désactivez la stupide option "Smart Quotes". Cela pour éviter des caractères indésirables dans votre mail.


3.5 Utilisez des sujets explicites et adaptés

Sur les mailing lists ou les newsgroups, le sujet du mail est une occasion en or pour attirer l'attention d'experts qualifiés en 50 caractères ou moins. Ne le gaspillez pas en babillages comme "Aidez moi SVP" (et ne pensez même pas à "AIDEZ MOI SVP!!!!!!"). N'essayez pas de nous faire apitoyer sur votre sort, utilisez plutôt l'espace disponible pour décrire le problème de manière très concise:

  • Stupide:     AIDEZ MOI! La vidéo ne marche pas sur mon portable!
  • Intelligent:    Curseur de souris difforme sur XFree86 4.1, chipset vidéo Fooware MV 1005


3.6 Soyez précis et explicite sur votre problème

  • Décrivez les symptomes du problème ou bug consciencieusement et clairement.
  • Décrivez l'environnement sur lequel le problème apparaît (machine, OS, application, etc.).
  • Décrivez les recherches que vous avez effectuées pour essayer de résoudre le problème vous même avant de poser votre question.
  • Décrivez tout changement récent dans votre ordinateur ou configuration logicielle qui pourrait être intéressant.
  • Essayez d'anticiper les questions qu'un hacker pourrait vous demander, et d'y répondre en avance dans votre demande d'aide. Simon Tatham a écrit un excellent article intitulé How to Report Bugs Effectively. Je vous recommande grandement de le lire.

3.7 Le volume n'est pas la précision

Vous devez être précis et informatif. Coller un gros tas de code ou de données dans votre demande d'aide ne va pas vous y aider. Si vous avez un cas précis de grande taille qui fait planter un programme, essayez de l'élaguer et de le réduire au maximum.

Ceci est utile pour au moins trois raisons. Un: voir que vous faites un effort pour simplifier la question augmentera vos chances d'obtenir une réponse. Deux: simplifier la question augmentera vos chances d'obtenir une réponse utile. Trois: en simplifiant le problème, vous pourriez très bien finir par le résoudre vous même.

3.8 Décrivez les symptomes du problème, pas ce que vous devinez

Il n'est pas vraiment utile d'expliquer aux hackers ce qui pourrait causer le problème selon vous. (si votre diagnostic était si bon, pourquoi demanderiez-vous de l'aide aux autres?) Par conséquent, soyez sûr que vous leur indiquez les symptômes bruts de ce qui ne va pas, et non pas vos interprétations et théories. Laissez-les faire le travail d'interprétation et de diagnostic.

  • Stupide: J'ai des erreurs SIG11 répétées lors de la compilation du noyau, et je pense que ça vient d'une microcoupure sur ma carte mère. Comment puis-je vérifier cela?
  • Intelligent:Mon K6/233 que j'ai monté moi même sur ma carte mère FIC-PA2007 (chipset VIA Apollo VP2) avec 256Mo de SDRAM PC 133 Corsair me donne des erreurs SIG11 environ 20 minutes après le démarrage pendant que je compile le noyau, mais jamais pendant les 20 premières minutes. Si je reboote, l'horloge ne revient pas à zéro, mais si je l'éteins toute la nuit, si. Changer la RAM ne résoud pas le problème. Ci-après, la partie intéressante du log de compilation.

3.9 Décrivez les symptômes de votre problème dans l'ordre chronologique

Les indices les plus utiles pour trouver ce qui ne va pas se situent souvent dans ce qui s'est produit juste avant. Donc, votre explication devrait décrire précisément ce que vous avez fait, et ce que la machine a fait, pour arriver à la panne. Dans le cas de programmes en ligne de commande, avoir un log de session (c.-à-d. utiliser l'utilitaire script) et citer la vingtaine de lignes intéressantes est très utile.

Si le programme qui a planté possède des options de diagnostic (comme -v pour verbose (N.d.T.: bavard)), essayez de sélectionner les options qui vont ajouter des informations de déboguage utiles à la transcription.

Si votre explication devient trop longue (plus de quatre paragraphes), il serait utile de résumer le problème au-dessus, puis continuer avec le récit chronologique. De cette manière, les hackers sauront ce qu'il faut regarder en lisant votre explication.

3.10 Soyez explicite à propos de votre question

Les questions trop générales sont percues comme une perte de temps. Les personnes les plus à même de vous répondre correctement sont également les plus occupées (entre autres parce qu'elles prennent la plus grosse part du travail). Ces personnes sont allergiques aux pertes de temps, et donc aux questions trop générales.

Vous aurez plus de chances d'obtenir une réponse si vous êtes explicite dans ce que vous voulez que vos correspondants fassent (donner un tuyau, envoyer du code, vérifier un patch, etc...). Cela va leur permettre de concentrer leurs efforts et de mieux vous aider.

Pour comprendre dans quel monde les experts vivent, pensez que l'expertise est une ressource abondante mais que le temps pour répondre manque cruellement. Moins vous demandez de temps, plus vous avez de chance d'obtenir une réponse de quelqu'un de vraiment bon et vraiment occupé.

Il est donc utile de couper votre question pour minimiser le temps requis pour y répondre -- mais ce n'est pas la même chose que simplifier la question. Par exemple, "Pouvez-vous me donner une adresse vers une bonne explication de X?" est une bien meilleure question que "Pouvez-vous m'expliquer X?". Si vous avez du code qui ne marche pas, il est en général plus avisé de demander ce qui ne va pas avec plutôt que de demander de le réparer.

3.11 Ne demandez pas de réponses à vos devoirs

Les hackers sont bons pour répondre aux problèmes liés aux devoirs, étant donnés que la plupart les ont faits eux-mêmes. C'est à vous de répondre à ces questions, pour que vous appreniez par expérience. Il est OK de demander des indices, mais pas la solution complète.

3.12 Ne demandez pas de réponses privées

Les hackers pensent que les problèmes doivent être résolus en public, de manière transparente, de telle sorte qu'un premier élément de réponse puisse et doive être corrigé si quelqu'un connaissant mieux le problème s'aperçoit qu'il est incomplet ou incorrect. Aussi, leur récompense pour avoir réagit au problème est en partie qu'ils sont reconnus comme compétents et connaisseurs par leurs pairs.

Quand vous demandez une réponse privée, vous cassez ce processus et cette récompense. Ne le faites donc pas. C'est à la personne qui répond de décider s'il faut vous répondre en privé et s'il le fait, c'est en général parce qu'il pense que la question est trop évidente ou mal formée pour être intéressante pour les autres.

Il y a une petite exception à cette règle. Si vous pensez que la question risque d'entraîner beaucoup de réponses qui seront pour la plupart similaires, la formule magique est alors de dire "envoyez moi vos réponses et je ferai un résumé pour le groupe". Il est courtois d'essayer d'éviter à la liste de diffusion ou au newsgroup d'être inondés par un ensemble de messages similaires -- mais vous devez tenir votre promesse de faire un résumé.

3.13 Evitez les demandes inutiles

Résistez à la tentation de terminer votre demande d'aide par une question sans intérêt pour la discussion comme "Quelqu'un peut-il m'aider?" ou "Y a-t-il une réponse à ce problème?". Premièrement: Si vous avez décrit votre problème de manière correcte, ce genre de phrase est inutile. Deuxièmement: parce qu'elles sont inutiles, les hackers vont les trouver ennuyeuses et risquent de vous envoyer une réponse qui répond à votre question sans vraiment vous aider comme "Oui, quelqu'un peut t'aider" et "Non, il n'y a pas de réponse pour toi".

3.14 La courtoisie ne fait pas de mal, au contraire

Soyez courtois. Utilisez "S'il vous plait" et "Merci d'avance". Mettez en évidence le fait que vous appréciez le temps que les autres ont passé à vous aider gratuitement.

Pour être honnête, ce n'est pas aussi important (et ne peut en constituer un remplacement) qu'écrire clairement, en évitant les fautes, en étant précis, qu'éviter les formats propriétaires, etc. les hackers en général vont plutôt recevoir des rapports de bogues bruts mais techniquement précis plutôt qu'un flou poli. (Si cela vous étonne, rappelez vous que nous donnons de la valeur aux questions qui nous apprennent quelque chose.)

Cependant, si la technique n'est pas votre fort, la politesse augmente vos chances d'obtenir une réponse utile. (Notez que la seule objection sérieuse que nous avons reçu à propos de ce how-to est la recommandation d'utiliser "Merci d'avance". Certains hackers prennent cela comme le fait que vous ne remercierez personne une fois le problème résolu. Notre recommandation est de faire les deux.)

3.15 Réagissez à la solution par une petite note

Envoyez une note une fois que le problème est résolu à tous ceux qui vous ont aidé; faites leur savoir comment le problème a été résolu et remerciez les encore pour leur aide. Si le problème a généré de l'intérêt dans la liste de diffusion ou le newsgroup, il est approprié d'envoyer cette note là.

Votre note n'a pas besoin d'être longue et excessivement reconnaissante; un simple "Ca y est - c'était en fait un cable réseau défectueux! Merci a tous. - Bill" sera mieux que rien du tout. En fait, un résumé rapide et sympa sera mieux qu'une longue dissertation à moins que la solution n'ait un véritable intérêt technique.

En plus d'être poli et informatif, ce genre de note permet à ceux qui ont participé de sentir que le problème a bien été résolu. Si vous n'êtes pas technicien ou hacker vous-même, croyez nous que ce sentiment est très important pour les gourous et experts à qui vous avez demandé de l'aide. Les histoires de problèmes qui finissent par ne jamais être résolus sont des choses frustrantes; les hackers n'en dorment pas tant qu'ils ne sont pas résolus. Si vous leur évitez cela, cela vous sera très utile la prochaine fois que vous aurez besoin de poser une question.

4. Comment interpréter les réponses

4.1 RTFM et STFW, ou comment expliquer que vous vous êtes planté

Il existe une tradition ancienne et sacrée: si vous recevez une réponse contenant "RTFM", la personne qui vous a envoyé cela pense que vous devriez "Read The Fucking Manual" (N.d.T.: Lire Le Putain de Manuel). Et elle a certainement raison. Allez y.

RTFM a un petit frère. Si vous recevez une réponse contenant "STFW", la personne qui vous a envoyé cela pense que vous auriez dû "Searched The Fucking Web" (N.d.T.: Chercher Sur le Putain de Web). Et elle a certainement raison. Allez y.

Souvent, la personne qui vous envoie cela a le manuel ou la page web avec les informations que vous recherchez devant les yeux, et y regarde pendant qu'elle vous répond. Ces réponses veulent dire que cette personne pense que (a) l'information que vous cherchez est excessivement facile à trouver, et (b) que vous allez en apprendre plus si vous cherchez l'information vous même au lieu de vous la faire apporter tout chaud tout cuit.

Il ne faut pas être offensé par cela; vis-à-vis des autres hackers, il vous montre une certaine forme de respect simplement par le fait qu'il ne vous ignore pas. Vous devriez au contraire le remercier pour sa trop grande gentillesse.

4.2 Si vous ne comprenez pas...

Si vous ne comprenez pas la réponse, n'expédiez pas immédiatement une demande de clarification. Utilisez les mêmes outils que ceux que vous avez utilisés pour chercher une réponse à votre problème initial (manuels, FAQ, le Web, les amis) pour comprendre la réponse. Si vous devez demander une clarification, montrez ce que vous avez appris.

Par exemple, supposez que je vous dise: "Je dirais que tu as un zentry qui est coincé; tu devrais le dégager."

  • Voici une mauvaise réaction: "Euh c'est quoi un zentry?"
  • Voici une bonne réaction: "Ok, j'ai regardé la page man et les zentrys ne sont mentionnés que pour les options -z et -p. Aucune de ces options ne parle de dégager les zentrys. Est-ce que c'est l'un de ceux là ou alors j'ai raté quelque chose?"

4.3 Comment réagir face à l'impolitesse

La plupart du temps, ce qui est perçu comme de l'impolitesse dans les propos d'un hacker n'est pas vraiment dit avec l'intention de vous offenser. Il s'agit plutôt du résultat d'un style de communication direct, "ne-perd-pas-ton-temps-en-conneries" qui est naturel pour les gens qui sont plus préoccupés à résoudre les problèmes qu'à être chaleureux avec les autres.

Quand vous sentez que quelqu'un est impoli avec vous, essayez de réagir avec calme. Si quelqu'un dépasse vraiment les bornes, un ancien de la liste, du newsgroup ou du forum va certainement le lui faire savoir. Si cela n'arrive pas et que vous perdez votre calme, alors il est probable que la personne qui vous a mis hors de vous agissait dans les "normes" de la communauté hacker et que la faute retombe sur vous. Cela risque de compromettre grandement vos chances d'obtenir l'information ou l'aide dont vous avez besoin.

D'un autre côté, vous allez de temps en temps être le témoin d'impolitesse gratuite. L'autre facette de ce qui est dit au-dessus est qu'il est tout à fait acceptable de réprimander violemment les vrais fauteurs de troubles, en les remettant à leur place d'une manière bien ficelée. En tout cas, soyez vraiment, vraiment sûr que c'est le cas avant de passer à l'acte. La limite entre corriger une incivilité et déclencher une flamewar inutile est assez fine pour que les hackers eux-mêmes ne s'y risquent pas trop; si vous êtes un débutant ou quelqu'un de l'extérieur, vos chances de passer à travers sont relativement faibles. Si vous cherchez l'information plus que l'amusement, il vaut mieux éviter de toucher au clavier et ne pas risquer cela.

(Certaines personnes affirment que beaucoup de hackers agissent comme des autistes et qu'il leur manque la partie du cerveau qui gère les relations humaines. Cela peut être vrai ou faux. Si vous n'êtes pas un hacker vous même, cela peut sans doute vous rassurer de penser que nous sommes des malades mentaux. Allez-y. On s'en fout. Nous aimons être ce que nous sommes, et en général nous réagissons avec un bon scepticisme aux étiquettes qu'on nous colle sur le dos.)

Dans la section suivante, nous allons parler d'un autre problème; le genre d'"impolitesse" que vous verrez lorsque vous vous comportez mal.

5. Comment ne pas réagir comme un loser

Il est probable que vous alliez vous planter un certain nombre de fois sur les forums de la communauté hacker -- de la même manière que ce qui est décrit dans cet article, ou d'une autre manière. Et on vous dira exactement comment vous vous êtres plantés, parfois même de manière brute. Et en public.

Quand cela arrive, la pire chose à faire est de vous lamenter de cette expérience, crier sur tous les toits que vous avez été insulté, réclamer des excuses, pleurer, menacer de retenir votre respiration, engager des poursuites judiciaires, vous plaindre aux employeurs, laisser le siège des toilettes relevé, etc. A la place, voici ce que vous pouvez faire:

Laissez cela passer au-dessus de vous. C'est normal. En fait, c'est salutaire et approprié.

Les règles dans les communautés ne se font pas respecter toutes seules: Elles sont maintenues par des gens qui les appliquent à la lettre, de manière visible, en public. Ne vous lamentez pas sur le fait que vous pensez que les critiques auraient dû être envoyées en privé: Ca ne fonctionne pas comme ça. Il n'est pas non plus utile d'insister sur le fait que vous avez été personnellement insulté quand quelqu'un dit que l'une de vos affirmation est fausse, ou que son point de vue est différent. Ce sont des attitudes de loser.

Il y a eu des forums de hackers dans lesquels, en raison d'une courtoisie poussée à l'extrême, les participants se faisaient bannir pour avoir simplement critiqué les messages d'autres personnes, et se faisaient dire "Ne dis rien si tu ne veux pas aider l'utilisateur". La fuite des participants-clés qui s'ensuivit a eu pour conséquence de faire descendre ces forums au niveau de babillages et de les rendre inutiles en tant que forums techniques.

Sympathique à l'extrême (dans ce sens) ou utile: Choisissez.

Rappelez vous: Quand un hacker vous dit que vous vous êtes planté, et (peu importe la manière) vous dit de ne pas recommencer, il agit pour (1) vous et (2) sa communauté. Il serait bien plus simple pour lui de vous ignorer et de vous filtrer de sa vie. Si vous ne pouvez pas en être reconnaissant, au moins ayez un peu de dignité, ne vous lamentez pas, et ne vous attendez pas à être traité comme du sucre parce que vous êtes un nouveau venu avec une âme dramatiquement sensible et des fantasmes de reconnaissance.

6. Les questions à ne pas poser

Voici quelques questions stupides usuelles, et ce à quoi les hackers pensent quand ils n'y répondent pas.

6.1 Q: Ou puis-je trouver le programme X?

R: Au même endroit que moi, sot -- et sans doute après une bonne recherche sur le Web. C'est pas vrai, il y a encore des gens qui ne savent pas se servir de Google?

6.2 Mon {programme, configuration, bloc SQL} ne marche pas

R: Ce n'est pas une question, et je n'ai pas vraiment envie de jouer à Questions/Réponses pour deviner quel est ton vrai problème -- j'ai des choses plus intéressantes à faire. Quand je vois quelque chose comme cela, ma réaction est en général l'une des suivantes:

  • Tu n'as rien d'autre à ajouter à cela?
  • Ah, quel dommage, j'espère que ça va s'arranger.
  • Et en quoi cela me concerne-t-il?

6.3 J'ai un problème avec ma machine sous Windows. Vous pouvez m'aider?

R: Bien sûr. Vire ce déchet de chez Microsoft, et installe Linux.

6.4 J'ai des problèmes pour installer Linux ou X. Vous pouvez m'aider?

R: Non, j'aurais besoin d'avoir un accès physique à ta machine pour cela. Va plutôt demander à ton LUG local pour une aide plus proche. (Vous pouvez trouver une liste de groupes d'utilisateurs (LUG) ici.

6.5 Comment est-ce que je peux obtenir les droits root/récupérer les ops sur un channel/lire l'email de quelqu'un?

R: T'es vraiment désespéré pour vouloir faire de telles choses et un vrai crétin pour demander à un hacker de t'aider.

7. Bonnes et mauvaises questions

Pour terminer, je vais illustrer comment poser des questions de manière intelligente avec des exemples; des paires de questions à propos du même problème, l'une posée de manière stupide, l'autre de manière intelligente.

  • Stupide: Ou puis-je trouver des infos sur le Foonly Flurbamatic? Cette question ne mérite pas plus qu'un STFW comme réponse.
  • Intelligent: J'ai utilisé Google pour chercher "Foonly Flurbamatic 2600" sur le Web, mais je n'ai rien trouvé d'interessant. Quelqu'un sait où je pourrais trouver des informations utiles pour ce périphérique? Cette personne a déjà STFW, et son problème semble réel.
  • Stupide: Je n'arrive pas à compiler le code du projet foo. Pourquoi ne marche-t-il pas? Il assume que la faute vient de quelqu'un d'autre. C'est arrogant de sa part.
  • Intelligent: Le code du projet foo ne compile pas sous Nulix version 6.2. J'ai lu la FAQ, mais il n'y a rien à propos des problèmes avec Nulix. Voici une transcription de ma tentative de compilation; y a-t-il quelque chose que j'aurais dû faire?

Il a indiqué son environnement, a lu la FAQ, montre l'erreur, et ne prétend pas que son problème est dû à une erreur de quelqu'un d'autre. Voila quelqu'un qui mérite de l'attention.

  • Stupide: J'ai des problèmes avec ma carte mère. Vous pouvez m'aider? La réponse du hacker moyen à cela sera sans doute quelque chose comme "Bien. Tu ne veux pas 100 balles et un mars non plus?" suivit d'une série de caractères de la touche "Suppr".
  • Intelligent: J'ai essayé X, Y et Z sur la carte mère modèle S2464. Cela n'a pas marché, alors j'ai essayé A, B et C. Notez bien le symptôme assez curieux quand j'ai essayé C. De toute évidence, le florb a l'air de grommicker, mais les résultats ne sont pas ceux auxquels on pourrait s'attendre. Quelles sont les causes qui amènent la carte mère MP à grommicker? Quelqu'un a des idées à propos de tests que je pourrais effectuer pour comprendre le problème? Cette personne, au contraire, semble mériter une réponse. Il a montré qu'il était capable de résoudre un problème par lui même au lieu d'attendre que la réponse tombe du ciel. Dans la dernière question, notez la différence subtile mais importante entre "Donnez moi une réponse" et "Merci de m'aider à trouver quels tests je pourrais effectuer pour trouver la réponse".

En fait, la forme de cette dernière question est basée sur un incident réel qui est arrivé en Aout 2001 sur la liste de diffusion du noyau Linux. J'avais (Eric) posé la question. Une carte mère Tyan S2464 plantait mystérieusement. Les membres de la liste m'ont donné les informations dont j'avais besoin pour résoudre le problème.

En posant la question de la manière dont je l'ai fait, j'ai donné aux gens quelque chose sur lequel ils pouvaient réfléchir; je les ai encouragés à s'interesser au problème qui était devenu attractif pour eux. J'ai montré du respect pour l'habileté de mes pairs et les ai invités à me considérer comme l'un d'eux. J'ai également montré du respect pour leur temps en leur expliquant par où j'étais déjà passé.

Une fois le problème résolu, quand j'ai remercié tout le monde et émis la remarque que le processus fonctionnait vraiment bien, un membre de la liste a dit qu'il pensait que cela avait marché non pas parce que je suis connu sur cette liste, mais parce que j'ai posé la question comme il le fallait.

Les hackers vivent dans une impitoyable méritocracie; je suis sûr qu'il avait raison, et que si je m'étais comporté comme un parasite je me serais fait engueuler ou ignorer, peu importe qui j'étais. Sa suggestion de décrire l'incident au complet en tant qu'aide pour d'autres m'a directement amené à écrire ce guide.

8. Si vous ne pouvez pas obtenir de réponse

Si vous ne pouvez pas obtenir de réponse, ne le prenez pas personnellement, comme si nous ne voulions pas vous aider. Parfois les membres du groupe auquel vous posez votre question peuvent ne pas connaître la réponse. Pas de réponse ne veut pas dire que vous avez été ignoré, bien que j'avoue qu'il est difficile de faire la différence.

En général, re-poser votre question est une mauvaise idée. Cela sera perçu comme ennuyeux.

Il y a d'autres sources d'informations vers lesquelles vous pouvez vous diriger, et bien souvent ces sources sont plus adaptées aux besoins d'un débutant.

Il y a beaucoup de groupes d'utilisateurs, en ligne ou localement, qui sont très enthousiastes à propos des logiciels, même s'ils n'ont pas forcément écrit de logiciels eux mêmes. De tels groupes se forment souvent pour que les gens puissent s'aider les uns les autres et aider les nouveaux utilisateurs.

Il y a également beaucoup de sociétés commerciales auxquelles vous pouvez demander de l'aide, des grandes comme des petites (Red Hat et LinuxCare sont les deux mieux connues; il y en a plein d'autres). Ne soyez pas consterné à l'idée que vous devrez payer pour avoir un peu d'aide! Après tout, si le moteur de votre voiture coule une bielle, il y a de grandes chances pour que vous deviez l'amener chez un garagiste et payer pour qu'elle soit réparée. Même si le logiciel ne vous a rien coûté, il ne faut pas vous attendre à ce que le support soit toujours gratuit.

Pour les systèmes populaires comme Linux, il y a au moins 10000 utilisateurs par développeur. Il est tout simplement impossible pour une personne de gérer les appels à l'aide de plus de 10000 utilisateurs. Rappelez vous que même si vous devez payer pour le support, vous devrez toujours payer bien moins cher que si vous aviez dû acheter le logiciel également (et le support pour les logiciels propriétaires et souvent plus cher et moins compétent que le support pour les logiciels open-source).

Publicité
Publicité
24 octobre 2011

Liste des acteurs du libre

 

24 octobre 2011

Acteurs du libre

24 octobre 2011

Portail des logiciels libres

http://fr.wikipedia.org/wiki/Portail:Logiciels_libres

24 octobre 2011

Distribution

Distribution grand public

 

Fedora est une distribution communautaire supervisée par Red Hat. Elle est basée sur le système de gestion de paquetages logiciels RPM.

 

Mandriva est la plus grande distribution européenne. C'est une distribution internationale d'origine française éditée par la société Mandriva. Très orientée vers le grand public, elle est conçue pour être facile d'installation et d'usage pour les débutants et les professionnels. Elle est disponible en plusieurs versions, certaines commerciales et d'autres gratuites et également en Live CD.

 

SUSE a été créée en 1993 à Nuremberg en Allemagne, elle a été rachetée par la société Novell à la fin de l'année 2003. Elle propose deux distributions principales : SUSE Linux Enterprise orientée vers les entreprises (certifications matérielles et logicielles nombreuses) et openSUSE orientée vers le grand public.

 

Ubuntu, basée sur Debian. Distribution commerciale orientée vers le grand public et constituée par Canonical, édite des versions stables tous les 6 mois. Elle est disponible en live CD. Cette distribution dispose d'une communauté d'utilisateurs dans le monde entier très dynamique.

Distribution large

 

ArchLinux est une distribution communautaire sans versions : elle est en mise à jour permanente. Elle dispose toujours des dernières versions des logiciels disponibles, grâce à une communauté de développeurs très active. Cette distribution ultra-légère a été inspirée par Crux Linux, suivant le principe KISS de simplicité technique. Son absence d'outils spécifiques (excepté son gestionnaire de paquets, pacman), en font une distribution adaptée à la découverte de l'administration des systèmes GNU/linux.

 

Debian est une distribution non commerciale régie par le contrat social Debian. Elle se distingue par le très grand nombre d'architectures supportées, son importante logithèque et par son cycle de développement relativement long, gage d'une certaine stabilité. Sa qualité et son sérieux sont unanimement reconnus, mais elle garde l'image d'une distribution réservée aux experts, alors que son ergonomie a bien évolué. C'est la distribution qui a été retenue pour le déploiement de GNU/Linux dans la ville de Munich (14 000 PC). Elle est très utilisée sur les serveurs.

 

Gentoo est une distribution caractérisée par sa gestion des paquetages à la manière des ports BSD, effectuant généralement la compilation des logiciels (X, OpenOffice, etc.) sur l'appareil de l'utilisateur. Elle est dédiée aux utilisateurs avancés, aux développeurs et aux passionnés. La compilation des logiciels in situ donne une liberté de choix de fonctionnalités et de dépendances très poussée, apportant davantage de souplesse dans la gestion des paquets que dans une distribution utilisant des paquets binaires. Enfin, Gentoo se fait forte d'une communauté d'utilisateurs particulièrement active et d'une documentation complète et centralisée.

 

Red Hat (officiellement Red Hat Enterprise Linux ou RHEL) est une distribution commerciale largement répandue dans les entreprises (surtout aux États-Unis). La société Red Hat qui la supervise a développé RPM, un gestionnaire de paquets sous licence GPL que d'autres distributions utilisent.

 

Slackware est l'une des plus anciennes distributions existantes. Slackware a été historiquement une des premières permettant de faire tourner GNU/Linux in situ depuis un CD-ROM, dès 1995. Slackware est toujours activement maintenue par son créateur Patrick Volkerding. Slackware Linux est particulièrement adaptée aux utilisations serveur, on peut la considérer comme la distribution la plus pure de GNU/Linux.

Publicité
Publicité
24 octobre 2011

Logos des distributions

01519382_photo_logo_debian

 

fedora

 

Red_hat

ubuntu_logoLogo_MandrivaU_I_1098_3

00412205_photo_opensuse_logo

24 octobre 2011

Liste de compatibilité

23 octobre 2011

Linux

Linux, appellation courante du système d'exploitation libre GNU/Linux1, est une variante du système GNU2, fonctionnant avec le noyau Linux. C'est une implémentation libre du système UNIX respectant les spécifications POSIX. Ce système est né dans le milieu hacker de la rencontre entre le mouvement émancipateur du logiciel libre et le modèle de développement collaboratif et décentralisé via internet.

Linux s'impose aujourd'hui comme une alternative libre aux systèmes propriétaires Microsoft Windows et Mac OS X. Il existe d'autres alternatives libres, parmi lesquelles FreeBSD, NetBSD et OpenBSD. Il permet le fonctionnement de tout type d'applications comme les navigateurs web, les systèmes de gestion de base de données, les clients de messagerie, les environnements de bureau, les logiciels de retouche et de traitement d'images, les jeux, etc. Certains logiciels propriétaires peuvent également fonctionner sous Linux.

Le système avec toutes ces applications est ainsi distribué sous l'appellation « distribution Linux », parmi lesquelles, Ubuntu, Red Hat, Debian, Slackware, lesquelles sont destinées aux ordinateurs personnels comme aux serveurs informatiques. Enfin, Linux est aujourd'hui distribué sur la plupart des architectures et sur de nombreuses plates-formes, des superordinateurs aux systèmes embarqués dans les téléphones mobiles.

Histoire

Le projet GNU

Le 27 septembre 1983, Richard Stallman dévoile dans la pure tradition hacker son projet de développer un système d'exploitation compatible Unix appelé GNU3, en invitant la communauté hacker à le rejoindre et participer à son développement. Cette annonce succède à la « guerre » déclarée par Symbolics au laboratoire d'intelligence artificielle du Massachusetts Institute of Technology (MIT) et à la disparition de la communauté hacker Lisp4. Il annonce que le système pourra être utilisé et partagé librement par tous comme c'est le cas avec l'éditeur de texte Emacs5. Concrètement il relate l'effort à accomplir, dont on distingue déjà en 1985 certaines pièces maîtresses : le compilateur GCC finalisé dès juin 19845, une version GNU Emacs compatible UNIX, etc. L'effort sera opiniâtrement poursuivi, et au début des années 1990, le projet GNU possède une version utilisable de presque tous les éléments d'un système d'exploitation avec une interface en mode texte : outre ceux cités précédemment, un shell, des bibliothèques logicielles, les commandes Unix, les outils de développement. Mais il manque l'élément central, le noyau de système d'exploitation. Le projet GNU initie alors en 1990 le projet de production d'un noyau nommé Hurd.

Selon Thomas Bushnell, l'architecte initial du projet Hurd, l'idée initiale était d'adapter le noyau BSD 4.4-lite6, et avec le recul « il est parfaitement clair pour moi que celui-ci aurait magnifiquement réussi et la face de l'informatique en aurait été changée » 7,6. Stallman confirmera plus tard que l’université de Californie travaillait à combler les parties manquantes pour transformer BSD en un système d’exploitation complet et librement redistribuable8. Malgré une collaboration étroite avec les hackers de Berkeley et leur leader Keith Bostic8, le code propriétaire d'AT&T mélangé au code BSD n'est pas supprimé8, si bien que Stallman décide, à la place, d'utiliser le micro-noyau Mach, qui s'avérera extrêmement pénible à faire progresser.

Hurd ne dépassera jamais réellement le stade de curiosité de laboratoire de recherche, en revanche le travail du projet GNU forme aujourd'hui une part importante d'un système d'exploitation actuel basé sur le noyau Linux. Une querelle sémantique a, pour cette raison, éclaté ces dernières années concernant l'appellation GNU/Linux1,9 afin de faire référence au système dans son intégralité.

Naissance du noyau Linux

En 1991, les compatibles PC dominent le marché des ordinateurs personnels et fonctionnent généralement avec les systèmes d'exploitation MS-DOS, Windows ou OS/2. Les PC basés sur le microprocesseur Intel 80386, vendus depuis 1986, commencent à être abordables. Mais les systèmes grand public restent attachés à la compatibilité avec les anciens processeurs 16 bits d'Intel et exploitent mal les capacités 32 bits et l'unité de gestion mémoire du 80386.

C'est cette année que l’étudiant finlandais Linus Torvalds, indisposé par la faible disponibilité du serveur informatique UNIX de l’université d'Helsinki, entreprend le développement d’un noyau de système d'exploitation, qu’on appellera plus tard le « noyau Linux ». Linus désire alors surtout comprendre le fonctionnement de son ordinateur basé sur un Intel 80386.

Linus Torvalds fait son apprentissage avec le système d’exploitation Minix. Comme le concepteur de Minix — Andrew Tanenbaum — refuse d’intégrer les contributions visant à améliorer Minix, Linus décide de programmer un remplaçant de Minix. Il commence par développer un simple émulateur de terminal, qu’il utilise pour se connecter via un modem au serveur informatique de son université. Après l’ajout de diverses fonctionnalités dont un système de fichiers compatible avec celui de Minix, Linus oriente son projet vers quelque chose de plus ambitieux : un noyau aux normes POSIX. À ce noyau, il adapte de nombreux composants disponibles du système d’exploitation GNU pour obtenir un système d’exploitation plus complet.

Le 25 août 1991, il annonce sur le forum Usenet news:comp.os.minix qu'il écrit un système d'exploitation, mais en tant que « hobby, qui ne sera pas grand et professionnel comme gnu ». Le 5 octobre 1991, il annonce la disponibilité d’une ébauche de la version 0.02 de son noyau, la version 0.01 ayant eu une diffusion plus que confidentielle. Les messages en question et leurs traductions sont disponibles sur Wikisource. Enfin en février 1992, la version 0.12 est diffusée sous la Licence publique générale GNU (GNU GPL) à la place de la licence ad hoc qui interdisait jusque-là la redistribution commerciale10.

Depuis, des centaines de passionnés et des entreprises de toutes tailles participent au projet, dont Linus Torvalds est toujours le coordinateur. Eric Raymond décrit dans l'essai La Cathédrale et le Bazar (2001) le modèle de développement du noyau Linux et d’une partie des logiciels libres11.

Initialement appelé Freax par son créateur, le projet trouve son nom définitif grâce à Ari Lemmke12, administrateur du serveur FTP ftp.funet.fi, qui héberge le travail de Linus Torvalds dans un répertoire nommé Linux. C’est la première apparition d’un terme composé à partir de « Linus » et « UNIX », qui deviendra par la suite une marque déposée au nom de Linus Torvalds. Le manchot Tux, dessiné par Larry Ewing en 1996, devient la mascotte du projet.

Diffusion du système

À l'origine, « Linux » était uniquement le nom du noyau du système d'exploitation. Pour installer un système opérationnel basé sur le noyau Linux, il fallait être un expert capable de trouver les logiciels nécessaires, et de les installer un à un de manière à former un système cohérent.

Rapidement, des ensembles de logiciels formant un système complet prêt à l'usage ont été disponibles : ce sont les premières distributions Linux. On peut citer par ordre chronologique13 :

Dans la prise en compte progressive de l’intérêt commercial de Linux, dont on peut citer quelques manifestations : le lancement en février 1998 de l’Open Source Initiative ; l’annonce en juillet 1998 du support d’Oracle Corporation, qui porte et supporte sa célèbre base de données sous Linux ; l’entrée en bourse de Red Hat le 11 novembre 1999 ; celle de Geeknet — alors appelé « VA Linux » — le mois suivant qui marque le sommet d’une bulle spéculative ; le support massif apporté par le géant IBM, qui y dépense son premier milliard de dollars en 200114, emploie en 2005 près de trois-cents développeurs du noyau Linux, et organise à partir de 2003 la riposte légale lors de l’attaque du SCO Group qui affirmait posséder des droits d’auteurs sur le noyau Linux (voir l’article SCO contre Linux) ; l’acquisition en octobre et novembre 2003 de Ximian puis de SUSE par l’entreprise américaine Novell15.

C’est dans le monde des serveurs informatiques que Linux a eu le plus d’impact, notamment avec le très populaire LAMP. Sur les serveurs, Linux a souvent été utilisé pour remplacer d’autres systèmes de Type Unix et se retrouve être un des acteurs majeurs.

Dans les systèmes embarqués, Linux est fréquemment utilisé avec les outils uClibc et BusyBox qui ont été développés pour le matériel particulièrement limité en capacité mémoire. En outre, le fait de pouvoir compiler le noyau Linux avec des options spécialement adaptées au matériel cible donne aux développeurs de nombreuses possibilités d’optimisation.

L'esprit Hacker et la Philosophie du Logiciel Libre[modifier]

Dans son ouvrage intitulé « The Daemon, the Gnu, and the Penguin », Peter Salus explique que ce système est né de la rencontre du mode opératoire hacker avec les principes du mouvement du logiciel libre, les philosophies hacker et du logiciel libre apparaissant bien comme deux facettes du même objet.

Logiciel libre

La différence essentielle de Linux par rapport à d’autres systèmes d’exploitation concurrents — comme Mac OS, Microsoft Windows et Solaris — est d’être un système d’exploitation libre, apportant quatre libertés aux utilisateurs, définies par la licence Licence publique générale GNU (GPL), les rendant indépendants de tout éditeur et encourageant l’entraide et le partage.

Un logiciel libre n’est pas nécessairement gratuit, et inversement un logiciel gratuit n’est pas forcément libre. Ce ne sont pas non plus des logiciels libres de droits : c’est en vertu de leurs droits d’auteurs que les contributeurs d’un logiciel libre accordent les quatre libertés, qui sont d’« utiliser le logiciel sans restriction », d’« étudier le logiciel », de le « modifier pour l’adapter à ses besoins » et de le « redistribuer sous certaines conditions précises ».

Certaines licences sont fondées sur le principe du copyleft, c’est-à-dire sur le principe de réciprocité : une œuvre dérivée d’un logiciel sous copyleft doit à son tour être libre. C’est le cas de la licence libre la plus utilisée, notamment par le noyau Linux lui-même : la licence GNU GPL écrite par Richard Stallman.

L’ouverture du code source, l’un des quatre critères correspondant à la notion de logiciel libre, a des avantages théorisés entre autres par Eric Raymond, comme la correction rapide des bogues, et notamment la correction des failles de sécurité. C’est le refus du principe de sécurité par l’obscurité.

Interopérabilité

Linux n’aurait pu se développer sans la présence de protocoles standardisés utilisés sur Internet. Un bon nombre de logiciels libres sont d’ailleurs des implémentations de référence, comme Apache.

Les partisans des logiciels libres sont donc des partisans constants de l’interopérabilité. Ils mettent en avant les formats ouverts, des formats de données dont les spécifications techniques sont publiques et sans restriction d’accès ni de mise en œuvre, afin de ne pas dépendre d’un seul logiciel.

Citons dans cette optique Mozilla Firefox, qui tente de respecter scrupuleusement les recommandations émises par le World Wide Web Consortium, Jabber, qui a donné naissance au standard XMPP reconnu par l’Internet Engineering Task Force dans le domaine de la messagerie instantanée ou encore les suites LibreOffice et Calligra, qui ont lancé le standard OpenDocument dans le domaine de la bureautique.

Dans d’autres domaines, il n’existe pas d’organisme ou d’accord de standardisation reconnus. Le marché est alors morcelé entre divers vendeurs qui ont chacun leur technologie ou sous la domination d’un acteur économique prédominant qui ferme ses formats ou protocoles.

Le premier cas de figure prévaut dans la guerre des messageries instantanées et est en partie résolu par des logiciels multiprotocoles comme Pidgin ou Kopete. Les formats des suites Microsoft Office successives et le protocole Server Message Block qui permet de partager des fichiers et des imprimantes entre différents ordinateurs d’un réseau Microsoft Windows tombent dans la deuxième catégorie. Ces formats et protocoles sont souvent pas ou mal documentés. L’interopérabilité passe alors nécessairement par la rétro-ingénierie.

Cela peut nécessiter un travail important, travail par ailleurs illégal aux États-Unis mais légal en Europe (tant qu’on reste dans le cadre de l’interopérabilité) ; aujourd’hui, OpenOffice.org permet de lire la très grande majorité des fichiers aux différents formats DOC, et le logiciel Samba permet de participer aux réseaux Windows.

Plus problématique du point de vue des logiciels libres sont les formats et protocoles nécessaires à l’interopérabilité, mais verrouillés techniquement ou légalement : gestion des droits numériques, brevets logiciels, Directive EUCD, Digital Millennium Copyright Act, etc.

Unifix Linux 2.0 de la société allemande Unifix (et Linux-FT de Lasermoon) sont également certifiés POSIX.1 FIPS 151-216,17 (Federal Information Processing Standard18). Noyau 1.2.1319.[Quoi ?]

Sur le site Debian, il est expliqué que « les normes de POSIX ne sont pas gratuites et la certification POSIX.1 (et FIPS 151-2) est très chère »20.

Communautés

De nombreuses associations, connues sous le nom de Groupe d’utilisateurs Linux (Linux Users Group en anglais), cherchent à promouvoir Linux et, par extension, les logiciels libres, par le biais de rencontres où des démonstrations de Linux sont faites, des formations, et pour ceux qui le souhaitent des installations sur leur ordinateur.

De nombreuses communautés existent sur Internet afin d’aider les débutants comme les professionnels. Citons le site lea-linux, le site d’informations collaboratif Linuxfr.org, qui aide les utilisateurs dans leur apprentissage des bases de Linux grâce à un réseau IRC très actif. Et les projets Proselux, Groupe de parrains Linux ou encore Parrain-Linux permettent aux « linuxiens » de se rencontrer pour s’entraider. De même, il existe de nombreux sites regroupant des tutoriels ainsi que des howto, comme lea-linux.

Distributions

Les logiciels libres sont développés de manière collaborative, souvent indépendamment les uns des autres, et peuvent être librement redistribués. Il s’ensuit une particularité du monde Linux : la séparation fréquente entre ceux qui développent les logiciels et ceux qui les distribuent.

On appelle distribution Linux une solution prête à être installée par l’utilisateur final comprenant le système d’exploitation (GNU, BSD…), le noyau Linux, des programmes d’installation et d’administration de l’ordinateur, un mécanisme facilitant l’installation et la mise à jour des logiciels comme RPM ou APT ainsi qu’une sélection de logiciels produits par d’autres développeurs.

Une distribution peut par exemple choisir de se spécialiser sur GNOME ou KDE. Elle est également responsable de la configuration par défaut du système (graphisme, simplicité…), du suivi de sécurité (installations de mise à jour) et plus généralement de l’intégration de l’ensemble.

La diversité des distributions permet de répondre à des besoins divers, qu’elles soient à but commercial ou non ; orientée serveur, bureautique ou embarqué ; orientée grand public ou public averti ; généraliste ou spécialisée pour un usage spécifique (pare-feu, routeur réseau, grappe de calcul, etc.) ; certifiées sur un matériel donné ; ou tout simplement entièrement libres, c’est-à-dire dépourvues de tout code propriétaire.

Parmi les plus célèbres distributions, on peut citer Slackware, apparue en 1993, qui est aujourd’hui la plus ancienne distribution encore en activité, toujours maintenue par Patrick Volkerding ; Debian, éditée par une communauté de développeurs ; Red Hat, éditée par l’entreprise américaine du même nom qui participe également au développement de Fedora ; ou encore SUSE, à l’origine une traduction allemande de Slackware, qui a depuis évolué en intégrant certains sous-systèmes issus de Red Hat.

De nombreuses autres distributions plus ou moins spécialisées existent, étant pour la plupart dérivées des projets sus-cités. Par exemple voici quelques distributions spécialisées « environnement de bureau » : Ubuntu, éditée par Canonical Ltd. qui est dérivée de Debian ; MEPIS, également fondée sur Debian ; Zenwalk, dérivée de Slackware ; Mandriva Linux, dérivée de Red Hat, aujourd’hui éditée par la société française de même nom et impliquée dans plusieurs projets libres. Il existe également des distributions dites Live CD, dont l’une des plus célèbres est Knoppix21, qui offrent la possibilité de démarrer un système d’exploitation Linux complet et d’accéder à de nombreux logiciels à partir du support (CD, DVD ou clé USB) sans installation préalable sur le disque dur, et sans altérer son contenu. Cette souplesse d’utilisation les rend très populaires pour les démonstrations d’utilisation de Linux, et sont même utilisées comme outils de maintenance système. Parmi les distributions Linux entièrement libres recommandées par la Free Software Foundation, on peut citer Trisquel et gNewSense.

Contrats OEM et détaxe Windows

Un des enjeux qui se posent pour les distributions Linux est de nouer des partenariats avec des fabricants d’ordinateurs afin qu’il devienne plus facile de trouver un ordinateur préinstallé sous Linux. Car même si certaines distributions affirment avoir rendu l’installation d’un système Linux aussi simple que celle des systèmes d’exploitation concurrents, le simple fait d’avoir à être au courant que d’autres systèmes existent, d’être prêt à accepter des changements dans ses habitudes et d’avoir à installer soi-même le système constitue un désavantage indéniable par rapport à la situation privilégiée dont jouissent les distributeurs de Microsoft Windows et de Mac OS X. Le système de Microsoft est en effet omniprésent et Apple est en même temps le fabricant des Macintosh.

À défaut, les utilisateurs de Linux peuvent réclamer le remboursement, de la part correspondant au prix du système d’exploitation et des logiciels qu’ils n’ont pas l’intention d’utiliser, lors de l’achat d’un ordinateur neuf, comme la loi de certains pays le permet22. Si la société Apple s’est montrée plusieurs fois coopérative face à de telles demandes, le remboursement de Microsoft Windows est en général long et difficile bien qu’actuellement une série de décisions de justice ait permis à certains consommateurs de se faire rembourser par les fabricants. Devant la difficulté d’obtenir ce remboursement fondé sur le CLUF, dès 1998, les associations Linuxfrench et AFUL ainsi que Roberto Di Cosmo ont lancé en réaction une action pour la détaxe Windows23.

Cette situation existe en Europe et en Amérique du Nord, mais pas dans certains pays d’Amérique du Sud, où les distributions de Linux ont plus de part de marché que Windows24.

Cette situation de quasi-monopole explique en partie la faible diffusion en Europe et en Amérique du Nord de Linux chez les particuliers. Un autre frein à l’adoption de Linux est l’incompatibilité avec les programmes binaires Windows (le développement de Wine permet de remédier partiellement à cette incompatibilité). La faible ressemblance entre Linux et Windows rend de plus nécessaire une certaine adaptation. La distribution Ubuntu est une des premières à s’orienter vers une utilisation bureautique25.

Depuis juillet 2009, Microsoft contribue au noyau Linux. En effet, Microsoft a publié plusieurs pilotes pour Linux, sous licence GPLv2, destinés à améliorer le support de son système de virtualisation propriétaire Hyper-V 26,27.

Parts de marché

Le concept de part de marché est un peu spécial dans le cas du noyau Linux. En effet comme les systèmes d'exploitation qui l'utilisent sont rarement "vendus", la mesure financière n'a aucun sens.

Seul le nombre de machines l'utilisant régulièrement peut être compté. Si cela est aisé pour les superordinateurs (peu nombreux), cela devient plus difficile pour les postes clients (statistiques basées sur le user-agent HTTP), et encore plus incertain pour les systèmes embarqués, à l'exception des baladeurs, téléphones, et tablettes numériques.

Part de marché sur les systèmes embarqués

Le noyau Linux équipe la plupart des systèmes embarqués, civils ou militaires (box, robots, aérospatial, drones...)

Android/Linux a réalisé une croissance vertigineuse dans les téléphones portables28.

Part de marché sur les super calculateurs

Les Linux y sont très largement majoritaires29.

Part de marché sur les serveurs web

Les systèmes d'exploitation de type Unix (donc en comptant aussi les *BSD) sont largement majoritaires30 31

Part de marché sur les postes clients

En avril 2010, une étude de XiTi réalisée régulièrement sur les systèmes utilisés par les visiteurs de 17 000 sites web professionnels européens, donne, 91,9 % de part de marché à Windows (55,6 % à Windows XP, 22,4 % à Windows Vista et 12,3 % à Windows 7), 5,3 % à Mac OS X et 0,9 % à Linux32.

Une autre étude, du site Statcounter, établit la part de Linux dans le monde à :

  • janvier 2007 : 0,7 %
  • août 2007 : 0,8 %
  • décembre 2007 : 0,9 %[réf. nécessaire]
  • juillet 2008 : 0,8 %33
  • octobre 2008 : 0,7 %33
  • février 2009 : 0,6 %33
  • août 2009 : 0,7 %33
  • décembre 2009 : 0,7 %33
  • avril 2010 : 0,8 %33

La vente liée au grand public de nombreux ordinateurs fonctionnant déjà sous Windows explique en partie la faible part de Linux sur les postes clients.

Interfaces

La ligne de commande

De par la filiation avec UNIX, la ligne de commande (ou shell Unix) est toujours disponible dans Linux, quelle que soit la distribution

Certaines distributions, notamment celles spécialisées dans les serveurs ou certaines tâches d’administration, utilisent uniquement la ligne de commande, en particulier pour sa faible consommation de ressources, due à l’absence d’interface graphique, mais surtout pour sa puissance d’action, liée à l’interopérabilité des commandes et la possibilité de générer des scripts.

Longtemps, de nombreuses opérations de configuration nécessitaient son utilisation, ce qui n’est plus vrai avec les distributions récentes dédiées à l’utilisation familiale. Néanmoins, les aides en ligne mentionnent souvent la démarche à suivre en ligne de commande, même lorsqu’une configuration graphique est possible : cette méthode est plus universelle dans le monde Linux, et souvent plus facile à expliquer pour la personne qui aide, et son interlocuteur n’a qu’à copier-coller l’indication.

Une interface graphique bien conçue permet de nos jours d’accomplir la grande majorité des tâches bien plus agréablement, mais ce n’est pas toujours le cas, particulièrement lorsque la tâche a un aspect répétitif ou non prévu. La ligne de commande, qui tire sa puissance de sa possibilité de combiner à l’infini des sous-tâches automatiques, et qui permet presque naturellement d’automatiser la tâche ainsi accomplie, peut alors se révéler plus efficace que l’interface graphique. Scientifiques, ingénieurs et développeurs comptent parmi ses plus fréquents utilisateurs.

Interface graphique et ligne de commande peuvent aussi se compléter l’une et l’autre : KDE et GNOME sont livré avec un terminal pour piloter et donc automatiser toutes ses applications graphiques depuis la ligne de commande.

Apple, très réputé pour ses interfaces graphiques, MacOS étant le premier système commercialisé avec la gestion des fenêtres et de la souris, a également intégré un terminal en ligne de commandes compatible UNIX sur MacOS X.

Applications

Les programmes les plus connus en mode texte accessibles depuis la ligne de commande comprennent Vim, Emacs, sed et apt.[réf. souhaitée] Une partie de ces programmes peut aussi s’utiliser par l’intermédiaire d’une interface graphique.

Par ailleurs, les programmes fonctionnant en mode console sont nombreux. Les raisons sont multiples :

  • raison historique : à l’origine, Linux était dépourvu d’environnement graphique ;
  • souci d’efficacité : les programmes qui n’utilisent pas l’environnement graphique demandent moins de ressources ;
  • souci de rapidité : ouvrir une console pour y taper une commande est souvent bien moins long que de passer par les divers menus d’un gestionnaire de fenêtres ou d’un environnement graphique ;
  • souci d’un meilleur contrôle.

L’utilisation de ces programmes peut s’avérer difficile pour une personne n’étant pas habituée à travailler en mode texte34. Ils sont cependant très prisés par les administrateurs et développeurs expérimentés, et deviennent incontournables lors de hautes exigences dans ces domaines.

Gestionnaires X Window

L’emploi du terme générique Linux est trompeur s’agissant de l’utilisation d’un ordinateur personnel. En effet, il existe plusieurs interfaces (ou gestionnaire de fenêtres) aux caractéristiques différentes, comme KDE, GNOME ou Xfce.

Cependant, comme toutes ces interfaces sont fondées sur X Window, leurs applications peuvent cohabiter et elles offrent des points communs dont l’affichage de fenêtres à distance (y compris via des protocoles compressés et chiffrés comme ssh et nox) et le copier-coller simplifié : un texte sélectionné par la souris est automatiquement copié, un clic milieu (ou un clic molette, ou sur les deux boutons en même temps) suffit alors pour coller le texte à l’endroit désiré. Il n’y a donc jamais besoin du clavier pour effectuer un copier-coller sous X.

Traditionnellement, l’interface d’un système d’exploitation fondé sur le noyau Linux était une interface sobre voire spartiate, centrée autour d’un gestionnaire de fenêtres (il en existe beaucoup, comme Window Maker ou IceWM) et d’une suite assez hétéroclite d’applications.

L’inconvénient de ce système traditionnel est le temps nécessaire à personnaliser un tel environnement, et surtout la non standardisation des applications ainsi utilisées. Les applications que l’on peut voir sur la copie d’écran de droite (XMMS, RealPlayer, Mozilla Firefox, xterm, Gaim, Konqueror) suivent chacune leurs propres conventions : aspect, comportements, raccourcis clavier différents ; les copier-coller et glisser-déposer sont disparates…

Si individuellement des applications comme Vim ou Emacs peuvent effectivement avoir des aspects brillants, l’ensemble disparate de toutes ces applications en fait un système difficile à appréhender pour des utilisateurs débutants. Le temps consacré à apprendre une application et les réflexes ainsi acquis ne peuvent être appliqués aux autres applications, un avantage qu’apporte la standardisation de comportement des interfaces comme l’avait montré le Macintosh, avec par exemple le raccourci clavier utilisé pour quitter une application : Ctrl + Q ou Ctrl + X - Ctrl + C ou Ctrl + C ou juste q ou Esc ou encore :qa!, bye, quit ou exit, etc.

L'utilisation de ce type d'environnement peut paraître déroutante aux utilisateurs habitués à d'autres solutions (telles KDE ou Gnome). Il présente en revanche l'avantage de la simplicité et de la souplesse de configuration et de personnalisation en fonction des besoins de chacun.

Les environnements de bureau

L’état des lieux du précédent chapitre est décrit dans un manifeste35 datant de 1996 ayant poussé Matthias Ettrich à fonder en réaction le projet KDE, puis Miguel de Icaza à fonder le projet GNOME l’année suivante, qui s’inspirent de Mac OS et de Windows sur le plan de l’ergonomie logicielle et de la standardisation des comportements.

Ces deux projets sont devenus les fédérateurs de Linux sur le poste de travail.

Chacun offre en effet :

  • aux programmeurs, un environnement de programmation très productif ainsi que des recommandations d’interfaces (en anglais : guidelines) permettant de produire plus vite des applications plus simples à utiliser ;
  • aux traducteurs, une infrastructure. Ces deux environnements et leur myriade de logiciels sont traduits en plusieurs dizaines de langues36 ;
  • aux artistes, des espaces de travail37 pour exercer leurs talents ;
  • aux spécialistes de l’ergonomie, la possibilité de le rendre plus simple et plus cohérent38 ;
  • aux applications externes, un environnement de référence dans lequel s’intégrer39 ;
  • et par conséquent, à l’utilisateur, un environnement complet, intégré et homogène ainsi qu’une suite d’applications essentielles : explorateur de fichiers, navigateur web, lecteur multimédia, client de messagerie, carnet d’adresses, lecteur PDF, gestionnaire d’images.

Ces deux environnements de bureau ont atteint récemment une maturité certaine, citons l’année 2003 pour KDE40, un peu plus tard pour GNOME. Très actifs, ces deux projets ont néanmoins l’intention de s’améliorer nettement pour leurs prochaines versions majeures ; les efforts dans ce sens sont concentrés au sein des projets Appeal pour KDE, et ToPaZ41 pour GNOME.

Techniquement, ils reposent tous deux sur de nombreuses technologies communes, au premier rang desquelles le système de fenêtrage X11. Pour éviter de dupliquer certains efforts, une zone informelle de collaboration entre ces projets du nom de Freedesktop.org a été mise en place.

C’est dans l’approche de l’ergonomie (celle-ci étant relative au type d’utilisateur) et dans la conception du rôle d’un environnement de bureau qu’ils diffèrent : l’environnement KDE pousse loin la volonté d’intégration entre les applications, possède de très nombreuses fonctionnalités avancées et joue la carte de la configuration tout en veillant à avoir des bons choix par défaut ; GNOME se veut plus épuré et se consacre sur les tâches essentielles (reprenant la philosophie making things just work). Chacun plaît, par conséquent, à un public différent.

On peut noter également la montée en puissance d’un troisième environnement de bureau appelé Xfce, qui vise à fournir un environnement complet fondé sur GTK+ comme GNOME, tout en restant plus léger que ce dernier ou KDE.

Offre en logiciels

La communauté du logiciel libre a produit un grand nombre de logiciels utilisables dans de nombreux domaines. Voici des exemples de logiciels donnés à titre indicatif :

La plupart des distributions Linux proposent un programme (comme Synaptic) permettant de naviguer dans une liste de milliers de logiciels libres testés et préconfigurés spécialement pour une distribution. Ces programmes libres sont alors téléchargés et installés en un clic, avec un système de signature électronique garantissant que personne ne leur a ajouté de virus ou de mouchard. Ces programmes sont ensuite mis à jour automatiquement.

Certains logiciels propriétaires importants ont également une version Linux. C’est le cas de Opera, Adobe Flash Player, Adobe Acrobat Reader, NeroLinux ou Skype par exemple.

La notion de portabilité désigne la capacité d’un programme à être utilisé sous différents systèmes d’exploitation ou architectures.

Enfin, il est possible d’utiliser des logiciels faits pour Microsoft Windows sur un poste Linux grâce à une implémentation de l’API Windows sous Linux comme Wine. Des offres commerciales fondées sur WINE comme CrossOver permettent d’utiliser presque sans problèmes des logiciels tels Microsoft Office et Photoshop issus du monde Windows.

Jeux vidéo

Il existe de nombreux42 jeux disponibles sous Linux, gratuits ou payants, libres ou propriétaires. L’offre comporte aussi bien des petits jeux de bureautique (cartes, démineur, échecs, golf) que des jeux commerciaux récents (Enemy Territory: Quake Wars).

Certains jeux sont conçus pour tourner nativement sous Linux (Quake III Arena par exemple), et d’autres peuvent être lancés à l’aide de programmes implémentant l’API Windows sous Linux. Il en existe plusieurs implémentations, dont certaines spécialement pour les jeux, permettant ainsi de faire fonctionner de nombreux jeux conçus pour Windows, dans des environnements comme Cedega et Wine (par exemple World of Warcraft). Le dernier recours des joueurs utilisant Linux consiste tout simplement à utiliser parallèlement Windows sur le même ordinateur grâce au multiboot ou à la virtualisation.

Le fabricant de cartes graphiques ATI a pendant un temps développé ses propres pilotes pour Linux. Suite à son rachat par AMD, ATI a ouvert les spécifications de ses cartes début 2008 afin que les développeurs de Mesa 3D puissent mieux intégrer la gestion de ses cartes.

Bibliothèques libres

Les logiciels qui utilisent une bibliothèque libre peuvent fonctionner sur Linux et sur toutes les plates-formes où la bibliothèque est implantée. Ces bibliothèques peuvent ajouter une surcouche graphique sur des applications textuelles déjà existantes comme c’est le cas de Vim, mais elles servent surtout à développer des logiciels accessibles aux novices et disposant des fonctionnalités autorisées par les interfaces graphiques, comme le glisser-déposer, les manipulations à la souris, etc.

D’autres applications comme Blender ou Google Earth sont un cas à part car ils utilisent la bibliothèque OpenGL destinée à la base à l’implémentation ainsi qu’à la gestion de programmes utilisant la 3D comme la 2D.

Émulation

Plusieurs logiciels d’émulation existent permettant de simuler le fonctionnement de systèmes d’exploitation concurrents ou des environnements de jeu.

Émulation d’ordinateurs

Les programmes Steem et ARAnyM émulent une bonne partie des applications écrites pour les machines Atari, notamment les Atari ST et Atari TT. UAE (Unix Amiga Emulator) permet d’émuler le Commodore Amiga, Basilik les anciens Mac 68000 d’Apple. Tous ces émulateurs émulent les microprocesseurs de la famille 68000 de Motorola qui équipaient ces ordinateurs, ainsi que les coprocesseurs spécialisés de l’Amiga.

MESS (souvent associé a MAME) permet d’émuler de la même façon un grand nombre d’ordinateurs personnels 8 bits. Il existe également des émulateurs spécialisés pour chacun de ces ordinateurs. Euphoric pour les Oric, FMSX pour les MSX, mais aussi des émulateurs Spectrum, Commodore, etc.

Utilisation d’application pour Microsoft Windows

Des applications développées pour Windows peuvent tourner sur un système Linux via les applications Wine et son dérivé commercial Cedega qui réimplémente43 le fonctionnement des principales API de Microsoft Windows. Le microprocesseur n’est pas émulé, seules les fonctions des APS sont remappées à la volée sur les API utilisées nativement dans Linux. Par exemple : DirectX utilise OpenGL, la gestion de l’impression est relayée à CUPS ou LPR, des périphériques USB à libusb, les tablettes graphiques à XInput, etc. Cela permet dans de nombreux cas des performances proches de l’exécution native, tout en évitant les problèmes de certains pilotes de périphériques inhérents à Windows. Dans certains cas spécifiques, les performances de certaines applications peuvent se trouver dégradées. De nombreux utilitaires, applications de tous domaines et jeux s’exécutent parfaitement, mais pas tous. Le site de Wine référence les applications fonctionnant et celles posant problème.

Virtualisation

En outre, Linux ouvre également la possibilité d’obtenir une parfaite séparation entre plusieurs environnements virtuels tournant sur un seul ordinateur physique, en prenant en compte les modules de virtualisation présents dans les processeurs récents comme AMD-V sur AMD et Intel-VT (ou IVT) sur Intel. Ces environnements de virtualisation permettent d’exécuter des environnements différents ou plusieurs environnements similaires sur une même machine, tout en assurant une certaine sécurité dans la séparation des accès. Ce système est utilisé depuis longtemps par les mainframes d’IBM. IBM a d’ailleurs porté Linux sur celles-ci afin de permettre à ses clients de continuer à les utiliser avec un système plus moderne.

KVM est, depuis la version 2.6.20 du noyau Linux, le système officiel de virtualisation de ce dernier. Couplé aux outils de QEMU, il permet de créer des ordinateurs virtuels tournant directement sur un noyau Linux non modifié et est capable d’accueillir un grand nombre de systèmes d’exploitation tels que Windows, Solaris, BSD, etc. KVM est au cœur de la stratégie de virtualisation de Red Hat.

Grace à son ouverture, le noyau Linux permet aussi, moyennant des modifications plus ou moins importantes, l’utilisation d’autres produits de virtualisation tels que :

  • Oracle VM VirtualBox, développé par Sun sous le nom de Virtualbox, avant que l’entreprise ne soit rachetée par Oracle Corporation, qui se distingue avant tout par une interface très conviviale permettant de gérer des machines virtuelles en environnement graphique. Virtualbox existe en version gratuite et en version payante, cette dernière offrant des fonctionnalités supplémentaires ;
  • Qemu, machine virtuelle libre
  • Xen, système de paravirtualisation orienté serveur, pouvant offrir des performances très élevées en ne recourant à aucune émulation matérielle, mais nécessitant que les systèmes d’exploitation « invités » soient modifiés afin d’atteindre ce niveau de performances. Xen est libre mais nécessite d’importantes modifications du noyau Linux ;
  • VMware, système de virtualisation professionnel, non libre, décliné en versions serveur et poste de travail ;
  • OpenVZ.

Prise en charge du matériel

La prise en charge de l’équipement matériel est l’une des critiques principales faites à Linux. En effet, les matériels pour ordinateurs personnels ne sont pas forcément pris en charge directement par Linux et il n'existe pas toujours de pilote développé par le constructeur et compatible avec Linux. Certains fabricants fournissent systématiquement des pilotes pour Microsoft Windows et Mac OS X, alors que pour Linux, la communauté est souvent obligée de les développer elle-même, souvent par rétro-ingénierie. Parfois, la communauté préfère développer des pilotes libres stables bien que des pilotes propriétaires développés par les constructeurs existent (c’est le cas pour les cartes graphiques ATI ou Nvidia). Dans cette optique, les pilotes nécessaires pour faire fonctionner pleinement un ordinateur sont intégrés à la plupart des distributions Linux.

Certains périphériques risquent de ne pas avoir de pilotes disponibles, notamment certaines imprimantes, modems, webcams, carte réseau/dongle Wi-Fi etc. Cependant, les utilisateurs de Windows ou Mac OS sont parfois également confrontés à des problèmes de pilotes lorsqu’ils installent une nouvelle version de leur système et l’absence de code source empêche une recompilation des pilotes propriétaires. Enfin, il arrive qu’il n’y ait des pilotes que pour Linux, et pas pour Windows ou Mac (supercalculateurs, serveurs Internet haut de gamme, consoles de jeu PlayStation, anciens périphériques dont le support a été arrêté par les constructeurs, etc.). Le matériel ancien peut être généralement recyclé sous Linux, car la pérennité des pilotes libres est également l’un des points forts de Linux.

La première raison de cette situation est le faible impact de Linux chez les particuliers, ce qui n’incite pas les fabricants à investir dans le développement de pilotes pour cet environnement. La seconde raison est le refus de certaines distributions (Fedora ou Debian, par exemple) d’embarquer des pilotes sous licences propriétaires, même quand ceux-ci existent, ce qui oblige l’utilisateur à les trouver et à les installer manuellement. Enfin, l’absence d’une API fixe dans le noyau Linux oblige les fabricants à délivrer des binaires des pilotes adaptés à chaque version du noyau.

Les utilisateurs qui travaillent sur plusieurs plates-formes et qui ont besoin de ces pilotes peuvent trouver des versions développées par de tierces parties, mais de tels pilotes ne supportent généralement qu’un ensemble rudimentaire de fonctions, et n’apparaissent qu’après la sortie du matériel, avec un certain temps de latence. Il existe cependant des mécanismes pour faire fonctionner certains pilotes développés pour d’autres systèmes d’exploitation (comme NdisWrapper).

Les webcams sont, par exemple, particulièrement concernées par cette absence de pilotes, mais le protocole USB video device class ou UVC permet de répondre à ce problème avec de nombreuses webcams supportant ce protocole44.

Avec la démocratisation de Linux, certains grands constructeurs font des efforts pour développer ou fournir les informations nécessaires au développement de pilotes libres pour Linux, comme Creative Labs pour ses webcams ou cartes sons45, Intel (processeurs, chipsets 3D, cartes réseau, etc.). Mais de nombreux autres composants nécessitent de vérifier la disponibilité de pilotes avant l’achat, s’ils sont destinés à une utilisation sous Linux. D'autre part, des assembleurs, tels que Dell46, Asus — poussé par Intel47 —, Linéo ou Everex, vendent des ordinateurs avec Linux préinstallé.

Intel a une véritable stratégie pour s’imposer sur le marché des Ultra-Mobile PC en proposant aux constructeurs une plateforme construite autour de Linux (projet Moblin), c’est le cas récent de la machine Eee PC d’Asus et de plusieurs machines du même créneau.

Utilisation

Serveur

En raison de la relation de Linux avec UNIX, Linux s’est très rapidement imposé sur le marché des serveurs informatiques. Un point crucial a été la possibilité d’utiliser un système d’exploitation de type UNIX sur du matériel compatible PC, beaucoup moins cher que les solutions à base d’UNIX propriétaire et de matériel spécifique. De nombreux logiciels serveurs très demandés et très utilisés (serveur HTTP, base de données, groupware, serveur de messagerie électronique, etc.) sont disponibles gratuitement, en général sans aucune limitation, et fiables, la part de marché de Linux dans ce domaine a en conséquence crû rapidement.

Linux ayant une réputation de stabilité et d’efficacité dans la maintenance, il remplit les exigences posées à tout système d’exploitation pour serveurs. De plus, la modularité d’un système fondé sur le noyau Linux permet l’exploitation de serveurs dédiés à une tâche particulière. Le portage du noyau Linux sur de nombreux composants matériels fait que Linux est aujourd’hui utilisable sur toutes les architectures utilisées dans ce domaine. Le matériel utilisable est en conséquence considérable. Les derniers IBM eServer p5 et IBM eServer i5 sont par exemple supportés par IBM avec un système d’exploitation Linux et permettent d’y exécuter plusieurs systèmes Linux en parallèle.

Les serveurs Linux sont exploités dans à peu près tous les domaines. Un des exemples les plus connus est résumé par l’acronyme LAMP, où Linux propulse un serveur web Apache associé à la base de données MySQL et au langage de programmation PHP (alternativement : Perl ou Python). Linux est également souvent utilisé comme serveur de fichiers, le plus souvent dans les réseaux Windows grâce au serveur Samba, moins souvent sous NFS ou AppleShare.

Sécurité réseau

Linux, qui jouit d’une bonne réputation en matière de sécurité et de performance (passage à l’échelle) est très utilisé dans le domaine des réseaux informatiques, par exemple comme passerelle, comme routeur, proxy ou comme pare-feu.

Ordinateur central

La disponibilité du code source, et la possibilité qui en découle d’adapter le système à une tâche précise, a permis à Linux de faire son entrée dans les centres de calculs. Sur ce marché des ordinateurs centraux, gros ordinateurs très fiables optimisés pour le traitement massif de données, omniprésents dans les banques, les sociétés d’assurances et les grandes entreprises, Linux fait de plus en plus concurrence aux systèmes UNIX propriétaires qui étaient autrefois la norme.

Grappes de serveurs

Linux a été très tôt utilisé dans le domaine des grappes de serveurs (en anglais : clusters), par exemple par le moteur de recherche Google à la fin des années 1990. Dans cette configuration, associée à la notion de grille informatique, de simples ordinateurs tournant sous une distribution spécialisée de Linux travaillent indépendamment au sein d’un grand réseau d’ordinateurs.

Superordinateurs

Les superordinateurs sont conçus pour atteindre les plus hautes performances possibles avec les technologies connues, en particulier en termes de vitesse de calcul. En novembre 2006, selon TOP500, Linux fait tourner 74 % des cinq cents plus puissants ordinateurs du monde48 (contre 20 % pour UNIX) dont les plus puissants, les deux serveurs Blue Gene d’IBM (40 960 et 131 072 processeurs). En novembre 2007, dans ce même TOP500, plus de 85 % des superordinateurs utilisent Linux, contre 6 % pour UNIX et 1,20 % pour Windows. En novembre 2008, 87,8 % des superordinateurs tournent sous Linux contre 4,60 % sous UNIX49. En novembre 2009, 446 superordinateurs (89,20 %) utilisent Linux et 5 seulement sont sous Windows (1 %)50.

Le Jaguar, fabriqué par Cray Inc., était le plus puissant supercalculateur jusqu'en 2009 ; il fonctionne avec une version de Linux appelée Cray Linux Environment51. Le Roadrunner d’IBM, moins puissant que le Jaguar, mais qui fut le premier à avoir officiellement dépassé la puissance symbolique de 1 pétaFLOPS, fonctionne sous la distribution GNU/Linux Fedora52.

Embarqué

Linux se trouve aussi au cœur de nombreux appareils informatiques ou électroniques grand public, et parfois sans que l’usager le sache. Il s’agit notamment d’équipement réseau et de petits appareils numériques destinés à la consommation de masse, équipés en général d’un processeur spécialisé économe en énergie et d’une mémoire flash.

Le succès de Linux dans ce domaine tient, ici comme ailleurs, à ce que les fabricants apprécient de pouvoir d’une part adapter le logiciel à leurs besoins (consommation, interface, fonctions annexes, etc.) et d’autre part de bénéficier de l’expérience et du travail d’une communauté active. Linux est aussi apprécié dans ce domaine pour sa fiabilité, sa résistance aux attaques des pirates informatiques sur les réseaux et bien sûr sa gratuité.

Des forums de coopération spécialisés aident les fabricants de ces produits en mettant à disposition instructions, programmes et exemples de codes, et en s’efforçant de standardiser les interfaces de programmations de Linux dans l’embarqué. L’OSDL a lancé le 17 octobre 2005 la Mobile Linux Initiative pour accélérer la progression de Linux dans ce domaine.

Réseaux et communication

Linux fait tourner plusieurs routeurs dont certains modèles de Linksys, ainsi que divers terminaux fournis par des fournisseurs d’accès à Internet (comme la Freebox, la Neufbox de SFR ou la Livebox en France).

Téléphones et assistants personnels

Linux se retrouve également sur une gamme de téléphones portables (Linux phones : Motorola), sur l’assistant personnel Sharp Zaurus et les tablettes Internet Nokia 770, Nokia N800 et Nokia N810. Dans le domaine des assistants de navigation personnels, les systèmes GPS autonomes de TomTom sont conçus à partir d’une plate-forme Linux. Le système d’exploitation pour mobile Android, webOS (éditée par Palm avant son rachat par HP), MeeGo mais aussi Maemo, utilisé sur le Nokia N900, possèdent tous un noyau Linux.

Multimédia

Linux est utilisé dans des lecteurs de salon DivX, des téléviseurs et des décodeurs TNT, sur les démos "3éme génération" comme la Dreambox et Vu+, sur des baladeurs audios comme ceux de SanDisk et sur les baladeurs multimédias d’Archos.

Console de jeu

La GP2X de GamePark, console de jeux vidéo portable

La Pandora (console), console de jeu open source qui a un système d’exploitation Linux compilé pour processeurs ARM

La PlayStation 3 de Sony pouvait utiliser Linux mais une mise à jour dite de sécurité a enlevé cette possibilité

Robotique

Le marché décollant des systèmes de robots ludiques utilise un OS Linux.

Linux et la sécurité

Linux permet une stricte séparation des privilèges. Une des conséquences est qu’un ver ou un virus informatique ne peut accéder qu’à une partie des ressources et fonctionnalités d’un système Linux, mais ni aux données importantes du système, ni aux données d’éventuels autres utilisateurs53.

Dans le domaine des serveurs, le degré de sécurité dépend, par comparaison, avant tout du degré d’expérience qu’a l’administrateur systèmes. Là, Linux marque des points grâce à sa liberté d’utilisation, qui permet sans risque et sans surcoût de tester abondamment divers scénarios sur d’autres ordinateurs, et d’y acquérir ainsi une expérience utile.

Il existe une série de distributions spécifiquement axées sur la sécurité, et des initiatives telles que SELinux de la National Security Agency. Mais il existe également une série de distribution axée sur l’anti-sécurité, comme Damn Vulnerable Linux ou BackTrack R1, pour sensibiliser les experts aux problématiques de sécurité sur ce système d’exploitation.

Linux supporte une grande variété de plates-formes matérielles, ainsi que de solutions logicielles. Une faille de sécurité touchant le plus populaire client de messagerie ne touchera qu’une fraction des utilisateurs de logiciels libres ; en revanche, une faille touchant Outlook Express pouvait toucher d’un coup une proportion énorme des utilisateurs de Windows. Cette thèse est développée dans un rapport écrit par des sommités du domaine comme Bruce Schneier pour le compte de la CIA et reprise par la société Gartner dans un document54. Ce rapport énonce que puisque la plupart des ordinateurs tournent sous un système d'exploitation de Microsoft, la plupart des ordinateurs du monde sont vulnérables aux mêmes virus et aux mêmes vers au même moment. Il propose pour éviter cela d’éviter la monoculture logicielle dans le domaine des systèmes d’exploitation.

Enfin, le fait que Linux et nombre de logiciels tournant sous Linux soient des logiciels libres permet que son code source soit étudié d’un œil critique par quiconque désirant le faire, que ce soit pour effectuer des adaptations, dans un cadre éducatif, pour répondre aux intérêts privés d’une entreprise ou une institution ou par simple intérêt personnel (pour en exploiter les vulnérabilités par exemple). En relation avec cela, on entend souvent l’argument que les failles de sécurité sont corrigées plus rapidement, affirmation approuvée et réfutée par diverses études, en fonction généralement de leur source de financement. Enfin, la liberté des logiciels rend inutile le recours au piratage des logiciels, aux cracks ou autres sites de warez très populaires parmi les adeptes des autres systèmes d’exploitation, et qui constituent un vecteur d’infection des ordinateurs.

Reste que Linux n’est pas totalement insensible aux problèmes de sécurité, comme l’a montré le ver Slapper en septembre 2002, premier du genre à toucher un nombre notable d’ordinateurs sous Linux, avant tout des serveurs web tournant sous Apache (6 000 à l’apogée du ver55).

De plus, Linux reste un système d’exploitation vulnérable56, ainsi, près de 4 900 vulnérabilités ont été recensées entre 2003 et 2008, celles-ci sont réparties sur les différentes distributions disponibles57. Celles-ci ont été, pour la plupart, corrigées assez rapidement.

En revanche, le nombre de failles découvertes durant une période précise n’est pas une mesure fiable pour déterminer la sécurité d’un système d’exploitation, il faut déterminer :

  • leur impact sur le système ;
  • et le temps de vulnérabilité du système58.

Gestion numérique des droits

La gestion des droits numériques (Digital Rights Management - DRM en anglais)note 1 concerne le domaine du multimédia, et notamment la musique et les vidéos qui peuvent être achetées sur Internet. Certaines œuvres sont protégées par des verrous numériques, visant à contrôler l’utilisation de l’œuvre, par exemple en limitant le nombre d’écoutes ou de copies possibles. Ces DRM nécessitent l’emploi d’une technologie particulière, qui est la propriété exclusive du fabricant et vendeur desdits DRM, ce qui explique que la lecture d’une œuvre protégée se trouve liée à l’utilisation d’un programme spécifique. Les deux plus grands fabricants de systèmes de gestion des droits numériques, Microsoft et Apple, conditionnent l’usage des œuvres protégées par leurs systèmes à l’utilisation respective du lecteur Windows Media, et de iTunes. Ces sociétés vendant leur propre système d’exploitation, elles ne souhaitent pas proposer de version de leurs programmes pour Linux. Ainsi, il n’est souvent pas possible pour les utilisateurs de Linux d’acheter en ligne de la musique sur un site de téléchargement payant, ou d’écouter de la musique déjà achetée et téléchargée.

Il existe aussi des DRM sur les CD audio, mais ceux-ci sont beaucoup moins standardisés et moins courants. La plupart sont conçus pour fonctionner avec les systèmes d’exploitation de Microsoft et sont donc susceptibles d’être inopérants pour un utilisateur de Linux.

Il ne s’agit pas de limitations techniques, puisque des systèmes de gestion libres existent60. Voir aussi Linus Torvalds, selon lequel Linux et la gestion des droits ne sont pas incompatibles61.

Critiques

Brad Spengler, développeur chez grsecurity, accuse le noyau Linux de centrer parfois ses efforts sur les fonctionnalités au détriment de la sécurité. Il prétend que Linus Torvalds lui aurait dit ne pas être intéressé par l’ajout d’options de sécurité utiles pour éviter des dépassements de tampon, car cela ralentirait le chargement des applications62.

Il reproche l’absence d’une personne chargée officiellement de la sécurité, avec qui il serait possible de communiquer en privé en toute sécurité. À la place, la seule solution est d’envoyer un courriel sur une liste de diffusion relative aux questions de sécurité où les failles découvertes sont parfois utilisées à des fins malveillantes avant qu’une mise à jour de sécurité ne soit diffusée, alors que les usagers de Linux ne sont pas au courant de l’existence de cette faille62.

Enfin, il remet en cause l’implantation du système LSM depuis la version 2.6 du noyau qui aurait été implanté par laxisme et qui faciliterait l’insertion de rootkits invisibles au sein du système en les faisant passer pour des modules de sécurité63, mais cette critique n’est plus d’actualité, grâce aux modifications apportées depuis la version 2.6.2464.

Notes et références

Références

  1. a et b (en) « The linux-kernel mailing list FAQ » , kernel.org, 17 octobre 2009.
  2. « The linux-kernel mailing list FAQ » , kernel.org, 17 octobre 2009.
  3. (en) « new UNIX implementation » , net.unix-wizards, 27 septembre 1983.
  4. (en) « My Lisp Experiences and the Development of GNU Emacs » , International Lisp Conference - Discours de Richard Stallman, 28 octobre 2002.
  5. a et b (en) « Personal Note from Richard Stallman » , Préface du manuel d'utilisation de la machibe Lisp du MIT, juin 1984.
  6. a et b « The Daemon, the Gnu, and the Penguin - Peter H. Salus», Reed Media Services, 2008.
  7. (en) groklaw.net  met en ligne une déclaration de Thomas Bushnell sur le noyau GNU.
  8. a, b et c « Richard Stallman et la révolution du logiciel libre » , forge.framabook.org, 21 janvier 2010.
  9. (en) « GNU/Linux FAQ by Richard Stallman » , gnu.org, 24 mai 2011.
  10. Release notes for Linux v0.12 
  11. la cathédrale et le bazaar , d’Eric S. Raymond.
  12. D’après Lars Wirzeniu dans une présentation donnée en 1998 : Linux Anecdotes 
  13. A Short History of Linux Distributions , 30 juin 2004, LWN.net (consulté le 28 juillet 2011)
  14. IBM investit un milliard de dollars en 2001 pour le développement de logiciels fonctionnant sous Linux. 
  15. La chronologie de RedHat Linux 
  16. Page Debian parlant d'Unifix et de son dérivé LINUX-FT 
  17. (en)POSIX.1 (FIPS 151-2) Certification de LINUX-FT 
  18. Federal Information Processing Standard
  19. (en) The 1.2.13 kernel certified POSIX.1 Kernel 1.3.59 passed certification tests 
  20. Page du site Debian parlant de la certification POSIX .
  21. Sur livecdlist.com , Knoppix est classé 5e sur 315 (au 1 février 2008)
  22. Pour la France, voir les articles L113-3 , L111-1  et L122-1  du code de la consommation sur Légifrance
  23. Detaxe.org  - Non à la vente liée des logiciels - Oui à l’information des consommateurs
  24. « Balade au pays ou Linux est préinstallé sur (presque) tous les ordinateurs », Roberto Di Cosmo, 2005, http://www.dicosmo.org/LPT/ 
  25. http://www.ubuntu.com/project/about-ubuntu 
  26. Microsoft annonce contribuer au noyau Linux avec 20 .000 lignes de code en GPL V2. 
  27. (en) « Microsoft Contributes Linux Drivers to Linux Community » 
  28. (en) http://www.gartner.com/it/page.jsp?id=1543014 
  29. (en) Les supercalculateurs les plus puissants de la planète et leur système d’exploitation  et les précédentes statistiques (depuis 1993) .
  30. http://w3techs.com/technologies/overview/operating_system/all 
  31. http://w3techs.com/technologies/details/os-unix/all/all 
  32. http://www.atinternet-institute.com/fr-fr/equipement-internaute/systemes-d-exploitation-avril-2010/index-1-1-7-197.html 
  33. a, b, c, d, e et f Statistiques d’après le site StatCounter GlobalStats , mis à jour le 23 juillet 2010.
  34. (fr) Toute la documentation Linux, en français, pour les commandes en mode texte : Tous les MAN et HOWTO Linux en Français 
  35. (en) Le manifeste de 1996 , montrant la nécessité d’un environnement de travail.
  36. Voir l’état des traductions de KDE sur l10n.kde.org  et de GNOME sur gnome.org 
  37. Voir les espaces de travail de KDE sur kde-artists.org  et de GNOME sur art.gnome.org 
  38. openusability , GNOME Human Interface Guidelines  et l’équivalent KDE  sont destinés à rendre plus simple et plus cohérente l’interface homme-machine.
  39. Deux projets : kde.openoffice.org  et www.gnome.org/projects/ooo/  ont permis l’intégration d’OpenOffice.org dans les deux environnements.
  40. (en) [PDF] Voir ce rapport  évaluant la prise en main de KDE 3.1 par des utilisateurs habitués à Microsoft Windows.
  41. Le site officiel de ToPaZ 
  42. Linux-pedia -liste de jeux 
  43. Wine : « Wine Is Not An Emulator » (en français « Wine n’est pas un émulateur »)
  44. Support UVC sur Linux et webcam supportées 
  45. Webcams Creative labes sur Creative Opensource 
  46. Ordinateur Dell vendu avec Linux préinstallés 
  47. Ultraportable Eee PC Asus avec Linux préinstallé 
  48. Statistiques sur les systèmes d’exploitation  utilisés par les superordinateurs
  49. Top 500 de novembre 2008 
  50. Top 500 de novembre 2009 
  51. (en) Jaguar sur le site du NCCS (National Center for Computational Sciences) . Consulté le 4 août 2010.
  52. http://www.gentoo.org/doc/en/handbook/draft/complete/handbook.xml?part=1&chap=2 
  53. (en) [PDF] CyberInsecurity: The cost of Monopoly , un document du CCIA dénonçant des dangers d’un système monopolitaire.
  54. (en) vnunet.com annonce l’évolution de Slapper  en septembre 2002.
  55. Bruce Schneier, 3 mai 2007 : « […] les produits et services informatiques ne sont pas naturellement sûrs ».
  56. Site recensant les failles de Linux. 
  57. (fr) Actualités ZDNET du 11 janvier 2006 
  58. (en) « Digital Restrictions Management and Treacherous Computing » , fsf.org, 18 septembre 2006.
  59. (de) Julius Stiebert: DRM-Spezifikationen von Sun  auf golem.de, 21. März 2006
  60. (de) Linus Torvalds: Flame Linus to a crisp!  auf der LinuxKernel-Mailing-Liste, 23. April 2003
  61. a et b (en) Developer Raps Linux Security 
  62. (en) politique envers le système LSM sur grsecurity.net 
  63. (en) Article sur lwn.net sur le passage en API statique de LSM 
23 octobre 2011

Tux

23 octobre 2011

Linus Benedict Torvalds

Linus Benedict Torvalds, né le 28 décembre 1969 à Helsinki en Finlande, est un informaticien américano-finlandais1. Il est connu pour avoir créé en 1991 le noyau Linux dont il continue à diriger le développement. Il en est considéré comme le « dictateur bienveillant ».

Biographie

Linus Torvalds fait partie de la communauté des Finlandais suédophones (Finlandssvensk), une population représentant 6 % des habitants de la Finlande. Son père, Nils Torvalds, est un politicien connu du Parti populaire suédois, le parti des suédophones finlandais.

Inspiré par le système Minix développé par Andrew S. Tanenbaum, il développa un noyau de système d'exploitation pour tirer pleinement parti des fonctionnalités de son nouvel ordinateur personnel, un compatible PC doté d'un microprocesseur Intel 80386. Ce noyau est celui du système d'exploitation GNU/Linux et est sous licence GPL.

Après avoir quitté l'Université d'Helsinki, Linus Torvalds a travaillé de février 1997 à juin 2003 chez Transmeta, une société de la Silicon Valley qui fabrique des microprocesseurs à faible consommation électrique. Chez Transmeta, il était autorisé à consacrer une partie de son temps au développement du noyau Linux. Il travaille actuellement à la Linux Fondation.

Il vit actuellement à Beaverton dans l'Oregon (États-Unis) avec sa femme Tove et leurs trois filles.

Contrairement à la majorité des adeptes du Logiciel Libre, Linus Torvalds reste relativement discret et refuse généralement de commenter les avantages et inconvénients des autres systèmes d'exploitation, comme le système Windows de Microsoft. Il réagit en revanche avec vigueur lorsque l'on remet en cause les qualités techniques de Linux. Sa discussion houleuse avec Andrew S. Tanenbaum opposant les noyaux Minix et Linux sur un choix de conception central (Micro-noyau contre Noyau monolithique) est d'ailleurs restée un exemple célèbre2.

Linus Torvalds a également créé le logiciel de gestion de versions Git, initialement prévu pour le développement du noyau Linux.

En septembre 2009, évoquant lors d'une intervention à la LinuxCon le développement de Linux, il déclare : « Nous n'avons certainement pas le noyau léger et hyper efficace, envisagé lorsque j'ai commencé à développer Linux »3. En septembre 2010, il obtient la nationalité américaine4.

La naissance de Linux

Le développement de Linux trouve son origine au début des années 1990. Linus Torvalds est alors étudiant à l'université d'Helsinki, et par pur plaisir, s'est procuré une machine dotée d'un processeur Intel 80386, l'un des premiers à avoir un jeu d'instruction 32 bits accessible au grand public. Il a acquis la documentation relative à ce processeur et le système d'exploitation Minix avec le livre d'Andrew S. Tanenbaum sur les systèmes d'exploitation pour profiter des performances de sa machine et acquérir de nouvelles compétences sur les systèmes Unix. Cependant, Linus Torvalds trouvait l'émulateur de terminal de Minix trop rudimentaire comme d'autres choses dans ce système, il décida donc d'écrire un émulateur de terminal notamment pour accéder aux machines de l'université.

Cet émulateur de terminal prend de l'importance et commence peu à peu à remplacer Minix au sein de son ordinateur. Cependant suite à une erreur de manipulation, il détruisit la partition contenant Minix et prit la décision de tout continuer sur cet émulateur de terminal. Au bout de quelques mois, ce logiciel devint un véritable noyau de système d'exploitation. Il décida de l'appeler Freax pour sa bizarrerie et le x pour Unix. Il diffusa le code de son travail à quelques privilégiés au début, dont celui qui ouvrit un compte FTP sur le site de l'université pour diffuser quand il voudrait son travail. Cependant ce dossier de stockage fut nommé « Linux » et ce nom a été conservé depuis.

Il diffusa le 25 août 1991 un message sur Usenet, désormais célèbre, annonçant la naissance d'un OS de sa part et qu'il souhaitait à terme des contributions. À la diffusion quelques semaines plus tard, Linux n'était pas un logiciel libre, juste un logiciel dont Linus Torvalds permettait la distribution gratuite et le report de bogues. Ce n'est que quelques années plus tard que Linus Torvalds rendit Linux libre, quand il sentit que la popularité de Linux le rendit indissociable de son créateur et qu'il ne courrait pas le risque de « perdre » son bébé. Les rapports de bogues donnèrent à Linus une raison de poursuivre le développement de Linux jusqu'à aujourd'hui car il aime les énigmes posées par le développement logiciel.

Mais au début du développement, il monopolisait la partie de USENET dédiée à Minix, ce qui irrita son concepteur Andrew S. Tanenbaum d'autant qu'il trouvait Linux techniquement obsolète. En effet, ce professeur à l'université d'Amsterdam était spécialisé sur la conception de systèmes d'exploitation. Minix était prévu pour permettre à un étudiant de comprendre rapidement son fonctionnement. Et pour Andrew, les noyaux des systèmes d'exploitation devaient être du type « micro-noyau » à l'opposition du noyau dit « monolithique » autour duquel fut développé Linux à l'origine. Ce débat technique était célèbre et a donné lieu à de nombreuses réponses houleuses des deux créateurs.

Suite à un dépôt de nom par un particulier, qui menaça les entreprises utilisant le nom de Linux de reverser des royalties, Linus décida de négocier à l'amiable pour ensuite déposer le nom de Linux à son nom pour éviter qu'une telle histoire se reproduise. En 1996, la communauté voulait une mascotte pour identifier Linux. Après des semaines de réflexions, Linus proposa un concours de dessin mettant en scène un manchot car c'est un animal qu'il appréciait et qui était vif et robuste (expérience qu'il a faite après avoir été mordu par un manchot dans un zoo en Australie). Le vainqueur fut Larry Ewing qui a fait le dessin à l'aide du logiciel libre GIMP, le manchot prit le nom de Tux. Tux fut remplacé une seule fois pour le noyau 2.6.29 par Tuz qui est un diable de Tasmanie en guise de soutien financier (lié à une campagne de dons) pour sauver ces animaux d'une épidémie.

De l'étudiant au symbole d'un mouvement

Au milieu des années 1990, la popularité de Linux fut exponentielle parmi les hackers. Les batailles juridiques entre BSD et AT&T et les retards de HURD ont fait de Linux le noyau libre le plus connu et le plus utilisé. Par la même occasion, le succès inattendu de Linux rendit Linus célèbre dans le mouvement des logiciels libres. Ce fut l'une des preuves de la réussite de ce mouvement. Pourtant, contrairement à Richard Stallman, il se moque de la liberté de Linux car ce qui l'intéresse c'est ce qui découle de cette liberté, à savoir la communauté de développeurs pour produire le meilleur logiciel possible, cela rendant les dialogues avec Richard Stallman très difficiles car ils ne voient pas les choses du même angle. Cependant, en 1998, le terme OpenSource popularisé par Eric Raymond convint parfaitement à Linus. La libération du code de Netscape pour donner Mozilla, le support de GNU/Linux par IBM et Oracle, et l'introduction en bourse des entreprises vendant du support pour GNU/Linux en pleine bulle Internet firent de Linus un millionnaire potentiel mais aussi un véritable gourou pour un nouveau système économique et un adversaire des entreprises comme Microsoft. Il fit ainsi la une des journaux économiques comme Forbes.

Durant cette période — en 1997 — il déménagea de son pays natal vers la Californie dans la Silicon Valley pour prendre un emploi chez Transmeta. Peu avant le déménagement, il finit ses études à l'université d'Helsinki à l'aide de sa thèse qu'il a écrite rapidement concernant la portabilité de Linux. Ce changement d'employeur à savoir d'une université à une entreprise dont on ignorait à l'époque les projets faisait planer le doute sur le développement de Linux au sein de la communauté et sur le rapport de Linus avec l'argent. Il refusa les postes des entreprises développant Linux comme Red Hat pour ne pas favoriser le développement de certaines technologies dans le noyau ou une distribution par rapport à d'autres. En juin 2003, il rejoignit la Linux Fondation pour se consacrer à Linux à plein temps.

Longtemps contre l'utilisation de logiciel de gestion de version, il utilisa pour Linux le logiciel BitKeeper en 2002 qui est propriétaire. La communauté réagit négativement comme Richard Stallman ou Alan Cox pour les plus emblématiques car cela remettait en cause l'éthique du logiciel libre au sein du projet. Seulement en 2005, la société qui fournissait BitKeeper retira la version gratuite ce qui força Linus à développer un logiciel maison — Git — pour le remplacer rapidement et l'adapter aux besoins du projet.

Livres

    Linus Torvalds, David Diamond : Just for Fun: The Story of an Accidental Revolutionary, New York, HarperBusiness, 2001, (ISBN 978-0-06-662072-5). Ce livre a été traduit en français :
    Linus Torvalds avec David Diamond : Il était une fois Linux : L'extraordinaire histoire d'une révolution accidentelle, OEM, 2001, (ISBN 978-2-7464-0321-5).
    Linus Torvalds, David Diamond : Linux, c'est gratuit ! Mais aidez-moi à l'installer, 2010, (ISBN 978-2-211-09589-1)

Hommage

    Les astéroïdes (9793) Torvalds et (9885) Linux ont été nommés en son honneur : le code source de Linux ayant été mis à disposition dès sa création, il fut utilisé par différents systèmes de mesure, de détection et d'analyse d'astéroïdes.

Notes et références

    ↑ http://pro.clubic.com/it-business/actualite-365034-linus-torvalds-citoyen-americain.html
    ↑ (en) « LINUX is obsolete » , Andrew S. Tanenbaum, 29 janvier 1992.
    ↑ « Torvalds : "Linux est devenu énorme et effrayant" » , Clubic, 22 septembre 2009.
    ↑ « Linus Torvalds devient citoyen américain » , Clubic, 15 septembre 2010.

Publicité
Publicité
1 2 3 > >>
Premiers pas virtuels vers le LPIC
Publicité
Archives
Publicité