Everything, Everything

2024: January February March
2023: J F M A M J J A S O N D
2022: J F M A M J J A S O N D
2021: J F M A M J J A S O N D
2020: J F M A M J J A S O N D
2019: J F M A M J J A S O N D
2018: J F M A M J J A S O N D
2017: J F M A M J J A S O N D
2016: J F M A M J J A S O N D
2015: J F M A M J J A S O N D
2014: J F M A M J J A S O N D
2013: J F M A M J J A S O N D
2012: J F M A M J J A S O N D
2011: J F M A M J J A S O N D
2010: J F M A M J J A S O N D
2009: J F M A M J J A S O N D
2008: J F M A M J J A S O N D
2007: J F M A M J J A S O N D
2006: J F M A M J J A S O N D
2005: J F M A M J J A S O N D
2004: J F M A M J J A S O N D
GPL
Tuesday 30th January, 2007 02:06 Comments: 0
I should point out that IANAL, and this is going to be a rant, but hopefully I won't say anything that's actually wrong. It seems that BT are getting a bit pissed off with the GPL.

BT said: "The BT Home Hub is developed by Thomson on the basis of a Linux kernel (version 2.6.8.1) which is released under the General Public License v.2 in connection with proprietary binary kernel module and proprietary user space application. The binary module is based on proprietary software of Thomson (or of its licensors) and is subject to proprietary license terms. Thomson's use of the Linux kernel and kernel modules is in conformity with the terms of the GPL and complies with any of its obligations as a user and distributor of GPL code."

So a product that was developed by another company appears to be made up of the Linux kernel along with some closed source binaries. Firstly, it looks like Thomson are really to blame for any legal problems, and secondly how is it any different to someone like NVIDIA or ATI that only release closed source proprietary drivers, an issue that's been raised a long time ago?

Linux founder and leader Linus Torvalds has argued that some proprietary modules are permissible because they're not derived from the Linux kernel, but were originally designed to work with other operating systems. If they had originated from the kernel, that would require them to be covered by the GPL.

"Historically, there's been things like the original Andrew file system module: a standard file system that really wasn't written for Linux in the first place," Torvalds wrote in a 2003 mailing list posting. "Personally, I think that case wasn't a derived work, and I was willing to tell the AFS guys so."

The FSF sharply disagreed with what he said. "If the kernel were pure GPL in its license terms... you couldn't link proprietary video drivers into it, whether dynamically or statically," FSF attorney Eben Moglen said in an interview. So it's unsurprising that FSF Europe is unimpressed with BT:

Armijn Hemel of gpl-violations.org analysed the source code and said that some of the necessary code is missing. For example, a top level Makefile and the scripts that would be used to properly generate a firmware image have not been included. A script or file with the uClibc configuration is also mandatory.

The GNU GPL is not negotiable and is thus not subject to any third party's 'best and final offer.' Failure to comply with the terms of the licence terminates it.

Our job is to help maintain a fair and healthy Free Software eco-system and make it as easy as possible for companies like BT to use Free Software for their projects and products in a sustainable way. That is why - after we had first learned about the problems from inquiries by the media - we contacted BT, offering our help and advice to come into compliance with the GNU GPL. We uphold that offer and hope that BT will talk to us or another party knowledgeable in the issue to come into compliance with copyright law.


What would I do if I were BT? I would ignore the FSF (or tell them to go f**k themselves), wait for the gpl-violations.org project to eventually sue BT, which will probably result in something like this similar case against D-Link in Germany (PDF), which worked out as 2,871.44 EUR, plus interest. Assuming BT get hit by a similiar fine (in what I think would be the first GPL case in the UK?), that's not much for BT to make the whole issue go away. And then they can probably sue Thomson as they developed it for BT in the first place.

So why is this all an issue? Why are there so many problems with 3D cards and networking kit that use the Linux kernel? It's partly the big companies like NVIDIA not wanting to give away source code, but it's partly because there isn't a stable interface to the Linux kernel. A stable interface provides a fixed and documented way for a driver to communicate with the kernel. Even if the kernel interior changed, the method of communication would remain the same, and drivers wouldn't have to change with kernel updates, for example.

Doing so would inhibit the freedom to innovate, but would make the lives of companies and end users a lot easier. With the existing fluid interface in Linux, programmers must provide drivers for numerous kernel variations, and old drivers - open or proprietary - sometimes simply stop working. ATI is willing to accommodate Linux's fluid style, but because their drivers (and NVIDIA, and some USB drivers etc.) are closed course, some distributions (typically the less "user friendly" ones) won't even allow them to be installed.

With Windows there is a stable interface for drivers in the kernel. A driver developed against NT 4 can often still work fine on XP, and it's why so many of us are used to installing Windows 2000 drivers in XP - and some of us will even try installing XP drivers to get stuff running in Vista (the new WDDM for graphics cards will require new drivers, which are currently quite immature, but the old ones will still work to provide legacy support). The new quirk is Vista x64 won't allow unsigned binary drivers to be installed, which has broken a few things, but it's easy to fix if manufacturers were to sign their code (something that's been possible since Windows 2000 appeared 7 years ago, so it's not exactly a new thing).

Some worry that a stable interface in Linux could also lead to more proprietary drivers, as manufacturers and developers are no longer 'forced' to give away code. But if the interface is stable and no one's touching the kernel, who really cares? No one in the Linux community is really losing out. The alternative is that you stop NVIDIA and ATI from providing drivers for people, so people will stop using Linux to play games and do clever graphics. Manufacturers of networking kit will move to something else, which will reduce innovation and support and user feedback. It's only going to harm Linux if idealistic squabbles are going to get in the way of all commercial innovation.

Sometimes you need a grey area.
© Robert Nicholls 2002-2024
The views and opinions expressed on this site do not represent the views of my employer.
HTML5 / CSS3