Browsing the blog archives for juin, 2009

Les logiciels libres et leurs auteurs, des proies faciles pour les entreprises?

4 Commentairess
chronique

copyleftAu cours d’une présentation que j’ai faite en novembre 2006 au cours d’un colloque de l’Association de géomatique municipale du Québec (AGMQ), j’ai sensibilité l’auditoire au monde du logiciel libre et aux changements importants qui s’amorçaient dans les modèles économiques de distribution des logiciels. Le “Copyleft”, ce détournement du Copyright dans le but de faire profiter l’ensemble de la communauté des travaux d’un développeur, me semblait l’idée géniale qui avait le potentiel d’ébranler les monopoles des entreprises qui détenaient des positions dominantes de marché. C’est toujours vrai mais disons, un peu moins que je ne l’aurais cru. L’histoire qui s’écrit nous montre que les grandes entreprises ne sont pas en reste et qu’elles ont des ressources insoupçonnées quand il s’agit de tourner les situations à leur avantage.

hexley-21Le cas Open Darwin
Ceux qui me connaissent bien savent que j’utilise un ordinateur Apple depuis quelques années, ce qui ne m’empêche pas d’être critique vis-à-vis de l’entreprise. Le système d’exploitation MacOS X est basé sur une version de Unix résultant du projet Open Darwin, un projet de collaboration Open Source initié par Apple sur des anciennes composantes de Next, l’aventure passée de Steven Jobs. C’est un peu compliqué tout ça mais ce qu’il faut retenir, c’est que le projet Open Darwin a mis à contribution une communauté de bénévoles qui ont cru au projet et investi temps et énergies dans la mise au point de cette version libre de Unix, de manière parallèle et un peu similaire à Linux.

Apple a par la suite mis ses ingénieurs à la tâche et mis au point Aqua et Cocoa, respectivement l’environnement graphique et l’interface-usager. Elle a “ré-emballé” le tout avec une série de composantes ouvertes (fonctions diverses de Unix) et d’autres de son propre cru qui utilisent les API Aqua et Cocoa (Mail, Finder, iTunes, iWork, iPhoto, etc.) pour créer un ensemble cohérent appelé Mac OS X, le superbe (il faut le dire) système d’exploitation du Macintosh. Aqua et Cocoa étant protégés par des copyrights, Apple a créé le produit commercial Mac OS X sur une base “Open Source” mais a restreint les droits d’utilisation de l’ensemble et a limité son exécution aux ordinateurs qu’elle fabrique. La chose est légalement possible parce que les droits de licence originale de Open Darwin n’empêchent pas une organisation de l’inclure dans un produit commercial. Vu autrement, Apple aurait peut-être fait un cadeau empoisonné à la communauté du logiciel libre en lui remettant le code source du Unix de Next, puisqu’elle était en excellente position pour en récupérer ultérieurement les améliorations et qu’elle pourrait le “personnaliser” et en contrôler la distribution. L’histoire a démontré par la suite que la communauté de développeurs Open Darwin s’est fait hara-kiri en 2006, en dénonçant Apple pour son manque de fair-play. Le flambeau a été repris par la suite par le projet GNU-Darwin, mais il y a toujours un “côté sombre de la force” chez Apple dans sa gestion des licences qui irrite profondément la communauté fidèle à cette version de Unix. Le iPhone est un autre exemple de ces relations tendues avec la communauté du logiciel libre. L’appareil est aussi basé sur Open Darwin, mais il contient des portions “propriétaires” qui constituent un secret d’entreprise; la distinction est devenue ma foi un peu difficile.

mapserver1Autodesk et MapServer
Le cas de MapServer, le serveur cartographique bien connu, est aussi intéressant. Autodesk a annoncé en 2005 qu’elle versait son produit Autodesk MapGuide dans le domaine public et ce faisant, elle s’associait à la communauté de développeurs autour de MapServer. L’annonce a créé tout un émoi dans la communauté géomatique parce que les gens ne comprenaient pas vraiment ce qui se passait. MapGuide devenait MapServer? Que devenait le MapServer original de l’Université du Minnesota? Le mini-chaos qui s’ensuivit a forcé Autodesk à renommer son produit MapGuide Open Source (au lieu de MapServer Enterprise) et à laisser MapServer continuer son propre cycle de vie. La réalité était que le MapGuide original de Autodesk était très près de MapServer et en partageait plusieurs composantes. L’entreprise avait entrepris une révision en profondeur du produit. Pour ne pas être en reste avec les utilisateurs, elle a travaillé à soigner son image en versant son ancienne version dans le domaine public, ce qui lui permettait par la bande de créer une communauté de support pour ce produit dans lequel elle ne prévoyait plus investir. La nouvelle version de serveur cartographique fut appelée MapGuide Enterprise et Autodesk est entièrement maître de sa destinée. La rumeur circule qu’elle craignait de voir ESRI faire la même chose avec ArcIMS dans la foulée de la transition vers ArcGIS Server et voulait prendre les devants (!!!).

Une guerre subtile sur fond juridique
Ces deux exemples illustrent le chassé-croisé constant entre les logiciels ouverts et les produits commerciaux. J’ai pris connaissance d’un document très intéressant sur le monde des logiciels libres, Licences Open Source, réalisé par Damien Cuvillier et déposé sur le site d’un projet auquel il a collaboré, qui explique en détail les différents types de licences utilisées dans le domaine des logiciels ouverts. En synthèse, il n’existe vraiment qu’un seul modèle de licence Open Source qui garantit que le code source d’un programme demeurera à jamais dans le domaine des logiciels libres et c’est celui de l’original GNU GPL, mis au point par Richard Stallman en 1989. Une version récente, la GNU Lesser GPL (LGPL), ne comporte pas quant à elle de clause de “contagion” qui fasse en sorte que la fusion de composantes logicielles ne puissent se faire que dans un contexte où le résultat sera à son tour ouvert et libre de droits. Cette distinction est cruciale car elle assure la pérennité des travaux des programmeurs en empêchant qu’ils soient éventuellement enfouis sous les couches de présentation de produits commerciaux. (voir les deux derniers paragraphes de l’article suivant: http://www.gnu.org/licenses/why-not-lgpl.html)

Oracle et Sun
C’est aussi pour cette raison que plusieurs analystes de l’industrie ont des inquiétudes concernant l’acquisition récente de Sun par Oracle. Je ne connais pas le fin détail des licences derrière Java, Open Office et MySQL mais il ne faudrait surtout pas que Oracle tente de “mettre le couvercle” sur ces fleurons du logiciel libre.

En terminant, je m’en voudrais de vous laisser sur l’impression que tout est noir ou blanc dans ce domaine (dirions-nous “binaire”?). Il existe de nombreux logiciels ou bibliothèques de composantes qui ont justement été conçus pour servir à tous de manière indistincte, que ce soit dans des contextes commerciaux ou libres de droits. Les meilleurs exemples sont les bibliothèques GDAL/OGR qui permet les conversions de format matriciels et vectoriels et PROJ.4 qui effectue les conversion de projection et de systèmes de référence. Elles sont diffusées sous des licences de type MIT, qui visent à reconnaître l’auteur original. GDAL/OGR a été mise au point par Frank Warmerdam, un personnage canadien bien connu du domaine géospatial qui a maintenant une renommée internationale pour sa contribution dans les logiciels ouverts en géomatique. Frank a aussi contribué intensément à PROJ.4. Il n’est probablement pas une victime du logiciel libre puisqu’il semble bien gagner sa vie comme consultant. Salutations en passant si tu peux me lire en français!

André Verville
Géomatique Verville
parallaxe@averville.ca

Web Mapping: 10 ans de ré-ingénierie logicielle

Aucun commentaire
chronique

Le Web 1.0

Le Web a provoqué une révolution planétaire et constitue sans aucun doute le moteur principal qui a permis le déploiement et la popularisation de l’Internet dans le monde. Déjà en 1995, Internet comportait déjà un certain nombre de protocoles de transport et d’échange au moment où le World Wide Web a commencé sa fulgurante ascension. On parle ici notamment des courriels (SMTP et POP3), des connexions de terminaux à un ordinateur distant (telnet), de transferts de fichiers (FTP) et même de recheche (gopher). Plusieurs de ces protocoles sont encore d’ailleurs fort utiles et restent plus ou moins inchangés (gopher a sombré dans l’oubli… le concept de structures favorisant les recherches n’était pas au point, les moteurs de recherche ont repris le flambeau plusieurs années plus tard). L’apparition du protocole http (hyper-text transfer protocol) a permis une chose toute simple: la mise en page de contenus sous forme de documents (texte, images et pointeurs), en utilisant des balises de mise en forme imbriquées dans le texte, un peu comme les anciens systèmes de traitement de texte. On connaît la suite, l’idée originale a ouvert de nouvelles possibilités qui exploitaient au mieux les nouveaux interfaces graphiques des ordinateurs personnels et tout le monde a commencé à l’utiliser comme outil de diffusion universel pour des documents mis en page de manière présentable.

Le Web 2.0

Les mécanismes initiaux étaient relativement simples: une requête à un serveur initiait une réponse en contenu bien formatté, généralement une page déjà créée et présente dans les répertoires du serveur. La grande popularité de ce moyen de diffusion, ajouté à l’économie possible de servir un très grand nombre d’utilisateurs à la fois a créé un terreau fertile pour une quantité inimaginable d’améliorations ponctuelles. On devait toujours contourner les limites initiales et fondamentales du protocole qui n’avait vraiment pas été conçu pour une interaction dynamique et transactionnelle. Lorsqu’on diffusait des cartes, les mécanismes permettant à l’utilisateur la navigation et l’identification (zoom, pan, fenêtre, sélection ponctuelle et par zone) n’étaient tout simplement pas au point. Qu’à cela ne tienne, on a multiplié les “patches” pour corriger ces lacunes. On a maintenant des pages générées dynamiquement par le serveur, du code javascript exécuté par le fureteur Web du client, des plugins (ActiveX ou Java) téléchargés, puis lancés pour exécution locale, des applications distribuées avec échanges intensifs entre le fureteur Web et le serveur (Ajax) et même le “streaming” de contenu audio et vidéo en temps réel. On appelle ça le Web 2.0, ça fait chic et branché.

10 ans de ré-ingénierie

Depuis le début de la présente décennie, la plupart des organisations ont suivi la vague et investi des sommes colossales pour migrer des applications existantes afin qu’elles utilisent ce mode d’interaction avec les utilisateurs. Des applications informatiques qui utilisaient déjà les riches fonctionnalités des environnements graphiques fournis par les systèmes d’exploitation ont dû être entièrement refaites avec des résultats souvent mitigés parce que l’interface Web n’avait tout simplement pas le même niveau de robustesse et d’interactivité que les API graphiques des systèmes d’exploitation comme Windows ou Unix. On a fini par en venir à bout, mais la multiplicité de solutions introduites pour adresser la problématique a été le principal enjeu parce qu’en fin de compte, on n’atteignait pas toujours cette interopérabilité qui constitue toujours le principe fondamental du Web. La plupart des problèmes ont maintenant été résolus mais au coût d’une grande complexité, basée sur des standards qui changent et évoluent quelquefois plus rapidement que notre capacité à les maîtriser. Ajoutons à cela le cauchemar associé à la sécurité des serveurs d’application qui doivent être exposés à la jungle de l’Internet et la partie de cache-cache entre les organisations et les pirates informatiques. La décennie qui s’achève a permis l’émergence d’une nouvelle génération d’interactivité au niveau du Web, mais à un coût exorbitant en essais et erreurs sur des technologies et des protocoles en crise d’adolescence.

En géomatique, nous commençons seulement à voir la lumière au bout du tunnel du Web Mapping, pour lequel les besoins d’affichage dynamique et l’interactivité qui y est associée comportaient des difficultés additionnelles sur une table de travail déjà pas mal encombrée. Vous voulez un exemple? Depuis 10 ans, ESRI, le principal fournisseur de technologies logicielles a d’abord eu ArcObjects IMS et ArcView IMS (+/- 1998, deux produits incompatibles entre eux parce qu’ils utilisaient des langages de programmation différents), migré le tout vers ArcIMS (+/- 2002) puis est passé à ArcGIS Server (+/- 2006): c’est donc une nouvelle génération de technologie de serveur cartographique en moyenne aux quatre ans. ESRI n’est pas à blâmer, il devait s’adapter à des standards qui changeaient rapidement et il devait répondre à la demande des clients.

Les clients légers (thin client): fils spirituels des terminaux alphanumériques

Pendant ce temps, il y avait une solution toute faite pour répondre aux besoins de diffusion d’applications graphiques riches à un grand nombre d’utilisateurs: c’était le protocole X-windows. Il a maintenant été remplacé par Windows Terminal Services et Citrix, qui offrent à la base une solution similaire: fournir à l’utilisateur un environnement riche en fonctions graphiques et en interactivité (clavier, pointeur, son) pour un traitement qui se déroule au central. Que de chemin parcouru depuis les terminaux 3270 et VT100 pour venir en bout de piste à une configuration similaire au bon vieux mainframe et où le coeur de l’action se déroule dans une salle climatisée? Aurions-nous finalement mis autant de temps pour ajouter la couleur, le graphisme, le son et une souris?

Si la ligne droite est le plus court chemin entre deux points, il faut croire que la technologie aime quelquefois les petites routes secondaires qui sont plus sportives…

André Verville
parallaxe@averville.ca