[U-Boot] Possible GPL violation

Hi,
Short version: Is there anyone that can support me with enforcing GPL compliance on company that ships product with binary u-boot? Or did that in the past?
Long version: Polish market is flooded with cheap DVB-T receivers (we're switching to digital tv now), android tablets etc. They're "made" (branded is probably better word) by local companies, and my guess is that most of them is violating GPL.
Some time ago I've bought WIWA HD100 DVB-T receiver. I have coverage issues, so I decided to play a bit with this device, just to have fun (also to try to port Linux there).
I already knew that other models made by this vendor are using u-boot, so I played a bit with HW, found serial port and:
<log> Hello U-Boot
U-Boot 1.1.6 (Oct 13 2011 - 00:32:14)
Board: MSTAR KRNOUS (CPU Speed 552 MHz) DRAM: 64 X 0 MBytes U-Boot is running at DRAM 0x87600000 </log>
I also disassembled parts of asm code (AFAIR it was mips_cache_reset, but I may be wrong).
I'd love to have sources (porting Linux to unknown, closed SOC is painful without documentation, u-boot sources are very helpful), so I wrote to manufacturer and called them several times. Unfortunately they either don't understand what I'm asking for, or deliberately ignoring my requests.
I can't do much myself (except for nagging them for source code), as it's not my copyrights that they're infringing.
Is there a chance that you can help me or should I try using GPL-Violations mailing list?
Regards, Mateusz

Dear Mateusz,
In message 5123E16B.1060907@gmail.com you wrote:
Is there anyone that can support me with enforcing GPL compliance on company that ships product with binary u-boot? Or did that in the past?
We can try.
They're "made" (branded is probably better word) by local companies, and my guess is that most of them is violating GPL.
Guesses are not good enough in such legal affairs.
I can't do much myself (except for nagging them for source code), as it's not my copyrights that they're infringing.
So did you contact the vendor and ask for the source code? And did they answer, and what exactly?
Best regards,
Wolfgang Denk

Dear Wolfgang,
On 20.02.2013 15:24, Wolfgang Denk wrote:
They're "made" (branded is probably better word) by local companies, and my guess is that most of them is violating GPL.
Guesses are not good enough in such legal affairs.
I know, that's why I'm not asking for help with "all" devices, just the one I have.
I can't do much myself (except for nagging them for source code), as it's not my copyrights that they're infringing.
So did you contact the vendor and ask for the source code? And did they answer, and what exactly?
10.2012 - I filled "generic" support form asking for sources of U-Boot, no reply.
~01.2013 - I called their tech-support, asking for sources. Of course guys didn't understood what I was asking for, but gave me e-mail to person that should be able to help me.
01.2013 - I send email to that person, no reply.
end of 01.2013 - I called tech-support again, and was transferred to person I emailed earlier - and tried to explain that to comply with GPL they should provide me with sources on request. I'm not sure if he understood me, but was supposed to check it and get back to me. Of course he didn't.
Perhaps it's my fault that in e-mails I didn't explained that they're obliged to provide me the sources (due to GPL) - that's why tomorrow I will try again to call and (if it fails) write them big email with quotes from GPL.
If you have better ideas (I can go directly to their office, or send regular mail) - please share them, as you have way more experience with legal stuff than I do.
Regards, Mateusz

Is there anyone that can support me with enforcing GPL compliance on company that ships product with binary u-boot? Or did that in the past?
We can try.
They're "made" (branded is probably better word) by local companies, and my guess is that most of them is violating GPL.
Guesses are not good enough in such legal affairs.
I can't do much myself (except for nagging them for source code), as it's not my copyrights that they're infringing.
So did you contact the vendor and ask for the source code? And did they answer, and what exactly?
Technically... he should have got source code or written offer for it with the device. So they are already breaking GPL. Pavel

Dear Pavel,
In message 20130307091729.GA24807@xo-6d-61-c0.localdomain you wrote:
So did you contact the vendor and ask for the source code? And did they answer, and what exactly?
Technically... he should have got source code or written offer for it with the device. So they are already breaking GPL.
Of course you are correct. But there is a wide ange of possibilies; some vendors just don't know what they are supposed to do, and are appreciative for a friendly hint. Of course there are also those where you need a fully charged blaster - but in my experience these are very few.
Best regards,
Wolfgang Denk

I have had to deal with this a bit so I'll give my 2c.
Under the GPL2, the company only has to provide source, or make an offer to do so, to customers buying the product containing the GPL code.
The flip side to this is that the "teeth" in the GPL come from copyright law and the only person who can force anything is the copyright holder.
So that really means: 1) If you buy a product containing GPL code, but the company does not supply the code, then - in general - you cannot force the company to supply you with code. You need to get the collaboration of an infringed copyright holder to force the issue. 2) If you are the copyright holder of some GPL code, you cannot - in general - demand that the company supply you with code. You have to either buy a product or get the collaboration of someone that has bought a product.
In the cases I have been involved with (as an infringed copyright holder), the lawyers bought a product on our behalf and made requests for code and then when none was forthcoming they pressed the case.
It really isn't as easy as it should be...
On Fri, Mar 8, 2013 at 4:28 AM, Wolfgang Denk wd@denx.de wrote:
Dear Pavel,
In message 20130307091729.GA24807@xo-6d-61-c0.localdomain you wrote:
So did you contact the vendor and ask for the source code? And did they answer, and what exactly?
Technically... he should have got source code or written offer for it with the device. So they are already breaking GPL.
Of course you are correct. But there is a wide ange of possibilies; some vendors just don't know what they are supposed to do, and are appreciative for a friendly hint. Of course there are also those where you need a fully charged blaster - but in my experience these are very few.
Best regards,
Wolfgang Denk
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de The evolution of the human race will not be accomplished in the ten thousand years of tame animals, but in the million years of wild animals, because man is and will always be a wild animal. - Charles Galton Darwin _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

Dear Charles,
In message CAE21AQoqC8_sJarKmSAa2f-3=3YDPL9gK7rxL7pXUx3aa=NinQ@mail.gmail.com you wrote:
- If you buy a product containing GPL code, but the company does not
supply the code, then - in general - you cannot force the company to supply you with code. You need to get the collaboration of an infringed copyright holder to force the issue.
Just for the record: I'm always willing to help out as such.
Best regards,
Wolfgang Denk

On Fri, Mar 8, 2013 at 11:23 AM, Wolfgang Denk wd@denx.de wrote:
Dear Charles,
In message CAE21AQoqC8_sJarKmSAa2f-3=3YDPL9gK7rxL7pXUx3aa=NinQ@mail.gmail.com you wrote:
- If you buy a product containing GPL code, but the company does not
supply the code, then - in general - you cannot force the company to supply you with code. You need to get the collaboration of an infringed copyright holder to force the issue.
Just for the record: I'm always willing to help out as such.
One of the problems with pursuing these actions is that it can be somewhat hard to prove that you have contributed materially to claim copyright over some code.
There are some places where this is clear (eg. much of Wolfgang's u-boot work) or in my case Yaffs (where I have written all the core yaffs code).
In much of open source though, there have been many major contributors and even more minor contributors and it can be hard to claim to be a legitimate copyright holder. In theory, I guess you could claim copyright on a three line patch, but the harsh reality of lawyer land would probably want to see something far more substantial.
#disclaimer I'm not a lawyer
-- Charles

Dear Charles Manning,
In message CAE21AQpUuFOAfwRk=7rsQHL5p_EVhiNQUAT4QKY=px0SvxOb7A@mail.gmail.com you wrote:
- If you buy a product containing GPL code, but the company does not
supply the code, then - in general - you cannot force the company to supply you with code. You need to get the collaboration of an infringed copyright holder to force the issue.
Just for the record: I'm always willing to help out as such.
One of the problems with pursuing these actions is that it can be somewhat hard to prove that you have contributed materially to claim copyright over some code.
I think I should be in a pretty good position to prove that. This is why I always offer help in such situations.
In much of open source though, there have been many major contributors and even more minor contributors and it can be hard to claim to be a legitimate copyright holder. In theory, I guess you could claim copyright on a three line patch, but the harsh reality of lawyer land would probably want to see something far more substantial.
This is one of the reasons why the FSF asks for / recommends copyright assignments, see for example [1].
[1] http://www.gnu.org/licenses/why-assign.html
Best regards,
Wolfgang Denk

fre 2013-03-08 klockan 10:46 +1300 skrev Charles Manning:
I have had to deal with this a bit so I'll give my 2c.
Under the GPL2, the company only has to provide source, or make an offer to do so, to customers buying the product containing the GPL code.
If you go the written offer path then it's not limited to your customers, the written offer is valid for any third party which pretty much means anyone. This is to cover that your customers have the right to redistribute non-commercially with a copy of your written offer.
Regards Henrik

Wolfgang Denk <wd <at> denx.de> writes:
Dear Mateusz,
In message <5123E16B.1060907 <at> gmail.com> you wrote:
Is there anyone that can support me with enforcing GPL compliance on company that ships product with binary u-boot? Or did that in the past?
We can try.
They're "made" (branded is probably better word) by local companies, and my guess is that most of them is violating GPL.
Guesses are not good enough in such legal affairs.
I can't do much myself (except for nagging them for source code), as it's not my copyrights that they're infringing.
So did you contact the vendor and ask for the source code? And did they answer, and what exactly?
Best regards,
Wolfgang Denk
Hi there
Has there been any progress on this GPL non-compliance issue?
Similar products as mentioned by the OP are also available in the USA. I have purchased one of them, a HomeWorX HW-150PVR "manufactured" and distributed by Mediasonic, which seems to be a DBA for Major League Global Enterprise LLC, 16968 Gale Ave., City of Industry, CA 91745, USA. A product of identical functionality is the iView-3500STB "manufactured" and distributed by Wiltronic Corporation.
Both products are set-top boxes with ATSC TV tuners and a USB port for recording and playback of content. The main board has a MS7816 SoC made by MStar Semiconductor of Taiwan.
On startup the onboard serial port outputs:
= = = begin = = = UART_115200 BIST0-OK _snPDMDrv_PM_RtcGetCounter(CurrentCounter=0)
Hello U-Boot
U-Boot 1.1.6 (Feb 27 2013 - 22:42:31)
Board: MSTAR KRNOUS (CPU Speed 552 MHz) DRAM: 64 X 0 MBytes U-Boot is running at DRAM 0x87600000 ###############BOARD CONFIGURATION##################### DEFAULT ENBALE L2-Cache FPU(ENABLE) ENABLE_DDR3_16BIT_MODE DDR_FREQUENCY(1066MHz) ###############BOARD CONFIGURATION##################### Module: USB FAT FLASH SPI LOGO OSD ENV=SERIAL Flash is detected (0x0C00, 0xC8, 0x40, 0x16) MDrv_SERFLASH_GetInfo() u32AccessWidth = 1 u32TotalSize = 4194304 u32SecNum = 64 u32SecSize = 65536 In: serial Out: serial Err: serial GPIO PIN 6 HIGH!!!!!!! ... = = = end = = =
This version of U-Boot installed in the product seems to have been significantly enhanced by MStar. The `help' menu is:
= = = begin = = = << MStar >># help ? - alias for 'help' do Lzma for compress image base - print or set address offset bdinfo - print Board Info structure boot_logo - Logo display bootm - boot application image from memory cmp - memory compare coninfo - print console devices and information cp - memory copy cpmsbin - Copy ms bin file (Chakra) from nand to dram crc32 - checksum calculation cusid check the image is release by the valid guys dcache - enable or disable data cache dmx_init - initialize the demux setting dmx_init - initialize the demux setting draw_pixel - draw a pixel with color draw_string - draw string with color draw_rect - draw rect with color draw_string - draw string with color du - Disable UART env2flash - read environment parameter file and restore it to flash envbin - read out environment parameter and store it to usb disk erase - erase FLASH memory fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) fatwrite - write binary file to a dos filesystem flinfo - print FLASH memory information go - start application at address 'addr' help - print online help loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mstar - update kernal & root file system automatically by script file mtest - simple RAM test mw - memory write (fill) ustar - update kernal & root file system automatically by script file nm - memory modify (constant address) ostar - update kernal & root file system automatically by script file oad_get_size - Get the file size from OAD download osd_create - create osd layer osd_destroy - destroy osd layer pnlinfo - set panel info and save to nand flahs printenv- print environment variables protect - enable or disable FLASH write protection reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage set_paneltype [type] - Set Mboot panel type and store the type value in env setenv - set environment variables spi_dma - SPI copy data from flash to DRAM by PIU DMA spi_ea - SPI erase all spi_eb - SPI erase block spi_gfo - SPI get flash info spi_gr - SPI get Chip Rev spi_id - SPI read ID spi_in - SPI initialization spi_r - SPI read commands spi_rb - SPI read buffer spi_rdc - SPI read code from SPI flash to DRAM spi_rs - SPI read status spi_w - SPI write commands spi_wb - SPI write buffer spi_wp - SPI write protect spi_wrc - SPI write code from DRAM to SPI flash sspi - SPI utility commands sysinfo - set system info and save to nand flahs tuner_demodtype - set frontend type tuner_init - frondend initialization tuner_tune - tune RF to check lock or not usb - USB sub-system ustar - update kernal & root file system automatically by script file usbboot - boot from USB device ustar - update kernal & root file system automatically by script file version - print monitor version << MStar >># = = = end = = =
The HomeWorX product documentation and their website do not mention anything about GPL software or the GPL. Several weeks ago I contacted Mediasonic Tech Support by email for a request of "U-Boot and any other GPL source code. For the first email, I received a response of "will pass your request to Design Department." A follow-up inquiry was ignored.
This week I posted a public request for the Mediasonic/MStar GPL source code at Mediasonic's user forum: http://forum.mediasonic.ca/viewtopic.php?f=44&t=1820. But it seems like the forum's Admin/moderator has chosen to ignore my post.
Any advice on how to enforce GPL compliance and obtain the source code?
Regards -- Gerard
participants (6)
-
Charles Manning
-
Gerard Kam
-
Henrik Nordström
-
Mateusz Kulikowski
-
Pavel Machek
-
Wolfgang Denk