virux
2nd January 2004, 14:22
http://www.mplayerhq.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.
OMG :eek:
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.
OMG :eek: