URL: https://linuxfr.org/users/tgl/journaux/chronique-dune-violation-de-licence-ordinaire Title: Chronique d'une violation de licence ordinaire... Authors: tgl Date: 2004年09月07日T12:38:43+02:00 Tags: Score: 0 Lors d'un petit browsage de web, je tombe là dessus : [http://www.tvix.co.kr/Eng/Products/TViX.aspx(...)](http://www.tvix.co.kr/Eng/Products/TViX.aspx) Il s'agit d'un player de DivX et autres fichiers audio/vidéo, équipé d'un disque dur et qui se branche sur l'USB2 côté PC pour se faire remplir, et sur la télé/chaine-hifi pour se faire vider. Là je me dis "forcement, c'est encore un petit linux...", mais un petit google ne me donne pas la confirmation. Je télécharge donc le firmware sur le site du constructeur, et je vérifie un peu tout ça : % cd /tmp % wget [http://demod.dvico.com/down/tvixfw1.4-eng.zip(...)](http://demod.dvico.com/down/tvixfw1.4-eng.zip) % unzip -e tvixfw1.4-eng.zip Archive: tvixfw1.4-eng.zip inflating: flash.bin inflating: tvixfw.bin % file tvixfw.bin tvixfw.bin: romfs filesystem, version 1 3078912 bytes, named DVDPLAYER 0.0.0 Wed Aug 18 19:4. % sudo mkdir /mnt/romfs % sudo modprobe loop % sudo mount -o loop /tmp/tvixfw.bin /mnt/romfs % ls /mnt/romfs bin cdrom dev etc fipmodule.o fonts hd HDD1 HDD2 HDD3 HDD4 img khwl.o linux.bin.gz minimod proc Ah bah oui, un de plus :) Et les licences, elles sont où ? Et les sources ? Bon, finalement, en googlant un peu mieux je trouve une mention du mot Linux chez le constructeur, dans la FAQ :
Q) I can see the file name on my PC. But I can’t see it on TVIX. A) Our device is based on Linux. So it doesn’t support files which is over 2GB. If you want to make our device to support the file, you should divide that file into the files are less than 2GB.
Arf, les ingrats... Bon, à l'examen, le contenu de leur firmware ne révèle que qlqs executables statiques. Statique ? Hmmm... J'espère qu'ils n'utilisent pas la μClibc, parce que la LGPL impose quand même quelques condition pour être liée statiquement à un exécutable. Cf. les articles 5 et 6 de la LGPL (en français pour les grosses flemmes comme moi) : https://web.archive.org/web/20040823034142/http://www.linux-france.org:80/article/these/licence/lgpl/lgpl-3.html (NdM: remplacement par un lien archive.org) Voyons ça... % strings /mnt/romfs/bin/aviplay | sort -u > /tmp/aviplay-strings.txt % strings /usr/i386-linux-uclibc/lib/libuClibc-0.9.26.so | sort -u > /tmp/uclibc-strings.txt % cat /tmp/aviplay-strings.txt /tmp/uclibc-strings.txt | sort | uniq -d 127 Oh c'est fout ça, 127 messages identiques entre leur binaire proprio et la μClib... Pour ceux qui auraient eu la flemme de lire les articles LGPL, le site de μClibc fait un petit résumé du service minimum obligatoire : [http://www.uclibc.org/FAQ.html#licensing(...)](http://www.uclibc.org/FAQ.html#licensing) Faute d'avoir une appli libre, on devrait au moins avoir accès à une appli linkée dynamiquement (en plus biensûr d'avoir une mention explicite de l'utilisation de la μClibc, de sa licence, etc.) Passons maintenant au noyau. On remarque tout de suite les fichiers "fipmodule.o" et "khwl.o" à la racine. Oh, attendez, Sigma Designs, ça vous dit qqch ? Ces 2 modules sont en fait caractéristiques de leurs produits, on les retrouve dans de nombreux autres firmware depuis longtemps. Voir par exemple : [http://lkml.org/lkml/2003/11/29/45(...)](http://lkml.org/lkml/2003/11/29/45) Rien de bien neuf ici donc, juste un n-ième produit dérivé Sigma, qui comme ses copains oublie de mentionner que le noyau Linux est sous GPL, ce genre de détails... Après, est-ce que leur noyau est modifié, on peut supposer que non (si ils voulaient aller aussi loin, il ne se seraient même pas embêtés à mettre le driver proprio en module...). M'enfin j'ai pas du tout les capacités pour le vérifier formellement. Enfin pour être complet, un coup d'oeil à "flash.bin" : % file flash.bin flash.bin: POSIX tar archive % tar xvf flash.bin tvixfw/ tvixfw/logo.png tvixfw/flash.fuf tvixfw/fipm.o tvixfw/khwl.o tvixfw/flash tvixfw/mtd/ tvixfw/mtd/mtdcore.o tvixfw/mtd/mtdchar.o tvixfw/mtd/chips/ tvixfw/mtd/chips/chipreg.o tvixfw/mtd/chips/cfi_probe.o tvixfw/mtd/chips/cfi_cmdset_0002.o tvixfw/mtd/chips/gen_probe.o tvixfw/mtd/chips/jedec_probe.o tvixfw/mtd/maps/ tvixfw/mtd/maps/jaspermap.o Quelques `strings` plus loin, on se rend compte qu'il s'agit d'un ensemble de modules noyau, certain GPL, d'autres proprio made in Sigma. En fait j'aurais pu commencer par là, car tout indique très clairement qu'on a affaire au SDK de Sigma. Par exemple : % strings tvixfw/mtd/chips/cfi_probe.o kernel_version=2.4.17-uc0 license=GPL author=David Woodhouse <dwmw2@infradead.org> et al. description=Probe code for CFI-compliant flash chips /sigma/EM85xx.dvd/uClinux-2.4/include/linux/dcache.h /sigma/EM85xx.dvd/uClinux-2.4/include/linux/sched.h [...] Bon voilà, le fruit d'une petite exploration dans un firmware. Perso c'était la première fois que je mettais vraiment le nez dans ce genre de truc, c'est un peu pour ça que je vous l'ai raconté au fur et à mesure, même si finalement la conclusion est qu'il s'agit d'une violation de licence déjà tristement banale... Je rapporterai quand même tout ça aux intéressés, je doute que ça change grand chose, mais au moins google aura trace que DViCO Inc. sont des méchants. Nah !

AltStyle によって変換されたページ (->オリジナル) /