Java, .NET Et Les Logiciels Libres 2.0

Java, .NET Et Les Logiciels Libres 2.0

Java, .NET et les logiciels libres 2.0 Fabrice Rossi http://apiacoa.org/ 7 septembre 2006 R´esum´e 1 Introduction Il y a bientˆotdeux ans, je pr´esentais dans [1] la situation l´egale tr`escomplexe des pla- teformes de d´eveloppement Java et .NET. Les logiciels libres construits `a partir Au del`ade leurs ressemblances techniques des plateformes Java et .NET ont de plus (machine virtuelle, compilation just in time, en plus de succ`es. De l’environnement de gestion automatique de la m´emoire, langage d´eveloppement Eclipse aux lecteurs de flux orient´eobjet inspir´edu C++, etc.), ces pla- RSSOwl et Blam, en passant par le moteur teformes ont aussi en commun d’avoir ´et´e de recherche locale Beagle et le client Bit- con¸cuespar des entreprises et d’avoir comme Torrent Azureus, on constate que de nom- impl´ementation de r´ef´erenceun logiciel pro- breux d´eveloppeurs se d´etournent des lan- pri´etaire. En fait, Java et .NET sont des gages plus classiques comme le C ou le C++. technologies partiellement ouvertes. Mˆemeen occultant l’important d´ebat tech- Les sp´ecifications de la plateforme nique, notamment sur la consommation en Java autorisent explicitement une ressources (temps cpu et m´emoire) des pla- impl´ementation open source1, mais teformes Java et .NET, on sait que choi- sous des conditions assez restrictives. sir une de ces technologies n’est pas sans L’impl´ementation de r´ef´erence distribu´ee cons´equence importante : Java et .NET ne par Sun contient des ´el´ements libres, mais sont que partiellement ouverts, ce qui peut est globalement un logiciel propri´etaire. poser des probl`emes de p´erennit´epour les La plateforme .NET est standardis´eepar logiciels libres d´evelopp´es en les utilisant. l’ECMA [3] et par l’ISO [4] (cf les stan- dards ECMA-334 [5] et ECMA-335 [6]). Se- Suite aux annonces importantes de l’ann´ee lon les r`egles de ces organismes (cf [7]), 2006 (Mono dans Fedora Core 5 et dans les standards qu’ils produisent peuvent ˆetre Gnome 2.16, le JDK de Sun bientˆotlibre), impl´ement´es par quiconque. Si les technolo- cet article fait le point sur la situation gies correspondantes sont prot´eg´eespar des l´egaledes plateformes Java et .NET et tente 1J’utilise dans cet article “logiciel open source” d’´evaluer leur compatibilit´eavec le logiciel comme synonyme de “logiciel libre”, en me r´ef´erant libre. `ala d´efinition de l’open source donn´eepar l’OSI [2]. brevets, ceux-ci doivent ˆetre licenci´es en des plate-formes, essentiellement en raison des termes “raisonnables et non disciminatoires” brevets couvrant ces derni`eres. (RAND pour Reasonable And Non Discri- Les ´el´ements pr´esent´es dans mon minatory).L’impl´ementation de r´ef´erencede pr´ec´edent article [1] m’amenaient `a in- .NET est un logiciel propri´etaire de Micro- sister sur les risques inh´erents aux deux soft. plateformes. Dans le cas de Java, je consta- De ce fait, et contrairement `ades langages tais qu’il ´etait th´eoriquement possible de con¸cusde fa¸con compl`etement ouverte et `a r´ealiser une impl´ementation open source l’impl´ementation de r´ef´erence libre (comme de la plateforme, mais en respectant des Python, Perl ou Ruby, par exemple), ou `a conditions de conformit´eaux sp´ecifications des langages standardis´eset impl´ementables extrˆemement restrictives, ce qui pr´esentait sans restriction aucune (comme C, C++ un risque important : le d´eveloppement ou Ada), .NET et Java ne sont que par- ouvert des logiciels libres implique une tiellement ouverts, tant au niveau de la distribution de versions incompl`etes d’une conception (qui passe par des comit´es `a impl´ementation open source de Java, et l’acc`es restreint) que de l’impl´ementation. donc un non respect (au moins temporaire) Un d´eveloppeur de logiciels libres doit donc des conditions de conformit´e. se poser la question des risques qu’il prend Concernant .NET, j’´etais encore plus en utilisant ces plateformes (cf par exemple n´egatif, essentiellement en raison d’une de- le texte de Richard Stallman sur Java [8]). mande de brevet d´epos´eepar Microsoft et En effet, quand on d´eveloppe une applica- portant sur une grande partie de l’API de la tion Python, par exemple, on a la garantie plateforme. Une fois cette demande accept´ee, qu’on pourra toujours distribuer librement Microsoft aurait obtenu le contrˆoletotal des (au sens des logiciels libres) cette applica- impl´ementations de .NET et aurait pu se tion avec un environnement Python, ce qui contenter de proposer des licences RAND in- assure sa p´erennit´een tant que logiciel open compatibles avec une impl´ementation libre source. Une application C n’utilisant que des (quelles soient Royalty Free ou non). biblioth`equeslibres offre les mˆemes garan- Depuis d´ecembre 2004, la situation a ties. C’est le cas plus g´en´eralement de la ´evolu´e,tant au niveau des impl´ementations grande majorit´edes langages de programma- libres qui ont beaucoup progress´e, que du tion et des plateformes de d´eveloppement. point de vue l´egal.Le but du pr´esent ar- La situation d’une application d´evelopp´ee ticle est d’analyser la situation actuelle et en Java ou .NET est moins claire. Tout ses cons´equences pour l’utilisation des plate- d’abord, il n’existe aucune impl´ementation formes Java et .NET pour le d´eveloppement libre compl`etede ces plateformes2 : en uti- de logiciels libres. lisant certaines fonctionnalit´esavanc´ees de la plateforme, une application libre ne peut pas ˆetre ex´ecut´ee de fa¸con “libre”. De plus, 2 Logiciels libres et brevets et c’est bien plus grave, le caract`ere pro- Avant de s’int´eresser `aJava et .NET, il pri´etaire des technologies elles-mˆemes (et est int´eressant de rappeler quelques ´el´ements pas seulement de leurs impl´ementations de sur les brevets logiciels en g´en´eral.D’autres r´ef´erence) menace l’impl´ementation libre des aspects seront abord´eslors de l’analyse de 2d´ebutseptembre 2006. brevets portant sur .NET. 2 2.1 Brevets “sp´ecifiques” et par exemple, est couvert par des brevets “g´en´eraux” d´etenus par le Fraunhofer Institute et Thom- son Multimedia (cf [9, 10], ainsi que [11] Quand on d´eveloppe un logiciel, on pour des pr´ecisions). Il semble impossible de s’expose malheureusement au risque de d´evelopper autour de MP3 (lecteur ou enco- contrefa¸cond’une invention prot´eg´ee par un deur) sans mettre en œuvre les brevets (et brevet. Certaines syst`emes l´egaux,en par- donc sans obtenir une licence de Thomson), ticulier celui des Etats-Unis´ d’Am´erique, ce qui explique3 l’absence de support de ce autorisent en effet de breveter des algo- format sonore dans Fedora Core [12], par rithmes en consid´erant que ceux-ci sont exemple. r´ealis´es dans un programme au mˆeme titre Contrairement aux probl`emes pos´es par qu’une id´ee est r´ealis´ee dans un construction des brevets sp´ecifiques, ceux li´es`ades bre- mat´erielle brevet´ee. Ces brevets logiciels in- vets de la deuxi`eme cat´egorie(qu’on peut terdisent dans les faits d’impl´ementer l’al- qualifier que “brevets g´en´eraux”) sont tr`es gorithme prot´eg´e(ou une am´elioration de difficile d’anticiper . Ces brevets peuvent celui-ci), quel que soit le langage de pro- toucher n’importe quel logiciel libre, depuis grammation et la licence du logiciel. Le droit le “bas niveau” du noyau Linux et du compi- d’impl´ementation s’obtient sous la forme lateur gcc, jusqu’au “haut niveau” des appli- d’une licence d’impl´ementation, d´elivr´eepar cations utilisateurs classiques comme Ope- le propri´etairedu brevet. nOffice.org. Il est parfois possible de contour- Quand on impl´emente un standard, ou, ner de tels brevets, soit parce qu’ils couvrent plus g´en´eralement, quand on cherche `are- un ´el´ement qui n’est pas crucial `al’applica- produire les fonctionnalit´es d’un logiciel d´ej`a tion (par exemple la gestion, dans un logi- existant, il faut consid´erer deux types de bre- ciel comme Gimp, du format gif quand celui- vets : ci ´etaitencore brevet´epar Unisys) et qu’il 1. les brevets d´epos´es par les inventeurs du suffit donc de supprimer cet ´el´ement, soit standard (ou du logiciel mod`ele) et qui encore car il existe une fa¸con d’obtenir la visent explicitement `aprot´eger certains mˆeme forme de r´esultat sans pour autant aspects de celui-ci ; impl´ementer l’algorithme brevet´e. 2. les brevets d´epos´es par des tiers et Dans la suite de cet article, je m’int´eresse qui s’appliquent `al’impl´ementation en avant tout aux brevets de la premi`ere cours de d´eveloppement. cat´egorie, car ils posent des probl`emes Les brevets de la premi`erecat´egorie, qu’on sp´ecifiques aux plateformes que j’´etudie, peut consid´erer comme “sp´ecifiques”, sont puisqu’ils ont ´et´e con¸cus pour prot´eger g´en´eralement mis en avant par les inventeurs celles-ci et s’appliqueront donc `a des du standard ou du logiciel, ce qui permet impl´ementations libres de fa¸con quasi- d’´evaluer les risques de contrefa¸con avant automatique. Ils mettent en p´eril ces mˆeme de commencer le d´eveloppement.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    29 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us