Alban’s blog

January 28, 2005

Le droit d’auteur sur le logiciel dans l’entreprise

Filed under: Uncategorized — alban @ 9:47 pm

Aujourd’hui à l’ENSIMAG, nous avons eu un cours de droit sur la propriété intellectuelle.

La loi sur le droit d’auteur en France permet de protéger le logiciel. Ainsi, l’auteur d’un logiciel possède automatiquement les droits d’exploitation de sa création. Cependant, dans le cas d’un logiciel créé par un employé, c’est l’employeur qui possède les droits d’exploitation, comme le prévoit l’article L. 113-9 du Code de la Propriété Intellectuelle (CPI).

Que se passe-t-il si l’employé veut réaliser pour son compte un logiciel en dehors des heures de travail? L’article L. 113-9 du CPI précise que l’employeur récupère les droits patrimoniaux dans le cas où l’employé réalise le logiciel «dans l’exercice de [ses] fonctions ou d’après les instructions de [son] employeur». Il faut donc que la création soit rattaché à l’activité du salarié pour que l’employeur puisse récupérer les droits patrimoniaux. Il n’est cependant pas nécessaire que la création ait lieu pendant les heures de travail.

Notamment, «les droits sur le logiciel créé par le salarié grâce au matériel de l’employeur, même si la création intervenait hors des heures de travail, sont attribués à l’employeur» (source: celog).

Cela est bien résumé sur la liste fsfe-france.

Ceci est-il compatible avec le développement de Logiciels Libres en entreprise? Une idée pour s’assurer qu’un logiciel reste libre est que l’employé conserve les droits patrimoniaux de ses créations, ce qui est permis par l’article L. 113-9 CPI.

Ainsi, l’association FSF France a rédigé des clauses pour contrat de travail (adapté au droit français) permettant d’assurer à l’employé que son travail soit diffusé sous la licence GNU GPL. En utilisant ces clauses, l’employeur accepte que l’employé conserve les droits patrimoniaux sur sa création (avec certaines conditions).

Je ne sais pas si l’article L. 113-9 CPI a un équivalent au Canada (Tester pourra peut-être me renseigner?), mais la volonté de “respecter la propriété intellectuelle des employés” existe aussi, voir par exemple le billet de Benoit».

January 22, 2005

Téléchargement légal de musique

Filed under: Uncategorized — alban @ 2:09 pm

Après avoir lu l’article de Libération sur la vente de musique en ligne, j’ai testé quelques sites marchands en cherchant 4 artistes pour lesquels j’ai déjà acheté plusieurs de leurs albums.

Voici le résultat de mes recherches:

  • iTunes Music Store: aucun des artistes n’a été trouvé.
  • Fnacmusic: aucun des artistes n’a été trouvé.
  • Virgin: le pire de tous: le site ne marche pas! Le message d’erreur me dit qu’il faut Windows 98. Ou alors le site me dit “Chargement…. Merci de patienter.” et ça s’arrête là.
  • Amazon: là, par contre, tout ce que j’ai cherché est en ligne. Je trouve facilement la liste des albums, la liste des titres par albums, avec les notes et commentaires des fans. De plus on a souvent la possibilité d’écouter en ligne des extraits. Par contre, Amazon ne fait que de la vente par correspondance, on ne peut pas télécharger en ligne.

J’en conclus que le téléchargement légal sur Internet, c’est un mythe, ça n’existe pas. Je vais donc continuer à acheter des vrais CD.

January 6, 2005

Histoire d’un bug

Filed under: Uncategorized — alban @ 10:46 pm

Lucas a eu un problème avec un bout de code en Ruby: en gros, ça se bloque lorsqu’on essaie de lire un fichier de /proc. Les autres fichiers ne font pas bloquer le programme. Le problème apparait uniquement sur les noyaux linux 2.6. Les 2.4 n’ont pas ce problème.

A coup de strace, on découvre que les user threads de Ruby utilisent l’appel système select afin de faire des I/O non bloquants entre les threads. En effet, comme les threads sont implémentés sans aucun support du noyau, si un thread se trouve bloqué dans un appel système bloquant, les autres threads le sont aussi, contrairement aux vrais threads. L’utilisation de l’appel système select évite cela.

On pourrait se dire que les développeurs de Ruby auraient pu utiliser l’option O_NONBLOCK pour les appels d’I/O pour éviter qu’ils soient bloquants. Mais cela ne permet pas de faire de l’attente passive.

J’ai écrit un bout de code en C qui isole un peu plus le problème. On observe alors que c’est bien l’appel système select qui pose problème: le comportement de select ne correspond pas à ce qui est attendu pour certains fichiers de /proc (il s’agit de loadavg, uptime, meminfo, version, hardware, stram, devices, filesystems, cmdline, locks et execdomains). D’autres fichiers de /proc semblent marcher (par exemple, cpuinfo, partitions, mounts…).

Avec Matthieu, on a cherché d’où cela venait et pourquoi le 2.6 a un comportement différent du 2.4. Le code de l’appel système select se trouve dans fs/select.c. Celui-ci appelle le code de poll si le descripteur de fichier en question comporte une telle méthode (file->f_op->poll). Après quelques tests, il semble que /proc/uptime possède une méthode poll mais je n’ai pas trouvé son code…

Une page trouvée par Google rapporte une discussion sur l’utilité ou non de supporter l’appel système select et poll pour les fichiers de /proc.

J’ai finalement posé la question sur la LKML. En espérant avoir une réponse…

Et vous, qu’en pensez-vous?

Powered by WordPress