POSS Chap 1 Part 1

Un article de Framalang Wiki.

Jump to: navigation, search

Retour à la page du projet

Pseudo Code Rôle Statut
Olivier OLV Traduction Terminé
Coeurgan CGN Relecture En cours
??? Validation


Sommaire

[modifier] History / Historique

[modifier] Intro

[modifier] §1

Software sharing has been around as long as software itself. In the early days of computers, manufacturers felt that competitive advantages were to be had mainly in hardware innovation, and therefore didn't pay much attention to software as a business asset. Many of the customers for these early machines were scientists or technicians, who were able to modify and extend the software shipped with the machine themselves. Customers sometimes distributed their patches back not only to the manufacturer, but to other owners of similar machines. The manufacturers often tolerated and even encouraged this: in their eyes, improvements to the software, from whatever source, just made the machine more attractive to other potential customers.


Le partage des logiciels est aussi ancien que les logiciels eux-mêmes. Dans les premiers temps des ordinateurs les fabricants ont vu que les avantages concurrentiels étaient principalement à prendre dans la production de matériel et du coup n'ont pas prêté beaucoup attention aux logiciels et à leurs avantages économiques. Un grand nombre d'acheteurs de ces premières machines étaient des scientifiques ou des techniciens qui étaient capables de modifier et d'améliorer eux-mêmes les logiciels livrés avec les machines. Parfois les clients distribuaient leurs correctifs non seulement aux fabricants mais aussi aux autres propriétaires de machines semblables. Les fabricants toléraient, voir encourageaient ceci : pour eux, l'amélioration des logiciels, peu importe la source, rendait leurs machines plus attrayantes aux yeux d'autres acheteurs potentiels.

[modifier] §2

Although this early period resembled today's free software culture in many ways, it differed in two crucial respects. First, there was as yet little standardization of hardware-it was a time of flourishing innovation in computer design, but the diversity of computing architectures meant that everything was incompatible with everything else. Thus, software written for one machine would generally not work on another. Programmers tended to acquire expertise in a particular architecture or family of architectures (whereas today they would be more likely to acquire expertise in a programming language or family of languages, confident that their expertise will be transferable to whatever computing hardware they happen to find themselves working with). Because a person's expertise tended to be specific to one kind of computer, their accumulation of expertise had the effect of making that computer more attractive to them and their colleagues. It was therefore in the manufacturer's interests for machine-specific code and knowledge to spread as widely as possible.

Bien que cette période ressemblât à la culture des logiciels libres d'aujourd'hui sous de nombreux aspects, elle en déviait sur deux points importants. Premièrement la standardisation du matériel n'était pas vraiment à l'ordre du jour, c'était une époque d'innovation florissante pour la fabrication d'ordinateurs, mais la diversité des architectures informatiques signifiait que rien n'était compatible. Ainsi, les logiciels écrits pour une machine en général ne fonctionnaient pas sur une autre. Les programmeurs avaient tendance à se spécialiser dans une architecture ou dans une famille d'architectures (alors qu'aujourd'hui ils auraient plutôt tendance à se spécialiser dans un langage de programmation ou une famille de langages, confiants que leur savoir sera transférable sur n'importe quel système auquel ils se trouveraient confrontés). Parce que le savoir d'une personne avait tendance à être spécifique à un type d'ordinateur, leur accumulation de savoir rendait ce type d'ordinateur plus attirant à leurs yeux et à ceux de leurs collègues. C'était alors dans l'intérêt du constructeur de voir les codes et connaissances spécifiques à sa machine se répandre le plus possible.

[modifier] §3

Second, there was no Internet. Though there were fewer legal restrictions on sharing than today, there were more technical ones: the means of getting data from place to place were inconvenient and cumbersome, relatively speaking. There were some small, local networks, good for sharing information among employees at the same research lab or company. But there remained barriers to overcome if one wanted to share with everyone, no matter where they were. These barriers were overcome in many cases. Sometimes different groups made contact with each other independently, sending disks or tapes through land mail, and sometimes the manufacturers themselves served as central clearing houses for patches. It also helped that many of the early computer developers worked at universities, where publishing one's knowledge was expected. But the physical realities of data transmission meant there was always an impedance to sharing, an impedance proportional to the distance (real or organizational) that the software had to travel. Widespread, frictionless sharing, as we know it today, was not possible.

Deuxièmement, il n'y avait pas d'Internet. Bien qu'il y avait moins de restrictions légales vis à vis du partage qu'aujourd'hui il y en avait plus sur le plan technique. Les moyens pour transporter les données d'un endroit à un autre étaient peu pratiques et encombrants par rapport à maintenant. Il existait des petits réseaux locaux, pratique pour partager des informations entre les employés du même laboratoire de recherche ou de la même entreprise. Mais il restait des barrières à surmonter si on voulait partager avec tout le monde en s'affranchissant des contraintes géographiques. Ces barrières ont été surmontées dans beaucoup de cas. Parfois des groupes entraient en contact les uns avec les autres indépendamment, en s'envoyant des disquettes ou des cassettes par courrier et parfois les fabricants eux-mêmes centralisaient les correctifs. Un point positif était qu'une grande partie des premiers développeurs travaillaient dans des universités où la publication des connaissances d'une personne est attendue. Mais les réalités physiques de l'échange de données entraînaient un temps de latence dans l'échange, un retard proportionnel à la distance (physique ou organisationnelle) que le logiciel avait à parcourir. Le partage souple et à grande échelle, comme nous le connaissons aujourd'hui, n'était pas possible alors.

[modifier] The Rise of Proprietary Software and Free Software/ L'avènement des logiciels propriétaires et des logiciels libres

[modifier] §4

As the industry matured, several interrelated changes occurred simultaneously. The wild diversity of hardware designs gradually gave way to a few clear winners-winners through superior technology, superior marketing, or some combination of the two. At the same time, and not entirely coincidentally, the development of so-called " high level " programming languages meant that one could write a program once, in one language, and have it automatically translated ("compiled ") to run on different kinds of computers. The implications of this were not lost on the hardware manufacturers: a customer could now undertake a major software engineering effort without necessarily locking themselves into one particular computer architecture. When this was combined with the gradual narrowing of performance differences between various computers, as the less efficient designs were weeded out, a manufacturer that treated its hardware as its only asset could look forward to a future of declining profit margins. Raw computing power was becoming a fungible good, while software was becoming the differentiator. Selling software, or at least treating it as an integral part of hardware sales, began to look like a good strategy.

À mesure que l'industrie mûrissait plusieurs changements liés se sont produits en même temps. Dans la jungle des normes matérielles certains se sont imposés grâce à une meilleure technologie, une meilleure stratégie ou la combinaison des deux. En même temps, et pas entièrement par hasard, le développement de langages de programmation dits de « haut niveau » signifiait que l'on pouvait écrire un programme une unique fois, dans un langage, et le voir automatiquement traduit (compilé) pour qu'il puisse fonctionner sur différents types d'ordinateurs. Les constructeurs de matériel n'ont pas manqué de voir les implications que cela avait : un client pouvait à partir de ce moment entreprendre un travail considérable d'ingénierie logicielle sans s'enchaîner nécessairement à une architecture particulière. Ceci, couplé au rétrécissement des écarts de performances entre les différents ordinateurs étant donné que les conceptions les moins performantes étaient évincées, un fabriquant qui misait tout sur le matériel pouvait s'attendre à voir baisser ses marges dans un futur proche. La puissance brute des ordinateurs n'était plus suffisante pour créer un avantage décisif, les logiciels prenaient ce rôle. Vendre des logiciels, ou au moins leur donner la même importance qu'aux ventes de matériel, commençait à ressembler à la bonne stratégie.

[modifier] §5

This meant that manufacturers had to start enforcing the copyrights on their code more strictly. If users simply continued to share and modify code freely among themselves, they might independently reimplement some of the improvements now being sold as " added value " by the supplier. Worse, shared code could get into the hands of competitors. The irony is that all this was happening around the time the Internet was getting off the ground. Just when truly unobstructed software sharing was finally becoming technically possible, changes in the computer business made it economically undesirable, at least from the point of view of any single company. The suppliers clamped down, either denying users access to the code that ran their machines, or insisting on non-disclosure agreements that made effective sharing impossible.

Cela signifiait que les fabriquants devaient commencer à faire respecter le droit d'auteur sur leur code de manière plus stricte. Si les utilisateurs continuaient à partager et modifier le code de manière libre entre eux ils pourraient reproduire certaines des améliorations qui étaient désormais vendues comme de la « valeur ajoutée » par le fournisseur. Pire encore, le code partagé pourrait tomber dans les mains des concurrents. L'ironie est que tout ceci se passait à l'époque où Internet commençait à pointer son nez. Alors même que le partage de logiciel sans obstacle devenait enfin techniquement possible, des modifications dans le commerce des ordinateurs l'ont rendu économiquement indésirable, tout du moins du point de vue de n'importe quelle entreprise. Les fournisseurs ont renforcés leurs positions, soit en refusant aux utilisateurs l'accès au code qui faisait fonctionner leurs machines, soit en imposant des accords de confidentialité qui rendaient tout partage impossible.

[modifier] Conscious resistance / Résistance consciente

[modifier] §6

As the world of unrestricted code swapping slowly faded away, a counterreaction crystallized in the mind of at least one programmer. Richard Stallman worked in the Artificial Intelligence Lab at the Massachusetts Institute of Technology in the 1970s and early '80s, during what turned out to be a golden age and a golden location for code sharing. The AI Lab had a strong " hacker ethic ",[3] and people were not only encouraged but expected to share whatever improvements they made to the system. As Stallman wrote later:

Alors que le monde du libre échange de code s'affaiblissait, l'idée d'une riposte a germé dans l'esprit d'au moins un programmeur. Richard Stallman travaillait au laboratoire d'intelligence artificielle au MIT (Massachusetts Institue of Technology) dans les années 70 et au début de années 80, durant une période qui s'est révélée être l'âge d'or du partage de code. Le laboratoire avait une forte « éthique de hacker » [3] et les gens n'étaient pas seulement encouragés à partager les améliorations qu'ils avaient pu apporter au système, c'était ce qu'on attendait d'eux. Comme Stallman écrivit plus tard :
--Coeurgan 29 avril 2007 à 18:58 (CEST): counterreaction->riposte

[modifier] §7

   We did not call our software " free software ", because that term did not yet exist; but that is what it was. Whenever people from another university or a company wanted to port and use a program, we gladly let them. If you saw someone using an unfamiliar and interesting program, you could always ask to see the source code, so that you could read it, change it, or cannibalize parts of it to make a new program.
   (from http://www.gnu.org/gnu/thegnuproject.html)
   Nous n'appelions pas nos logiciels « logiciels libres » parce que ce terme n'existait pas, mais c'est bien ce que c'était. Si des gens d'une autre université ou d'une entreprise voulait utiliser nos programmes nous leur en donnions volontiers la permission. Si vous voyiez quelqu'un utiliser un programme intéressant que vous n'aviez jamais vu, vous pouviez toujours lui en demander le code source, pour que vous puissiez le lire, le modifier ou en piller une partie pour faire un nouveau programme.
  
     (tiré de : http://www.gnu.org/gnu/thegnuproject.html)

[modifier] §8

This Edenic community collapsed around Stallman shortly after 1980, when the changes that had been happening in the rest of the industry finally caught up with the AI Lab. A startup company hired away many of the Lab's programmers to work on an operating system similar to what they had been working on at the Lab, only now under an exclusive license. At the same time, the AI Lab acquired new equipment that came with a proprietary operating system.
Cette communauté utopique s'est effondrée autour de Stallman peu après 1980, quand le laboratoire a finalement été rattrapé par les modifications qui s'opéraient dans le reste de l'industrie. Une startup débaucha de nombreux programmeurs du laboratoire pour travailler sur un système d'exploitation proche de celui sur lequel ils travaillaient au laboratoire, mais désormais sous licence exclusive. Au même moment le laboratoire a fait l'acquisition de nouveaux équipements livrés avec un système d'exploitation propriétaire.

[modifier] §9

Stallman saw the larger pattern in what was happening:

The modern computers of the era, such as the VAX or the 68020, had their own operating systems, but none of them were free software:    
you had to sign a nondisclosure agreement even to get an executable copy.
This meant that the first step in using a computer was to promise not to help your neighbor. A cooperating community was forbidden.  
The rule made by the owners of proprietary software was, " If you share with your neighbor, you are a pirate. If you want any changes, 
beg us to make them. " 

Stallman voyait le grand schéma qui se dessinait :

Les ordinateurs modernes de ce temps, comme le VAX ou le 68020 avaient leur propre système d'exploitation, mais aucun d'eux n'était un  logiciel libre, vous deviez signer un accord de confidentialité même pour en obtenir une copie fonctionnelle.
  
Ce qui signifiait que la première démarche à faire pour utiliser un ordinateur était de promettre de ne pas aider son voisin. Une  communauté coopérative était interdite. La règle mise en place par les créateurs des logiciels propriétaires était : « Si vous partagez  avec votre voisin vous êtes un pirate. Si vous désirez des changements suppliez nous de les faire ».

[modifier] §10

By some quirk of personality, he decided to resist the trend. Instead of continuing to work at the now-decimated AI Lab, or taking a job writing code at one of the new companies, where the results of his work would be kept locked in a box, he resigned from the Lab and started the GNU Project and the Free Software Foundation (FSF). The goal of GNU[4] was to develop a completely free and open computer operating system and body of application software, in which users would never be prevented from hacking or from sharing their modifications. He was, in essence, setting out to recreate what had been destroyed at the AI Lab, but on a world-wide scale and without the vulnerabilities that had made the AI Lab's culture susceptible to disintegration.

De par sa personnalité, il a décidé de s'opposer à cette tendance. Plutôt que de continuer à travailler dans un laboratoire bien amoindri ou de trouver un emploi de programmeur dans l'une de ces nouvelles compagnies où les fruits de son travail seraient maintenus dans une boîte, il a démissionné pour lancer le projet GNU et la Free Software Foundation (FSF). Le but du projet GNU [4] était de développer un système d'exploitation pour ordinateur complètement libre et ouvert ainsi qu'un ensemble d'applications logiciels dans lequel les utilisateurs ne seraient jamais empêchés d'hacker ou de partager leurs modifications. Il entreprenait en fait de recréer ce qui avait été détruit au laboratoire d'intelligence artificielle mais à l'échelle mondiale et sans les points faibles à l'origine de la destruction de l'esprit du laboratoire.

[modifier] §11

In addition to working on the new operating system, Stallman devised a copyright license whose terms guaranteed that his code would be perpetually free. The GNU General Public License (GPL) is a clever piece of legal judo: it says that the code may be copied and modified without restriction, and that both copies and derivative works (i.e., modified versions) must be distributed under the same license as the original, with no additional restrictions. In effect, it uses copyright law to achieve an effect opposite to that of traditional copyright: instead of limiting the software's distribution, it prevents anyone, even the author, from limiting it. For Stallman, this was better than simply putting his code into the public domain. If it were in the public domain, any particular copy of it could be incorporated into a proprietary program (as has also been known to happen to code under permissive copyright licenses). While such incorporation wouldn't in any way diminish the original code's continued availability, it would have meant that Stallman's efforts could benefit the enemy-proprietary software. The GPL can be thought of as a form of protectionism for free software, because it prevents non-free software from taking full advantage of GPLed code. The GPL and its relationship to other free software licenses are discussed in detail in Chapter 9, Licenses, Copyrights, and Patents.

En plus de travailler sur le nouveau système d'exploitation, Stallman conçut une licence dont les termes garantirait que son code reste libre à tout jamais. La GNU General Public License (GPL) est une pirouette légale bien pensée : elle dit que le code peut être copié et modifié sans restriction et que les copies et le travail qui en est dérivée (c'est-à-dire les versions modifiées) doivent être distribuées sous la même licence que l'original sans y ajouter de restrictions. En fait, elle utilise les lois du droit d'auteur pour atteindre l'effet opposé du copyright traditionnel : plutôt que de limiter la diffusion du logiciel elle empêche quiconque, même l'auteur, de la limiter. Pour Stallman ça valait mieux que de simplement placer son code dans le domaine public. S'il avait fait parti du domaine public, n'importe quelle copie aurait pu être incorporée dans un programme propriétaire (ce qui s'est passé avec du code publié sous des licences trop permissives). Même si cette incorporation ne diminuerait en rien la disponibilité continue du code originel cela aurait signifié que les efforts de Stallman auraient pu profiter à l'ennemi, le logiciel propriétaire. La GPL peut être vue comme une forme de protectionnisme pour le logiciel libre car elle empêche les logiciels non-libres de profiter du code sous licence GPL. La GPL et ses relations avec d'autres licences de logiciels libres sont présentées en détails dans le Chapitre 9, Licences, Droits d'auteurs et Brevets.

[modifier] §12

With the help of many programmers, some of whom shared Stallman's ideology and some of whom simply wanted to see a lot of free code available, the GNU Project began releasing free replacements for many of the most critical components of an operating system. Because of the now-widespread standardization in computer hardware and software, it was possible to use the GNU replacements on otherwise non-free systems, and many people did. The GNU text editor (Emacs) and C compiler (GCC) were particularly successful, gaining large and loyal followings not on ideological grounds, but simply on their technical merits. By about 1990, GNU had produced most of a free operating system, except for the kernel-the part that the machine actually boots up, and that is responsible for managing memory, disk, and other system resources.

Avec l'aide de nombreux développeurs, certains d'entre eux partageant l'idéologie de Stallman et d'autres voulant simplement voir un maximum de code libre disponible, le projet GNU commença à produire des équivalents libres pour beaucoup d'éléments importants d'un système d'exploitation. Grâce à la standardisation du matériel informatique et des logiciels il était devenu possible d'utiliser les équivalents GNU sur des systèmes non-libres et beaucoup de gens l'ont fait. L'éditeur de texte GNU (Emacs) et le compileur C (GCC) en particulier ont rencontré le succès, rassemblant, non pour l'idéologie qu'ils véhiculaient mais simplement pour leurs mérites techniques, une grande communauté d'utilisateurs loyaux . A l'orée de 1990 GNU avait produit l'essentiel d'un système d'exploitation libre à l'exception du noyau (la partie sur laquelle démarre la machine et qui est en charge de la gestion de la mémoire, des disques et des autres ressources systèmes).

[modifier] §13

Unfortunately, the GNU project had chosen a kernel design that turned out to be harder to implement than expected. The ensuing delay prevented the Free Software Foundation from making the first release of an entirely free operating system. The final piece was put into place instead by Linus Torvalds, a Finnish computer science student who, with the help of volunteers around the world, had completed a free kernel using a more conservative design. He named it Linux, and when it was combined with the existing GNU programs, the result was a completely free operating system. For the first time, you could boot up your computer and do work without using any proprietary software.[5]

Malheureusement le projet GNU avait fait le choix d'une conception du noyau qui s'est révélée plus difficile à mettre en œuvre que prévu. Le retard qui s'ensuivit a empêché la Free Software Foundation de sortir le premier système d'exploitation libre. La dernière pièce a été mise en place finalement par Linus Torvalds, un étudiant en informatique finlandais qui, avec l'aide de volontaires du monde entier, avait compilé un noyau libre de conception plus classique. Il le nomma Linux et lorsqu'il fût combiné aux programmes GNU existants il en résulta un système d'exploitation entièrement libre. Pour la première fois vous pouviez allumer votre ordinateur et travailler sans utiliser un seul logiciel propriétaire.[5]

[modifier] §14

Much of the software on this new operating system was not produced by the GNU project. In fact, GNU wasn't even the only group working on producing a free operating system (for example, the code that eventually became NetBSD and FreeBSD was already under development by this time). The importance of the Free Software Foundation was not only in the code they wrote, but in their political rhetoric. By talking about free software as a cause instead of a convenience, they made it difficult for programmers not to have a political consciousness about it. Even those who disagreed with the FSF had to engage the issue, if only to stake out a different position. The FSF's effectiveness as propagandists lay in tying their code to a message, by means of the GPL and other texts. As their code spread widely, that message spread as well.

La plupart des logiciels de ce nouveau système d'exploitation n'étaient pas produits par le projet GNU. En fait, GNU n'était même pas le seul groupe travaillant à l'élaboration d'un système d'exploitation libre (par exemple, le code qui deviendra NetBSD et FreeBSD était déjà en développement à cette époque). L'importance de la Free Software Foundation ne résidait pas uniquement dans le code qu'ils écrivaient mais aussi dans leurs discours politiques. En mettant en avant le logiciel libre comme une cause à part entière et pas simplement comme une commodité, ils lui ont donné une dimension politique difficile à ignorer par les programmeurs. Même les gens en désaccord avec la FSF ont dû traiter de ce problème, même si c'était pour revendiquer une position différente. L'efficacité du message de la FSF tient au fait qu'il est lié au code grâce à la GPL et d'autres textes. Alors que leur code se répand largement, le message se répand également.

[modifier] Accidental resistance / Résistance accidentelle

[modifier] §15

There were many other things going on in the nascent free software scene, however, and few were as explictly ideological as Stallman's GNU Project. One of the most important was the Berkeley Software Distribution (BSD), a gradual re-implementation of the Unix operating system-which up until the late 1970's had been a loosely proprietary research project at AT&T-by programmers at the University of California at Berkeley. The BSD group did not make any overt political statements about the need for programmers to band together and share with one another, but they practiced the idea with flair and enthusiasm, by coordinating a massive distributed development effort in which the Unix command-line utilities and code libraries, and eventually the operating system kernel itself, were rewritten from scratch mostly by volunteers. The BSD project became a prime example of non-ideological free software development, and also served as a training ground for many developers who would go on to remain active in the Open Source world.

La scène du logiciel libre naissante était très active cependant et peu de projets étaient aussi explicitement idéologiques que le projet GNU de Stallman. L'un des plus importants était le projet Berkeley Software Distribution (BSD), une ré-implantation graduelle du système d'exploitation Unix, qui jusqu'à la fin des années 70 avait été un projet de recherche vaguement propriétaire chez AT&T, par des programmeurs à l'Université de Californie à Berkeley. Le groupe BSD n'a pas pris ouvertement position sur la nécessité des programmeurs de s'unir et de partager, mais ils ont mis en pratique cette idée avec style et enthousiasme en coordonnant un gros effort de développement coopératif grâce auquel les lignes de commande des utilitaires Unix, les librairies de code et finalement le noyau du système d'exploitation lui-même ont été ré-écrits entièrement, principalement par des volontaires. Le projet BSD est devenu un exemple important de développement non idéologique de logiciel libre et a également servi de terrain d'entraînement à de nombreux développeurs qui continueront par la suite à être actifs dans le monde de l'Open Source.

[modifier] §16

Another crucible of cooperative development was the X Window System, a free, network-transparent graphical computing environment, developed at MIT in the mid-1980's in partnership with hardware vendors who had a common interest in being able to offer their customers a windowing system. Far from opposing proprietary software, the X license deliberately allowed proprietary extensions on top of the free core-each member of the consortium wanted the chance to enhance the default X distribution, and thereby gain a competitive advantage over the other members. X Windows[6] itself was free software, but mainly as a way to level the playing field between competing business interests, not out of some desire to end the dominance of proprietary software. Yet another example, predating the GNU project by a few years, was TeX, Donald Knuth's free, publishing-quality typesetting system. He released it under a license that allowed anyone to modify and distribute the code, but not to call the result " TeX " unless it passed a very strict set of compatibility tests (this is an example of the " trademark-protecting " class of free licenses, discussed more in Chapter 9, Licenses, Copyrights, and Patents). Knuth wasn't taking a stand one way or the other on the question of free-versus-proprietary software, he just needed a better typesetting system in order to complete his real goal-a book on computer programming-and saw no reason not to release his system to the world when done.

Un autre nid de développement coopératif a été le système X Window, un environnement graphique, libre et transparent au réseau, développé au MIT au milieu des années 80 en partenariat avec des vendeurs de matériel qui partageaient un intérêt commun à pouvoir proposer à leur client un système graphique. Loin de s'opposer aux logiciels propriétaires, la licence X permettait délibérément l'ajout d'extensions propriétaires sur le cœur libre du système, chaque membre du consortium souhaitant pouvoir améliorer la distribution X de base et par ce moyen obtenir un avantage concurrentiel sur les autres membres. X Windows [6] en lui même était un logiciel libre, mais principalement de manière à ce que tous les concurrents partent sur un pied d'égalité, n'y voyez pas un quelconque désir de mettre un terme à l'hégémonie des logiciels propriétaires. Un autre exemple, devançant le GNU Project de quelques années était TeX, le système de traitement de texte libre permettant la création de documents de grande qualité de Donald Knuth. Il l'a publié sous une licence permettant à quiconque de modifier et de distribuer le code mais qui interdisait de nommer le résultat « TeX » s'il n'avait pas passé une série de tests de compatibilité stricts (c'est là un exemple d'une licence libre de « protection de marque déposée » dont nous parlerons plus dans le Chapitre 9, Licences, droits d'auteur et brevets). Knuth ne prenait position, ni dans un sens ni dans l'autre, sur la question des logiciels libres contre les logiciels propriétaires, tout ce qu'il cherchait était juste un meilleur traitement de texte pour achever son véritable but, un livre sur la programmation informatique, et ne voyait pas de raison de ne pas offrir son système au monde une fois celui-ci prêt.

[modifier] §17

Without listing every project and every license, it's safe to say that by the late 1980's, there was a lot of free software available under a wide variety of licenses. The diversity of licenses reflected a corresponding diversity of motivations. Even some of the progammers who chose the GNU GPL were much less ideologically driven than the GNU project itself. Although they enjoyed working on free software, many developers did not consider proprietary software a social evil. There were people who felt a moral impulse to rid the world of " software hoarding " (Stallman's term for non-free software), but others were motivated more by technical excitement, or by the pleasure of working with like-minded collaborators, or even by a simple human desire for glory. Yet by and large these disparate motivations did not interact in destructive ways. This is partly because software, unlike other creative forms like prose or the visual arts, must pass semi-objective tests in order to be considered successful: it must run, and be reasonably free of bugs. This gives all participants in a project a kind of automatic common ground, a reason and a framework for working together without worrying too much about qualifications beyond the technical.

Sans faire une liste de tous les projets et de toutes les licences on peut dire qu'arrivé à la fin des années 80 il y avait beaucoup de logiciels disponibles sous une grande variété de licences. La diversité des licences reflétait la diversité des motivations. Même certains des programmeurs qui choisissaient la GNU GPL n'étaient pas autant poussés par leur idéologie que le projet GNU lui-même. Même s'ils appréciaient travailler sur des logiciels libres, de nombreux développeurs ne considéraient pas les logiciels propriétaires comme le diable. Certaines personnes ressentaient un besoin moral de débarrasser le monde des « logiciels panneaux d'affichage » (appellation de Stallman pour les logiciels propriétaires), mais d'autres étaient motivés plutôt par l'émulation technique ou par le plaisir de travailler avec des collaborateurs partageant leurs idées ou même par le simple désir de gloire de l'Homme. Cependant dans l'ensemble ces motivations diverses n'interagissaient pas de manière destructive. C'est en parti dû au fait que les logiciels, contrairement à d'autres œuvres créatives comme la prose ou les arts visuels, doivent réussir des tests semi-objectifs pour être considérés comme des succès : ils doivent fonctionner et ne pas comporter trop de bogues. Cela donne aux participants du projet une base commune, une raison et un cadre pour travailler ensemble sans trop se préoccuper de leurs qualifications autres que leurs qualifications techniques.

[modifier] §18

Developers had another reason to stick together as well: it turned out that the free software world was producing some very high-quality code. In some cases, it was demonstrably technically superior to the nearest non-free alternative; in others, it was at least comparable, and of course it always cost less. While only a few people might have been motivated to run free software on strictly philosophical grounds, a great many people were happy to run it because it did a better job. And of those who used it, some percentage were always willing to donate their time and skills to help maintain and improve the software.

Les développeurs avaient une autre raison de rester unis : il s'est avéré que le monde des logiciels libres produisait du code de très bonne qualité. Dans certains cas, ils étaient visiblement techniquement supérieurs à leur équivalent non-libre le plus proche, dans d'autres cas ils étaient au moins comparable et bien sûr toujours à moindre coût. Alors que seulement quelques personnes auraient été motivées pour produire des logiciels libres simplement pour des raisons philosophiques il y en avait bien plus qui étaient heureux de le faire pour les meilleurs résultats obtenus. Et parmi les utilisateurs il y en avait toujours un certain pourcentage prêt à faire don de leur temps et de leurs compétences pour aider à entretenir et améliorer le logiciel.

[modifier] §19

This tendency to produce good code was certainly not universal, but it was happening with increasing frequency in free software projects around the world. Businesses that depended heavily on software gradually began to take notice. Many of them discovered that they were already using free software in day-to-day operations, and simply hadn't known it (upper management isn't always aware of everything the IT department does). Corporations began to take a more active and public role in free software projects, contributing time and equipment, and sometimes even directly funding the development of free programs. Such investments could, in the best scenarios, repay themselves many times over. The sponsor only pays a small number of expert programmers to devote themselves to the project full time, but reaps the benefits of everyone's contributions, including work from unpaid volunteers and from programmers being paid by other corporations.

Cette tendance à produire du bon code n'était certainement pas universelle, mais cela se produisait à une fréquence en hausse dans les logiciels libres de part le monde. Les entreprises très dépendantes des logiciels ont commencé à le remarquer petit à petit. Beaucoup d'entre elles ont découvert qu'elles utilisaient déjà des logiciels libres pour leurs opérations de tous les jours sans le savoir (les dirigeants ne sont pas toujours au courant des choix de leur service informatique). Les sociétés ont commencé à plus s'impliquer dans les projets de logiciels libres, mettant à disposition du temps et leurs équipements et même parfois en finançant le développement de logiciels libres. De tels investissements peuvent, dans le meilleur des cas, rapporter de nombreuses fois la mise de fonds. Le commanditaire ne paie qu'un nombre réduit de programmeurs experts pour qu'ils s'engagent à plein temps dans le projet mais récolte les fruits de la collaboration de tous, y compris le travail de bénévoles et des programmeurs payés par d'autres sociétés.

[modifier] " Free " Versus " Open Source " / « Libre » contre « Open Source »

[modifier] §20

As the corporate world gave more and more attention to free software, programmers were faced with new issues of presentation. One was the word " free " itself. On first hearing the term " free software " many people mistakenly think it means just " zero-cost software. " It's true that all free software is zero-cost,[7] but not all zero-cost software is free. For example, during the battle of the browsers in the 1990s, both Netscape and Microsoft gave away their competing web browsers at no charge, in a scramble to gain market share. Neither browser was free in the " free software " sense. You couldn't get the source code, and even if you could, you didn't have the right to modify or redistribute it.[8] The only thing you could do was download an executable and run it. The browsers were no more free than shrink-wrapped software bought in a store; they merely had a lower price.

Alors que le monde de l'entreprise commençait à prêter de plus en plus attention aux logiciels libres, les programmeurs se retrouvèrent devant de nouveaux problèmes d'image. L'un d'entre eux était le mot « free » lui-même. En entendant pour la première fois « free software » ils étaient nombreux à penser, à tort, que cela voulait dire « logiciel gratuit ». S'il est vrai que tous les logiciels libres ne coûtent rien [7], tous les logiciels gratuits ne sont pas libres. Par exemple, durant la bataille des navigateurs dans les années 90, Netscape et Microsoft offraient leurs navigateurs Web gratuitement dans leur guerre aux parts de marché. Aucun des deux n'était libre dans le sens des « logiciels libres ». Vous ne pouviez pas obtenir le code source et même si vous y parveniez vous n'aviez pas le droit de le modifier ni de le redistribuer[8]. Vous pouviez tout juste télécharger un exécutable et le lancer. Les navigateurs n'étaient pas plus libres que les logiciels sous film plastique achetés en magasin. Tout au plus, ils étaient diffusés à un prix inférieur.

[modifier] §21

This confusion over the word " free " is due entirely to an unfortunate ambiguity in the English language. Most other tongues distinguish low prices from liberty (the distinction between gratis and libre is immediately clear to speakers of Romance languages, for example). But English's position as the de facto bridge language of the Internet means that a problem with English is, to some degree, a problem for everyone. The misunderstanding around the word " free " was so prevalent that free software programmers eventually evolved a standard formula in response: " It's free as in freedom-think free speech, not free beer. " Still, having to explain it over and over is tiring. Many programmers felt, with some justification, that the ambiguous word " free " was hampering the public's understanding of this software.

La confusion sur le mot « free » est entièrement due à l'ambivalence malheureuse du terme en anglais. La plupart des autres langues font une distinction entre la notion de prix et de liberté (la différence entre gratuit et libre est évidente pour ceux parlant une langue romane par exemple). Mais l'anglais étant de facto la langue d'échange sur Internet, ce problème spécifique à cette langue concerne, à un certain degré, tout le monde. L'incompréhension liée au mot « free » était tellement importante que les programmeurs de logiciels libres ont fini par créer une formule en réponse : « C'est free (libre) comme dans freedom (liberté), pensez à free speech (liberté de parole), pas à free beer (bière gratuite) ». Mais quand même, devoir l'expliquer sans cesse est fatigant. De nombreux programmeurs ressentaient, à juste titre, que l'ambiguïté du mot « free » rendait plus difficile la compréhension par le public de ce type de logiciels.

[modifier] §22

But the problem went deeper than that. The word " free " carried with it an inescapable moral connotation: if freedom was an end in itself, it didn't matter whether free software also happened to be better, or more profitable for certain businesses in certain circumstances. Those were merely pleasant side effects of a motive that was, at bottom, neither technical nor mercantile, but moral. Furthermore, the " free as in freedom " position forced a glaring inconsistency on corporations who wanted to support particular free programs in one aspect of their business, but continue marketing proprietary software in others.

Mais le problème était plus profond que cela. Le mot « libre » était vecteur d'une connotation morale à laquelle il ne pouvait réchapper : si la liberté était une fin en elle-même ce n'était pas important si les logiciels libres se trouvaient être meilleurs également ou plus profitables pour certaines sociétés dans certaines circonstances. Ce n'étaient là que des effets secondaires bienvenus d'une motivation qui, au fond, n'était ni technique ni commerciale mais morale. De plus, l'idée « Libre comme dans liberté » imposait une incompatibilité criante pour les sociétés qui voulaient soutenir certains logiciels libres, en particulier pour une branche de leur écosystème, mais qui voulaient continuer à commercialiser des logiciels propriétaires dans d'autres branches.

[modifier] §23

These dilemmas came to a community that was already poised for an identity crisis. The programmers who actually write free software have never been of one mind about the overall goal, if any, of the free software movement. Even to say that opinions run from one extreme to the other would be misleading, in that it would falsely imply a linear range where there is instead a multidimensional scattering. However, two broad categories of belief can be distinguished, if we are willing to ignore subtleties for the moment. One group takes Stallman's view, that the freedom to share and modify is the most important thing, and that therefore if you stop talking about freedom, you've left out the core issue. Others feel that the software itself is the most important argument in its favor, and are uncomfortable with proclaiming proprietary software inherently bad. Some, but not all, free software programmers believe that the author (or employer, in the case of paid work) should have the right to control the terms of distribution, and that no moral judgement need be attached to the choice of particular terms.

Ces dilemmes ont touché une communauté déjà promise à une crise d'identité. Les programmeurs qui écrivent des logiciels libres n'ont jamais réussi à se mettre d'accord sur le but final, s'il y en avait un, du mouvement des logiciels libres. Il serait même faux de dire que les opinions sont partagées entre une position et son opposée car cela impliquerait que ces opinions ont quelque chose en commun alors qu'elles partent dans toutes les directions. Cependant, on peut définir deux grands courants de pensée, si vous acceptez de passer outre les détails pour le moment. L'un des groupes partage les idées de Stallman, que la liberté de partager et modifier est la chose la plus importante et que donc si vous ne parlez plus de liberté vous laissez tomber l'idée principale. Pour d'autres c'est le logiciel qui parle le mieux pour lui et ils ne se voient pas dire que les logiciels propriétaires sont par définition mauvais. Certains programmeurs de logiciels libres, mais pas tous, pensent que l'auteur (ou l'employeur dans le cas de travail rémunéré) devrait avoir le droit de contrôler les termes de la distribution et qu'aucun jugement moral ne devrait été rattaché au choix de termes particuliers.

[modifier] §24

For a long time, these differences did not need to be carefully examined or articulated, but free software's burgeoning success in the business world made the issue unavoidable. In 1998, the term Open Source was created as an alternative to " free ", by a coalition of programmers who eventually became The Open Source Initiative (OSI).[9] The OSI felt not only that " free software " was potentially confusing, but that the word " free " was just one symptom of a general problem: that the movement needed a marketing program to pitch it to the corporate world, and that talk of morals and the social benefits of sharing would never fly in corporate boardrooms. In their own words:

Pendant longtemps personne n'a eu à prêter grande attention à ces différences ou à comment elles se toléraient, mais le succès grandissant des logiciels libres dans le monde de l'entreprise a rendu cette question inévitable. En 1998, le terme « Open Source » a été inventé pour être une alternative à « libre » par une coalition de programmeurs qui est par la suite devenue The Open Source Initiative (OSI) [9]. Pour l'OSI non seulement le terme « logiciel libre » était déroutant, mais le mot « libre » n'était que l'un des symptômes d'un problème plus général : le mouvement avait besoin d'une stratégie de commercialisation pour se vendre au monde de l'entreprise et que les discours sur les avantages moraux et sociaux du partage ne se rendraient pas d'eux mêmes dans les réunions décisionnelles des sociétés. Dans leurs propres mots :

[modifier] §25

The Open Source Initiative is a marketing program for free software. It's a pitch for " free software " on solid pragmatic grounds rather than ideological tub-thumping. The winning substance has not changed, the losing attitude and symbolism have. ...
L'Open Source Initiative est un programme de marketing pour les logiciels libres. C'est un argumentaire en faveur des « logiciels libres »  qui s'appuie sur une solide base pragmatique plutôt que sur une idéologie dévote. La substance gagnante n'a pas changé, l'attitude et le symbolisme perdants eux ont changés.

[modifier] §26

   The case that needs to be made to most techies isn't about the concept of Open Source, but the name. Why not call it, as we traditionally have, free software?
Le point qui doit être exposé à la plupart des techniciens n'est pas le concept de l'Open Source, mais le nom. Pourquoi ne pas l'appeler, comme nous l'avons toujours fait, logiciel libre ?

[modifier] §27

   One direct reason is that the term " free software " is easily misunderstood in ways that lead to conflict. ...
  Une raison simple est que le terme « logiciel libre » peut facilement prêter à confusion et mener au conflit. ...

[modifier] §28

But the real reason for the re-labeling is a marketing one. We're trying to pitch our concept to the corporate world now. We have a 
winning product, but our positioning, in the past, has been awful. The term " free software " has been misunderstood by business persons, 
who mistake the desire to share with anti-commercialism, or worse, theft.
Mais la vraie motivation de ce changement de nom est économique. Nous essayons de vendre notre concept au monde de l'entreprise maintenant. Nous avons un produit compétitif, mais notre positionnement, dans le passé, a été très mauvais. Le terme « logiciel libre » n'a pas été compris correctement par les hommes d'affaire qui ont pris le désir de partage pour de l'anti-capitalisme, ou pire encore, pour du vol.

[modifier] §29

Mainstream corporate CEOs and CTOs will never buy " free software. " But if we take the very same tradition, the same people, and the same 
free-software licenses and change the label to " Open Source " ? that, they'll buy.
Some hackers find this hard to believe, but that's because they're techies who think in concrete, substantial terms and don't understand 
how important image is when you're selling something.
Les décideurs des principales grandes entreprises n'achèteront jamais un « logiciel libre ». Mais si nous prenons les mêmes idées, les mêmes licences de logiciel libre et qu'on modifie le nom pour « Open Source » ? Alors ils achèteront.
Certains hackers ont du mal à y croire, mais c'est parce que ce sont des techniciens qui pensent aux choses concrètes, palpables et qui ne comprennent pas l'importance de l'image quand vous vendez quelque chose.

[modifier] §30

In marketing, appearance is reality. The appearance that we're willing to climb down off the barricades and work with the corporate 
world counts for as much as the reality of our behavior, our convictions, and our software.
Dans le monde des affaires l'apparence est une réalité. L'apparence que nous voulons abattre les barricades et travailler avec le monde des affaires compte au moins autant que la réalité de notre comportement, nos convictions et nos logiciels.

[modifier] §31

[modifier] §32

The tips of many icebergs of controversy are visible in that text. It refers to " our convictions ", but smartly avoids spelling out exactly what those convictions are. For some, it might be the conviction that code developed according to an open process will be better code; for others, it might be the conviction that all information should be shared. There's the use of the word " theft " to refer (presumably) to illegal copying-a usage that many object to, on the grounds that it's not theft if the original possessor still has the item afterwards. There's the tantalizing hint that the free software movement might be mistakenly accused of anti-commercialism, but it leaves carefully unexamined the question of whether such an accusation would have any basis in fact.

La pointe de l'iceberg de la controverse apparaît dans ce texte. Il mentionne « nos convictions » mais évite intelligemment de citer précisément quelles sont ces convictions. Pour certains ça peut être la conviction que le code développé selon un processus ouvert sera meilleur, pour d'autres ça peut-être la conviction que toutes les informations devraient être partagées. L'usage du mot « vol » fait (sûrement) référence à la copie illégal, dont beaucoup se défendent, ce n'est pas un vol si personne n'est dépossédé de son bien. On retrouve aussi l'idée tentante que le mouvement des logiciels libres puisse être accusés à tort d'anti-capitalisme, mais sans débattre du bien fondé de cette accusation.

[modifier] §33

None of which is to say that the OSI's web site is inconsistent or misleading. It's not. Rather, it is an example of exactly what the OSI claims had been missing from the free software movement: good marketing, where " good " means " viable in the business world ". The Open Source Initiative gave a lot of people exactly what they had been looking for-a vocabulary for talking about free software as a development methodology and business strategy, instead of as a moral crusade.

Rien de tout cela veut dire que le site de l'OSI soit incomplet ou trompeur. Il ne l'est pas. Au contraire, c'est la vitrine de ce qui manquait au mouvement des logiciels libres d'après l'OSI : une bonne stratégie commerciale où « bon » veut dire : « viable dans le monde des affaires ». L'Open Source Initiative a offert à beaucoup de gens exactement ce qu'ils cherchaient : un vocabulaire pour parler des logiciels libres avec un plan de développement et une stratégie commerciale, plutôt qu'une croisade idéologique.

[modifier] §34

The appearance of the Open Source Initiative changed the landscape of free software. It formalized a dichotomy that had long been unnamed, and in doing so forced the movement to acknowledge that it had internal politics as well as external. The effect today is that both sides have had to find common ground, since most projects include programmers from both camps, as well as participants who don't fit any clear category. This doesn't mean people never talk about moral motivations-lapses in the traditional " hacker ethic " are sometimes called out, for example. But it is rare for a free software / Open Source developer to openly question the basic motivations of others in a project. The contribution trumps the contributor. If someone writes good code, you don't ask them whether they do it for moral reasons, or because their employer paid them to, or because they're building up their resumé, or whatever. You evaluate the contribution on technical grounds, and respond on technical grounds. Even explicitly political organizations like the Debian project, whose goal is to offer a 100% free (that is, " free as in freedom ") computing environment, are fairly relaxed about integrating with non-free code and cooperating with programmers who don't share exactly the same goals.

L'apparition de l'Open Source Initiative a transformé l'horizon des logiciels libres. Elle a reconnu une dichotomie longtemps inavouée et par là même a forcé le mouvement à reconnaître qu'il avait aussi une politique interne en plus de celle menée à l'extérieur. Ce qu'on voit aujourd'hui est que les deux camps ont dû trouver un terrain d'entente puisque la plupart des projets font participer des programmeurs des deux camps aussi bien que d'autres qui n'entrent pas clairement dans l'une ou l'autre des catégories. Cela ne veut pas dire que les gens ne parlent jamais de motivations idéologiques, on fait parfois référence aux manquements à la « morale de hacker » traditionnelle par exemple. Mais il est rare de voir un développeur d'un monde ou de l'autre douter ouvertement des motivations profondes des autres dans le projet. La contribution transcende le participant. Si quelqu'un produit du bon code personne ne lui demande s'il le fait pour des raisons morales ou parce que son employeur le paie pour ça ou parce qu'il étoffe son CV ou quoique ce soit d'autre. L'évaluation et les critiques de la contribution se font sur des critères techniques. Même des organisations ouvertement politiques comme le projet Debian dont le but est d'offrir un environnement 100% libre (c'est-à-dire « libre comme dans liberté ») sont plutôt ouvertes à l'intégration de code non-libre et à la coopération avec des programmeurs qui ne partagent pas exactement les mêmes buts.

[modifier] Notes

[2] SourceForge.net, one popular hosting site, had 79,225 projects registered as of mid-April 2004. This is nowhere near the total number of free software projects on the Internet, of course; it's just the number that chose to use SourceForge.
[2] SourceForge.net, un site d'hébergement populaire, il contenait 79 225 projets enregistrés à la mi-avril 2004. On est bien sûr très loin du nombre total de projets de logiciels libres sur Internet, c'est juste le nombre qui ont choisi d'utiliser SourceForge.
[3] Stallman uses the word " hacker " in the sense of " someone who loves to program and enjoys being clever about it, " not the relatively new meaning of " someone who breaks into computers."
[3] Stallman utilise le mot « hacker » pour désigner « une personne qui aime programmer et qui adore faire le malin avec ça » et pas le « quelqu'un qui s'introduit dans les ordinateurs » comme le voudrait le nouveau sens.
[4] It stands for " GNU's Not Unix ", and the " GNU " in that expansion stands for...the same thing.
[4] GNU est l'acronyme de « GNU is Not Unix » et « GNU » dans cette extension signifie... la même chose.
[5] Technically, Linux was not the first. A free operating system for IBM-compatible computers, called 386BSD, had come out shortly before Linux. However, it was a lot harder to get 386BSD up and running. Linux made such a splash not only because it was free, but because it actually had a high chance of booting your computer when you installed it.
[5] Techniquement, Linux n'était pas le premier. Un système d'exploitation libre pour les ordinateurs compatibles IBM, appelé 386BSD, est sorti un peu avant Linux. Cependant, il était bien plus compliqué de faire marcher 386BSD. Linux a créer des remous non seulement parce qu'il était libre mais aussi parce qu'il avait vraiment une bonne probabilité de faire marcher l'ordinateur sur lequel vous l'aviez installé.
[6] They prefer it to be called the " X Window System ", but in practice, people usually call it " X Windows ", because three words is just too cumbersome.
[6] Ils préfèrent qu'il soit appelé le « Système X Window », mais en pratique on l'appelle « X Windows » parce que trois mots c'est trop encombrant.
[7] One may charge a fee for giving out copies of free software, but since one cannot stop the recipients from offering it at no charge afterwards, the price is effectively driven to zero immediately.
[7] On peut faire payer quelque chose pour donner des copies d'un logiciel libre, mais comme on ne peut pas empêcher l'acheteur de le redistribuer gratuitement le prix tend immédiatement vers zéro.
[8] The source code to Netscape Navigator was eventually released under an Open Source license, in 1998, and became the foundation for the Mozilla web browser. See http://www.mozilla.org/.
[8] Finalement le code source de Netscape Navigator a été publié sous une licence libre, en 1998, et est devenu la base du navigateur web Mozilla. Voir sur http://www.mozilla.org/.
[9] OSI's web home is http://www.opensource.org/.
[9] La page web de l'OSI est : http://www.opensource.org/.