[GUFSC] Another GPL violation: Kiss Technology

adrianob em das.ufsc.br adrianob em das.ufsc.br
Sábado Janeiro 3 00:28:53 BRST 2004


http://mp.dev.hu/homepage/design6/news.html

2004.01.02, Friday :: Another GPL violation: Kiss Technology
posted by Gabucino

Basically Kiss Technology is specialized in particular kinds of media
hardware, namely DVD and MPEG-4 players, set-top-boxes, and such.

There is nothing wrong with that.

However, if a careless user initiates a string search in one of their
firmwares:
$ strings KiSS_DP-508_FW2.7.4_PAL.iso | grep -A 3 -B 6 MPSub
Microdvd
Subrip
Subviewer
Sami
Vplayer
Unknown
MPSub
Subviewer 2.0
Subrip 0.9
Jacosub

Running the same command on the MPlayer binary:

$ strings /usr/bin/mplayer | grep -B 8 mpsub -A 4
<...>
L>microdvd
subrip
subviewer
sami
vplayer
dunnowhat
mpsub
subviewer 2.0
subrip 0.9
jacosub
<...>

You can also check the subreader.h or the subreader.c files in MPlayer
sources.
As you can see, the KiSS firmware contains the subtitle formats in the very
same order as we do. The thing that really catches the eye is the MPSub
format, which is our own subtitle format, which hasn't been used anywhere
else so far.

Another nice nit is the "dunnowhat" AKA "unknown" subtitle format, whose
name remains unknown for us - thus the naming. It's the same in KiSS' files.

This of course is hardly enough for a proof. What really makes it a one
hundred percent stealing is quite obvious: the sscanf() calls which contains
the patterns of the subtitle formats known to the subtitle parser, in order
to identify the chosen subtitle file.

Let's take an easy example:

$ strings fileplayer.bin
<...>

%d:%d:%d.%d %d:%d:%d.%d
@%d @%d
%d:%d:%d:
%d:%d:%d
Dialogue: Marked
%d,%d,"%c
FORMAT=%d
FORMAT=TIM%c
-->>
<...>


$ strings subreader.o
<...>

%d:%d:%d.%d %d:%d:%d.%d
@%d @%d
%d:%d:%d:
%d:%d:%d
Dialogue: Marked
Dialogue:
%d,%d,"%c
FORMAT=%d
FORMAT=TIM%c
-->>
<...>



These are the patterns we use to identify a SAMI subtitle file. We have one
more pattern in our parser, which was commited on 2003 July 20, in effect of
supporting a new subtitle format, called "ASS". Kiss Tech's files are
missing this one, so they must have lifted our code before that date.

Let's see another:

$ strings fileplayer.bin
<...>
<%*[tT]ime %*[bB]egin="%d.%d" %*[Ee]nd="%d.%d"%*[^<]<clear/>%n
<%*[tT]ime %*[bB]egin="%d.%d" %*[Ee]nd="%d:%d.%d"%*[^<]<clear/>%n
<%*[tT]ime %*[bB]egin="%d:%d" %*[Ee]nd="%d:%d"%*[^<]<clear/>%n
<%*[tT]ime %*[bB]egin="%d:%d" %*[Ee]nd="%d:%d.%d"%*[^<]<clear/>%n
<%*[tT]ime %*[bB]egin="%d:%d.%d" %*[Ee]nd="%d:%d.%d"%*[^<]<clear/>%n
<...>

$ strings subreader.o
<...>
<%*[tT]ime %*[bB]egin="%d.%d" %*[Ee]nd="%d.%d"%*[^<]<clear/>%n
<%*[tT]ime %*[bB]egin="%d.%d" %*[Ee]nd="%d:%d.%d"%*[^<]<clear/>%n
<%*[tT]ime %*[bB]egin="%d:%d" %*[Ee]nd="%d:%d"%*[^<]<clear/>%n
<%*[tT]ime %*[bB]egin="%d:%d" %*[Ee]nd="%d:%d.%d"%*[^<]<clear/>%n
<%*[tT]ime %*[bB]egin="%d:%d.%d" %*[Ee]nd="%d:%d.%d"%*[^<]<clear/>%n
<...>

These are the patterns we use to identify an RT subtitle file.

Every single one of their patterns match ours! This is not coincidence. This
is stealing GPL code into a proprietary product! Kiss Technology failed to
answer our inquiry for their source files (which they are obligated to
provide), so this news entry is posted.

Downloads:

    * Kiss firmware
    * Kiss fileplayer strings
    * MPlayer subreader strings





Mais detalhes sobre a lista de discussão GUFSC