LWN.net Logo

Free software survives the original copyright holder

Free software survives the original copyright holder

Posted Sep 2, 2004 4:20 UTC (Thu) by bignose (subscriber, #40)
Parent article: Pointless ideology?

In the case of this driver, the advantages of free software over non-free is made particularly clear.

The Philips Web Cam driver was in two parts: a free software driver allowing the camera to be used, and a non-free portion that gives access to extra features.

Removing the non-free portion of the PWC driver has the effect that it is lost to all its users. That will never come back, until the copyright holder changes that decision. The fact that it was non-free is what makes this so painful; users are forever at the whim of the copyright holder.

Removing the free portion of the PWC driver from the mainline kernel is far less damaging. It was released under the GPL; the original copyright holder cannot take back what was already released under that license. It was removed at the request of the author (and not via copyright enforcement). Anyone is free to take the code and add it back in. And modify it, and improve it, and share the improvements, and merge them back into the kernel, and so forth.

Thus, even for this one piece of hardware, the advantage of having a driver released as free software is made abundantly clear.


(Log in to post comments)

Free software survives the original copyright holder

Posted Sep 2, 2004 5:08 UTC (Thu) by gdt (subscriber, #6284) [Link]

It was removed at the request of the author (and not via copyright enforcement). Anyone is free to take the code and add it back in.

And what of the moral aspects of ignoring the author's explicit wish? Free software has moral objectives, so moral considerations are important.

To me the most disappointing aspect has been the shoddy treatment of the author. It hardly encourages participation in the Linux kernel community.

As an aside, if you are upset at losing support for a Philips web cam you should really be upset at Philips. They could fix this situation with a simple letter declaring public the information releasing to Nemosoft under their NDA. The whole purpose of the video compression -- to fit a webcam video stream into USB v1 bandwidth -- has gone with USBv2. Keeping the details secret is no longer going to give Philips an advantage over other hardware manufacturers.

<mischevious grin>

It will be interesting to see if the reasoning behind removing the PWC compression API is applied to various firmware download APIs in drivers. Most of those APIs only exist to facilitate the use of non-free firmware.

</mischevious grin>

Binary-only firmware

Posted Sep 2, 2004 7:29 UTC (Thu) by vmlinuz (subscriber, #24) [Link]

It will be interesting to see if the reasoning behind removing the PWC compression API is applied to various firmware download APIs in drivers. Most of those APIs only exist to facilitate the use of non-free firmware.

As I understand it - and I could be wrong - there has been a line drawn between firmware like this, where the kernel driver is responsible for loading the code into an external device, and a binary driver, where the closed-source code is loaded into the kernel and executed within the kernel's address space on the system CPU. In a perfect world, of course we'd like binary-only firmware to go away too, but in the same way that most people are willing to accept, say, a closed-source BIOS, where they may not accept a closed-source kernel, binary-only firmware is a much lesser evil.

Plus, of course, for those devices which *don't* have the firmware loaded by the driver, they would tend to have it in a ROM on the device anyway, so unless you're going to demand that every piece of code, microcode, firmware, etc. exectuting within your system is open, it doesn't make all that much difference if the firmware is loaded by the kernel driver, or just there permanently...

Free software survives the original copyright holder

Posted Sep 2, 2004 8:25 UTC (Thu) by hingo (subscriber, #14792) [Link]

And what of the moral aspects of ignoring the author's explicit wish?

What about it? The guy knowingly releases code under the GPL. He knowingly goes against the hottest debated kernel policy by secretly smuggling in hooks to be used by a binary-only module. And now we should abandon some GPL code, because he asks for it. If you ask me, Linus and Greg have been bending over backwards for a guy that was only out to screw them.

In any case, I've understood that one good reason to pull the driver, is that it's not wise to have code hanging around that doesn't have a maintainer. So when somebody picks up this piece of abandoned GPL code and offers it back to the kernel, it will be included again. At least that what I read on kerneltrap.

Ignoring author's explicit wish

Posted Sep 2, 2004 8:30 UTC (Thu) by kamil (subscriber, #3802) [Link]

And what of the moral aspects of ignoring the author's explicit wish? Free software has moral objectives, so moral considerations are important.

Fair enough, but what about the users who paid for the camera, and want to use it?

It might not be the nicest thing to do to ignore the author's wish, but ignoring the clear interests of the users sounds a lot worse to me.

If you release something under GPL, you lose complete control over the code. If you don't like it, don't release under GPL in the first place.

Ignoring author's explicit wish

Posted Sep 2, 2004 13:30 UTC (Thu) by smoogen (subscriber, #97) [Link]

>Fair enough, but what about the users who paid for the camera, and want to
>use it?

They are also free to pay for someone to support the product for them or use another OS. There is a 'price' to using Linux.. if you dont like that price find an OS that meets your bill better.

People seem to have missed the various parts where Greg said, you are free to take the code.. fix the broken bits and resubmit it.. just be prepared to maintain it. [or they did see it and just dont want to maintain it.]

Ignoring author's explicit wish

Posted Sep 2, 2004 15:08 UTC (Thu) by kamil (subscriber, #3802) [Link]

I basically agree with what you're saying.

The only problem is, that what you're saying is off-topic for this particular thread. Go read the posting #100434 I was replying to. I basically disagreed with the notion that if an author of a GPL software "withdraws" it, we should all obey. It might be a polite thing to do, but polite is not necessarily the same as right.

Ignoring author's explicit wish

Posted Sep 2, 2004 20:05 UTC (Thu) by iabervon (subscriber, #722) [Link]

He was also the maintainer of a device driver, and he wanted a change to it applied. As his change doesn't cause problems for any other code, it gets applied, obviously. If someone else wants to take over maintainership, they can, and, since the old driver was under the GPL, they can base their driver on it. They should probably name it something different, though, because it won't behave as users expect (i.e., pwcx won't load). In fact, they should arrange it such that decompression can be done in userspace like is generally considered correct.

Free software survives the original copyright holder

Posted Sep 2, 2004 11:56 UTC (Thu) by Fats (subscriber, #14882) [Link]

And what of the moral aspects of ignoring the author's explicit wish? Free software has moral objectives, so moral considerations are important.
To me the most disappointing aspect has been the shoddy treatment of the author. It hardly encourages participation in the Linux kernel community.

The author should not have released it's software as GPL in the first place then. He should have thought about it before commiting. When you are commiting code to the linux kernel you have to be aware that your code becomes part of the kernel and some patches may be accepted that you don't like. If you can't accept that don't code in GPL.

Free software survives the original copyright holder

Posted Sep 2, 2004 13:01 UTC (Thu) by fjf33 (subscriber, #5768) [Link]

I think the author was more worried about having to deal with all the email and support coming from people that cannot make the camera work. Because without the compression the camera is very crippled.

In hindsight, if he was not trying to make a statement, he should have supplied a patch that removes it from the kernel and be quiet about it. Put a note that he is not maintaining it anymore and leave it at that.

Free software survives the original copyright holder

Posted Sep 2, 2004 16:11 UTC (Thu) by AJWM (subscriber, #15888) [Link]

And what of the moral aspects of ignoring the author's explicit wish?

Just which of the author's explicit wishes are you referring to? This latest one, or the wish the author expressed -- repeatedly -- when he first released (part of) the driver code, and subsequent modifications, under the GPL?

To me the most disappointing aspect has been the shoddy treatment of the author.

To me the most disappointing aspect has been the author's shoddy treatment of the community. From the second sentence of the preamble to the GPL: "the GNU General Public License is intended to guarantee your freedom to share and change free software" [emphasis added]. What kind of a guarantee is it if we let the guarantor say "sorry, I've changed my mind, you can't share this any more"?

If he no longer wants his name associated with it, that's certainly his perogative (especially if he no longer wants to be annoyed by support requests or bug reports). But not saying, in effect, "I'm taking my ball and going home, you're all big meanies and I don't want to play anymore".

I think we ought to abide by the wish the author expressed when he licensed the code under the GPL in the first place.

Free software survives the original copyright holder

Posted Sep 2, 2004 16:20 UTC (Thu) by iabervon (subscriber, #722) [Link]

It will be interesting to see if the reasoning behind removing the PWC compression API is applied to various firmware download APIs in drivers.

That question has already come up, and the answer was that firmware is software for a different computer (in fact, there are hard drives with chips which are CPUs on other computers), and is therefore installing it through the kernel is not really different from sending a ISO image in response to an HTTP request with sendfile(); the only difference is that the other computer is connected by PCI and it's not far away.

The issues with binary drivers don't apply, as well. Changing the kernel behavior doesn't matter to the firmware; changing the host architecture doesn't matter either. The firmware might actually be written in something not usefully processable by end users (e.g., FPGA images aren't going to be written in anything that gcc handles).

Debian removed binary blob drivers

Posted Sep 2, 2004 16:54 UTC (Thu) by pflugstad (subscriber, #224) [Link]

It will be interesting to see if the reasoning behind removing the PWC compression API is applied to various firmware download APIs in drivers. Most of those APIs only exist to facilitate the use of non-free firmware.

Debian's already done this - their latest distro kernels (as of about 2.6.4 or so) have removed ALL support for drivers that contain binary blobs in them.

I'm of two minds about this: one, I agree with the idea; two, it's a major pain in the ass from a simple users point of view.

Debian removed binary blob drivers

Posted Sep 2, 2004 17:14 UTC (Thu) by bronson (subscriber, #4806) [Link]

Does this make any sense at all?? Do these debian guys also disable the boot ROMs on their network and video cards? Do they unplug the BIOS chip from their motherboards? There is absolutely no difference between a closed-source firmware blob loaded over an I2C bus (say, a serial EEPROM) and a closed-source firmware blob loaded over the PCI bus. None at all.

I'm not happy to see this since I use Debian the most. Can anybody explain their thinking?

Why Debian removed binary blob drivers

Posted Sep 3, 2004 0:53 UTC (Fri) by abredon (subscriber, #2038) [Link]

Yes, this makes sense under the Debian social contract - the main archive can only contain software under DFSG-free licenses, period. Binary uploadable firmware is proprietary software, and therefore cannot be included in the main debian archive - it has to go in the non-free archive.

The only options available under the Debial social contract are:
1. remove proprietary firmware from the kernel archive, or
2. move the entire linux kernel to non-free.

The second choice is unpleasant, as that means that there is no way to build a Debian system with only Free Software. Therefore Debian has opted to remove the non-free firmware from the kernel archive. (it may still be available in non-free)

Debian does not distribute hardware, so (for example) the ROM in a hard drive is not affected by the social contract.

Why Debian removed binary blob drivers

Posted Sep 3, 2004 15:05 UTC (Fri) by bronson (subscriber, #4806) [Link]

That's the argument?? "It's in the social contract, my hands are tied." Blind gestapo adherance to Debian guidelines? Did anybody think of how this would affect the user? Or free software in general?

I loathe hardware compatibility issues, especially pointless ones. Looks like it's time for me to start looking at different distros...

Why Debian removed binary blob drivers

Posted Sep 5, 2004 7:31 UTC (Sun) by piman (subscriber, #8957) [Link]

It's not "blind adherence." Repeated votings have shown that Debian developers want binary blobs out of the distribution, and/or consider them a violation of the Social Contract. No DD has yet proposed a change to the SC to allow them, either.

Debian removed binary blob drivers

Posted Sep 3, 2004 2:00 UTC (Fri) by bignose (subscriber, #40) [Link]

> Do these debian guys also disable the boot ROMs on their network and video
> cards? Do they unplug the BIOS chip from their motherboards?

That's outside the realm of what Debian distributes. Debian doesn't distribute any non-free boot ROMs (because they don't distribute boot ROMs). Debian doesn't distribute non-free BIOS (because they don't distribute any BIOS).

If free boot ROMs, or BIOS code, becomes available and useful to Debian users, Debian might start distributing those too.

> There is absolutely no [software-freedom] difference between a
> closed-source firmware blob loaded over an I2C bus (say, a serial EEPROM)
> and a closed-source firmware blob loaded over the PCI bus. None at all.

That's right. Which is why Debian doesn't distribute any of them.

Free software survives the original copyright holder

Posted Sep 16, 2004 22:30 UTC (Thu) by job (subscriber, #670) [Link]

most disappointing aspect has been the shoddy treatment of the author

This is just too stupid. What do you think about all the people who have sent patches, bugreports, or just helped with answering his questions to get the driver in shape? They never assigned any copyrights. And what about the skeleton drivers he probably used to get started? He doesn't own the copyrights to that either.

No, you can't simply take your toys and leave. The Linux copyright assignment explicitly isn't one, so all authors owns a piece of the big cake, making that impossible.

Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds