I guess it's true what my brother-in-law tells me: you can't get good help nowadays, no matter how much money you're willing to spend. I say that because while Microsoft has almost all the money in the world to spend on FUD, its FUDsters do such a truly poor job of it.
No matter what the debate, they and their minions don't seem able to honestly portray their position or that of FOSS. Why is that? I think it's because if they told their true position and goals, we'd all be disgusted.
There is a particularly offensive bit of subversive Microsoft FUD on CNET. Surprise. You remember CNET. The unsuccessful but would-be co-intervenor with Maureen O'Gara and Forbes in the SCO v. IBM case. A Jonathan Zuck attacks the GPLv3 and Richard Stallman. It seems Mr. Stallman is an "extremist" and "impractical", and he risks marginalizing himself for taking a stand against DRM and Tivo.
And who is Mr. Zuck, again? Why, the president of the Association of Competitive Technology (ACT). You remember them, don't you? Some have accused ACT of being a front for Microsoft. They are supporting Microsoft in the EU antitrust litigation, for one thing. Remember too when Morgan W. Reed, VP of ACT, showed up at Berkman Center's ODF Conference and tried to dominate with what sounded like Microsoft talking points? FFII has an entire page on Mr. Zuck.
Here's another example from 2003, pearls of wisdom [PDF] from Mr. Zuck, called "Prevent Antitrust Suits from Undermining Intellectual Property Rights and Stifling Innovation". The title alone should tell you all you need to know.
Today's FUD by Mr. Zuck seems to be more slop from the same trough. But what about Tivo? What's the real story there?
First, here's the essence of Zuck's argument on CNET, and it tells me what Microsoft is afraid of:
With products such as Linux and Apache leading the way, software loosely categorized as open source has seen a renaissance of its own.
To meet the needs of the heterogeneous market, this community has focused many of its efforts on building bridges between open/free software and proprietary products. Under GPL 2, companies have found many ways to create these types of hybrid systems. Today, Linux distributions from Red Hat, Suse and others include many pieces of proprietary and nonfree code. But this "mixing" has not been without its detractors. For leading Linux users like TiVo and Adaptec, the ability to protect key intellectual property is essential. But this protection is a direct assault on Stallman's version of freedom and the need to share software with the community. How do you balance the promotional value of high-profile Linux implementations against the philosophical compromise?
Stallman would argue that you don't. He views these practicalities, hybrids and commercial compromises as "vanities" that divert attention away from the real issue, which is and always will be his version of "freedom." GPL 3.0 is his call to dump all such transgressions in the town square and set them on fire. In interviews, he talks about preventing the "TiVo-ization" of software (the merging of free and proprietary software into a single system). GPL 3.0 has also become a platform to rail against digital rights management technology, viewed by Stallman as one more attempt to restrict his freedom.
This is beyond wrong, although it is wrong. It misrepresents Stallman's views and even his expressions, and it certainly mischaracterizes the issue about Tivo. I just wrote an article for Linux Magazine that is in the April edition on GPLv3, and in it Richard Stallman is quoted saying this about Tivo:
GPLv3[does] not require Linux developers to publish the private keys that they use to sign Linux source versions to show they are authentic. But GPLv3 would require the manufacturer of the Tivo you bought to give you the key needed to sign a binary so it will run on your Tivo. That means you will really be able to run the modified versions on your Tivo and they will really run. The Tivo was the first well-known case of a machine that included free software but refused to run the users’ modified versions. Surely, it won’t be the last. It happens that Linux is one of the programs that were “tivoized” in this way. We hope that the developers of Linux will adopt the GPLv3, so as to make future Linux versions resistant to “tivoization” in the future. —Richard Stallman
Does that match what Zuck wrote? Here's something Microsoft and all its lackeys needs to seriously ponder. If you can't win without telling half-truths and even outright lies, there is probably something the matter with your position. So what about Tivo?
Let's review some basics. Here are the four freedoms that the GPL seeks to protect, and I'm talking about GPLv2 as well as v3:
Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software. More precisely, it refers to four kinds of freedom, for the users of the software:
The freedom to run the program, for any purpose (freedom 0).
The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
The freedom to redistribute copies so you can help your neighbor (freedom 2).
The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.
A program is free software if users have all of these freedoms. Thus, you should be free to redistribute copies, either with or without modifications, either gratis or charging a fee for distribution, to anyone anywhere. Being free to do these things means (among other things) that you do not have to ask or pay for permission.
Tivo uses the Linux kernel. It modifies it and redistributes and it does distribute its changes to the kernel. But while benefitting from the GPL'd code, it then turns around and seeks to block Tivo customers who also use the Linux kernel from being able to benefit from two of the four freedoms that Tivo built its business on, namely the freedom to improve the program and adapt it to your needs. If you modify your kernel, then Tivo won't let you run your Tivo any more. The DRM blocks you. They don't have to run their business that way. It's just more convenient for them, I guess.
Under GPLv2, Tivo squeaked by just barely, but it clearly was not in harmony with the purpose of the GPL or its goals. And GPLv3 seeks to close this backdoor way they found to limit the freedoms of others, because it makes a mockery of the GPL. Now, if Tivo wants to use proprietary code to do whatever it wishes with its DRM, that's certainly fine with me. But if it wishes to use GPLd code, benefit from it, accept it under the GPL license with all that it stands for, and then pervert it to limit others' freedoms to modify their GPLd code, despite the clear intent of the license, that's not OK with me, because it isn't playing fair.
Some might say, well, we shouldn't restrict what people can do with code. No? Then don't use the GPL. It does restrict what folks can do with GPLd code. That is the purpose of a license, to let people know what they can and can't do with your code, and pretending otherwise gets you in logical difficulties, on top of the ethical ones. Microsoft's EULA restricts what you can do with their code. The Mozilla license restricts what you can do with their code. So does CDDL. So does the GPL. It always will, because there are always selfish folks who care only about what's good for number one and look to bypass your clear intent in your license, no matter what license it is. You have to realistically plan for that, and the GPL does.
The GPL stands for the freedom to access the source and to modify it to suit yourself. If you use GPLd code, then realize it comes with a license and it's only honorable to live up to the terms, not to seek to squeak under the wire with clever legal footwork. Tivo needs to behave honorably toward the license, in my view, or stop using the code. I don't care which it chooses, personally, but it is at a fork in the road, and it will have to choose.