30 décembre 2004

White paper contre les brevets logiciels

ObjetctWeb propose un mémo sur les brevets logiciels : les problèmes que ça pose, pourquoi il faut l'éviter.

http://wiki.objectweb.org/Wiki.jsp?page=CWP_SoftwarePatents_French

D'abord, ils expliquent que le brevet n'est pas forcément une chose mauvaise, intrinsèquement. Si cela apporte des bénéfices à la communauté, pourquoi pas. (c'est donc bon pour des domaines techniques, concrets).

Mais ils mettent en cause les brevets pour les idées, les algorithmes, les structures de données en programmation. D'une part ce n'est pas concret, ça bloque l'innovation, et le temps pour passer au domaine publique ne devrait pas être le même que pour les autres domaines, puisque tout bouge plus vite en informatique.

Je quote 2 paragraphes importants.

Le 1er qui décrit comment ça se passe aux EU *avec* les logiciels brevetables :
Le Parlement Européen a récemment confirmé que le logiciel en tant que tel doit demeurer hors du champ du brevetable. Force est de constater qu'outre-Atlantique, la possibilité d'obtenir des brevets de logiciels a surtout des effets négatifs, de plus en plus décriés.

L'analyse économique montre que 10% des budgets de la R&D sont maintenant capturés par les problèmes juridiques. Par ailleurs, on voit apparaître de plus en plus de « racket au brevet », typiquement contre des PME qui préfèreront payer de petites sommes plutôt que d'aller à un contentieux plus coûteux.

La récente affaire Eolas contre Microsoft, où Eolas prétend détenir des droits sur des mécanismes fondamentaux du web, est aussi caractéristique que scandaleuse. C'est une excellente illustration d'un abus courant qui consiste à déposer les brevets discrètement, laisser les tiers utiliser indépendamment les même techniques, et clamer ses droits une fois le travail de popularisation achevé par d'autres.

Cette pratique, manifestement de mauvaise foi, est possible car le degré d'innovation réelle dans les brevets obtenus ne cesse de décroître. Il faut donc craindre l'apparition de systèmes quasi mafieux où la tranquillité judiciaire des petites entreprises serait achetée à des gros bonnets de la propriété intellectuelle.

Le 2ème qui montre le problème institutionnel Européen, car il y a un réel combat de 2 organisations, le Parlement Européen, résolument anti-brevet, et l'Office Européen des Brevets, qui lui suit les désirs des grosses boites, cad des brevets à gogo.

Face à ces constats, il faut s'étonner et s'inquiéter de l'activité de l'Office Européen des Brevets. Au mépris des lois existantes, l'OEB cède au mercantilisme et prône la brevetabilité sans limite. Dans une approche marchande, l'OEB ne rencontre que des industriels soucieux d'obtenir des brevets. L'opinion d'autres acteurs d'avis contrastés semble purement ignorée par l'Office.

Mais l'OEB ne devrait pas être au service de ses « clients », acheteurs de brevets, mais au service de l'économie européenne. A ce titre, il est très surprenant que l'OEB ait fait évoluer sa jurisprudence sans procéder à aucune étude économique (du moins qui ait été rendue publique) sur l'opportunité d'une telle évolution.


Voila, je suis resté assez longtemps loin de ce pb, me disant ça ne me concerne pas, mais je crois que toute personne qui touchent de près ou de loin à l'informatique doit se sentir concerné...

29 décembre 2004

Retour vers le futur

Je crois que j'ai trouvé mon langage idéal : en gros, imaginez Java avec une syntaxe améliorée, plus souple et plus pratique, et vous aurez une idée de ce qu'est Groovy (http://groovy.codehaus.org).

Ses caractéristiques marquantes :
  • Groovy est un langage interprété, donc il est rapide à écrire et à tester
  • il peut être compilé et donc gagner en performance.
  • il s'interface facilement avec du code Java, et réciproquement.
  • il peut utiliser n'importe quelle classe Java (même du Swing!).
  • Bref, on peut imaginer que ce code serve de prototypage, masi jamais si votre code vous satisfait, que les performances sont correctes, vous pouvez purement et simplement l'utilisez dans le reste de votre application Java.

    Sa principale caractéristique est la closure : ça ressemble à une inner classe java anonyme, mais cela peut se définir au moment même de son application.

    ex :
value = [1, 2, 3].collect { it * 2 }
assert value == [2, 4, 6]
      (à noter que si la notion est aussi pratique qu'on peut le croire ce principe des closures et aussi possible avec Java, grâche aux API de Jakarta Commons Functor)
    • un plugin Eclipse est disponible (pour Eclipse 3 malheureusement pour moi, qui doit rester avec Eclipse 2 pour des questions de compatibilités avec d'autres plugins...)
    • Une JSR envoyé au JCP demande à ce que Groovy fasse partie de Java standard :-)

    Le principal point négatif, c'est que le produit n'est pas encore finalisée...
    Je n'ai pas réussi à le faire fonctionner avec l'utilitaire groovyconsole (qui est le même genre que l'éditeur IDLE de Python), mais seulement en configurant Ultraedit. (mais bon, si ça marche bien avec Eclipse 3, ça n'est pas rédhibitoire).

    L'auteur donne d'ailleurs une bonne idée pour commencer à utiliser Groovy : l'établissement des tests JUnit pour votre dernière appli Java!

    Liens :

    06 octobre 2004

    Eclipse est une jungle...

    Je viens de passer quelques heures à me battre sur internet, pour répondre à la question : comment changer de JDK dans Eclipse?

    J'ai 2 versions d'Eclipse, la 2.1.2 qui me sert pour mes projets professionnels, et la version 3.0.1, qui me sert pour mes tests.

    Pour changer de JRE, ce n'est pas trop dur : Windows > Preferences / Installed JRE

    Mais pour changer de JDK (le javac), quid?
    Il y a bien une partie Compiler dans les préférences, avec un onglet Compliance and Classfiles, mais le niveau de compatibilité me donne seulement le choix qu'entre 1.3 et 1.4...

    Bref, je me dis qu'il y a sûrement quelquechose à configurer quelquepart, mais en fait non!

    Il est impossible de bosser avec le JDK 1.5 avant la version 3.1 d'Eclipse => Juin 2005
    C'est ce qu'on apprend ici : http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_1.html

    Je sais bien qu'Eclipse est plus qu'un éditeur, mais sachant qu'on a attendu plus d'1 an pour avoir le JDK 1.5 de la part de Sun, il va falloir attendre encore 8 mois pour avoir un eclipse compatible??

    On ne marcherait pas un peu sur la tête là?

    C'est que je l'attends depuis longtemps moi mon ArrayList avec autoboxing....

    http://eclipse-wiki.info/JavaGeneralFaq

    http://www.eclipsetotale.com/index.html

    PS : Et quand aura-t-on une FAQ, un forum eclipse digne de ce nom?
    Pour l'instant à part des newsgroup demandant x logins tordus, c'est le désert, ou la jungle pour celui qui veut en retirer quelque chose...

    18 août 2004

    Guerilla potagère

    Guerilla potagère...

    A 2 pas de chez moi, s'est créé un endroit assez spécial. J'explique. Autour d'un rond point, dont l'originalité est le maitre mot (ainsi qu'un certain mauvais goût, pour ne pas dire un mauvais goût certain), se découpent donc 4 "espaces". Sur les 3 côtés, vous trouvez des immeubles modernes, ressemblant à des paquebots.

    Mais du dernier côté, se trouve un terrain vague. En fait, depuis quelques années, une administration doit construire un batiment ici mais par manque de moyens, ce terrain vague perdure (et perdure aussi le symbole du manque moyens des administrations...)

    Mais depuis quelques semaines, les choses ont changé.

    De ci de là, fleurissent des pancartes sybilinnes voires obscures : Guerilla potagère, pour un urbanisme à visage humain, la betterave rouge et le radis noir vaincront le capital...

    Ma curiosité étant piqué, je m'en fus aux nouvelles. Je partis inspecter ce phénomène.
    En approchant du terrain, il y a des marches, renforcés par des surfaces d'ardoises, les parois renforcés par des rivets en bois. Qui que soient ces gens, ils ne font pas les choses à moitié!

    Dans ce petit paradis, pays qui lui, ne connait pas le bitume, on pouvait y trouver toute une "animalerie" potagère : les classiques, potiron, carotte, oignons, tomates, salade, pomme de terre, echalottes, ciboulette, menthe, les exotiques : coriandre, thym citronné.

    Le plus amusant, sont les petites pancartes qui nomment chacunes des cultures, ainsi que parfois, un petit papier accroché, donnant les bonnes pratiques pour que *ce* légume (ou fruit) aient une évolution optimum.

    Chaque culture est entouré par des pierres, qui séparent l'espace cultivé, du reste du terrain vague. Des pancartes sont là pour expliquer les règles du jeu : jardin libre, à toi de jouer, sème ta zone.

    <<>>

    <<>>

    D'autres éléments attirent l'oeil : des simples feuilles de papier griffonées. Sur ces feuilles, se trouvent les médias du 21eme siècle pour permettre à tous les paysans en herbe, de se tenir au courant les uns les autres, de qui à pu arroser, de qui à aggrandit le terrain, pour ajouter une nouvelle culture.

    Des nouveaux convertis, semblent apprécier également le médium "poétique" que sont le papier & le crayon :
    <<>>


    Je ne peux m'empêcher de donner un apperçu, des ces feuilles, trempées :


    Ne tournons pas autour du pot, le but est ici
    une tentative de réflexion sur l'alimentation.

    Arrive alors 2 individus, qui se dirigent vers le potager. Voila une bonne occasion d'avoir une opinion sur le vif, pour comprendre l'histoire et le but de ce mouvement :
    Les 2 personnes m'expliquent que la guerilla jardinière est un mouvement qui est parti en 2003 dans des villes européenne, telles que Londres, Lyon.

    Le but est de se réapproprier des terrains laissées à l'abandon, pour mener une réflexion citoyenne sur notre alimentation.

    On me parle en particulier d'une association kokopelli, qui a pour but de fournir & protéger les graines les plus purs, des fruits & légumes de nos assiettes. En effet, les agriculteurs sont mainetnant dépendants des gros groupes agroalimentaires. Ils n'ont maintenant plus d'autres choix que d'acheter des graines années après années : les graines fournies en grand nombre, sont stériles, ne permettant pas de faire des graines à partir des fruits de l'année précédente. Diable, nous tenons là notre leçon du jour. Le progrès fait rage, nous vivons une époque moderne (copyright Philippe Meyer).

    10 juin 2004

    Dérive d'un programmeur dans un monde Access

    Imaginez une appli qui gère des commandes.
    Vous aimez les SGBD d'enfer, et votre choix se portent bien sûr sur Access...

    Maintenant, vous avez des commandes, très bien, mais vous savez que vous pouvez avoir des
    commandes en unix ou en nt. Et bien au lieu de faire un champ dans cette table, vous décidez de faire 2 tables : commandesUnix et commandes NT.

    Là vous vous dites, "bon ok, c plus très relationnel, mais les personnes qui vont double-cliquer dans access sur mes tables, ils vont gazer, ils vont être trop content!

    Vous pensez en terme de perf, vous progressez, vous en êtes fier.

    Mais ensuite, patatras, vous vous dites qu'il faut archiver tout ça : mais pas de panique, vous n'êtes pas en manque d'idées de génie, donc vous faites les tables commandesUnix200301, commandesUnix200302, etc..

    Là aussi, vous venez de brûler les quelques principes que vous aviez appris à l'école, les formes normales ça vous dit plus rien, mais mince, "quand on double clique sur la table en acces, qu'est-ce que ça va plus vite!". Chic!

    Et aujourd'hui, vous avez décidé de passer la vitesse supérieure :

    Maintenant, vous avez toutes ces tables, et vous déclarez qu'elles sont dépendantes du serveurs qui héberge votre base de données! (sic)
    Donc maintenant vous créez un nouveau critères dans le nom de vos tables, qui référence le serveur et vous avez les tables commandesUnix200301Server1, commandesUnix200301Server2 et commandesUnix200302Server1, commandesUnix200302Server2.

    Ensuite, vous venez d'apprendre que le web, c'est bien.
    Alors vous prenez un couillon, et vous lui demandez de faire un programme, qui récupère toutes les commandes entre janvier et février 2003 pour tous les clients...

    Le comble, c'est quand vous vous rendez compte qu'en plus ce programmeur n'est vraiment qu'une buse, puisque son site rame un max, (vous avez bien sûr oublié qu'il vous avait dit au début du projet qu'il ne fallait pas s'attendre à des miracles)

    Le petit personnel, c'est plus ce que c'était!

    04 juin 2004

    Récupérer un chemin complet sous Windows

    Hé hé, que j'aime ces petits outils, qui loin d'être des usines à gaz, se contentent de faire un petit boulot fort utile.

    Ici, sur http://mlin.net/misc.shtml, on trouve un certain nombre de soft qui améliorent Windows. En l'occurence, celui qui m'interpelle le plus est PathCopyEx. Quel programmeur n'a pas eu besoin de copier le chemin complet pour désigner un fichier log ?

    Cette fois, en 1 clic, ce sera fait!

    28 mai 2004

    2 outils libres pour créer des animations Flash

    Grâce à framasoft, (un très bon annuaire francophone regroupant des logiciels libres), je suis tombé sur ces logiciels :

    http://powerbullet.com/

    Powerbullet permet de créer des animations facilement, avec de simples insertion d'objet, dont on donne l'effet voulu. Une animation se décompose en plusieurs pages, dont la transition est paramétrable.

    Après des essais rapides sur le tutoriel, il apparait que Powerbullet est une sorte de Powerpoint amélioré, qui permet de gérer une animation multipages. Il est gratuit et permet d'exporter ses animations en Flash (.swf).

    Une bonne idée donc pour créer facilement (voir exemples sur le site) des animations Flash pour son site web perso.

    http://www.debugmode.com/wink/

    Wink est un outil de création de démo : vous pouvez prendre des photos de votre écran (en appuyant sur la touche Pause de votre clavier), pour montrer la cinématique visuelle de votre application, et Wink se charger de récupérer tous les screenshots et en fait une animation Flash.

    Très simple à employer et idéal pour construire un tutoriel de logiciel!

    12 mai 2004

    Un très grand merci!

    Cool, mon 1er blog! ;-)

    Hier j'ai vu un film, Man on the Moon, dédié à un humoriste américain que je ne connaissais pas, Andy Kauffman. Ce type était totalement fou, il faisait des canulars tellement à tiroirs, que lorsqu'il a été près de mourir, personne ne le croyait.

    Vraiment une existence à part. Le film lui même est plutôt bon, quoique conventionnel. Jim Carey a du bosser pour incarner une telle personnalité, et Danny de Vito est comme toujours très bon.

    Et comme dirait Andy Kaufman dans un de ces rôles, un très grand merci! ;-)