Mon

Apr 2
2007

Allison Randal

Allison Randal

GPLv3, Microsoft/Novell language

In November of last year Microsoft and Novell announced a collaboration deal between the two companies. The exact terms of the deal haven't been released yet, so it's difficult to evaluate it in any substantial way. The two companies report that the deal involves some form of cooperative marketing, development in virtualization and interoperability, document format compatibility, and a patent agreement. It's that last item that has sparked all the controversy.

There's no question that the announcement could have been handled better. What is still an open question is whether the deal represents a threat to free software. We just won't know until we see the terms. (A recommendation for the future: releasing the full terms of the deal at the time of the announcement is part of handling it better. It should come as no surprise that openness is highly valued in this context.)

The FSF started working on language for the GPLv3 in response to the deal soon after the first announcement. I have a few general objections to the added terms and a couple of objections specific to the chosen language.

The core of the added language is:

You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a patent license (a) in connection with copies of the covered work conveyed by you, and/or copies made from those, or (b) primarily for and in connection with specific products or compilations that contain the covered work, which license does not cover, prohibits the exercise of, or is conditioned on the non-exercise of any of the rights that are specifically granted to recipients of the covered work under this License.

Translating that into plain English, it says: If you distribute GPLd software and make a deal with another company who also distributes (some kind of) software, we will stop you from distributing the GPLd software if:
a) you pay the other company
b) the deal mentions the GPLd software
c) you get a patent license
d) the patent license mentions the GPLd software
e) the patent license has more limited terms than the GPL license on the software

First, and most trivially, the last clause in that paragraph has grammatical problems, related to the fact that "does not cover, prohibits the exercise of, or is conditioned on the non-exercise of" changes from a negative to a positive, so that by the time it gets to "any of the rights", it's using the wrong class adjective for "does not cover". You want "does not cover all the rights" or "prohibits the exercise of any of the rights", but not "does not cover any of the rights". (Because that would allow a patent deal that only grants some of the rights granted by the GPL, which is exactly what they're trying to prevent.) I imagine this will be fixed in the next draft of the license.

Second, this addition to the GPLv3 is based on an assumption about the nature of the Microsoft/Novell deal. The key phrase is "conditioned on the non-exercise of any of the rights that are specifically granted to recipients of the covered work under this License." The assumption is that the grant of the patent license applies to users of the particular distribution of Linux (SLES) only if "the user does not make or distribute additional copies of SLES" (from the rationale document for the third draft, page 25), so it would be a restriction on the redistribution of GPLd software. But we don't actually know yet if that's part of the agreement. So they're adding language to the license in response to a deal, when the language may not even turn out to be relevant to the deal.

A third, and possibly most important, question is whether the terms here (however they're phrased) are even what free software needs. At the core it's an attempt to stop companies who distribute Linux, for example, from making patent deals with other companies. But these distributors already have hundreds of other deals with other companies. For most companies (software or hardware) the whole point of filing patents is to use them as the basis for collaborative deals with other companies. The real threat is not patent deals, they're harmless and only give the two companies involved a small measure of comfort that their partner won't stab them in the back for the duration and scope of the deal. It's patent suits that are dangerous and destructive, whether they're frivolous or not. There are really only two states of equilibrium for software patents: either they don't exist, or they exist but are bound by so many patent agreements between so many different companies and projects that filing a patent suit amounts to legal suicide. Unfortunately, in the US we've already made the foolish mistake of allowing software patents, which leaves us with an extensive network of patent deals as the only way out. Preventing patent deals doesn't help anyone.

My fourth objection is embodied in the old adage "When all you have is a hammer, everything looks like a nail." The FSF had success in the past accomplishing one goal with a license, so now they're trying to accomplish a broad range of goals using the same tool. But a license really isn't the best tool to accomplish some of these goals. Particularly, it's not a good tool for attempting to abolish software patents or prevent companies from making patent agreements.

My fifth objection is a rule of discrimination: I'm fine with establishing a set of principles and building a community around them. People who want to follow the principles belong in the community, and people who don't can find a different community to join. But when you start redefining the principles in order to keep out specific people, even though they followed your principles, that's discrimination (not to mention being a little too much like a game of Calvinball). There's no room for discrimination in free software, or in any movement promoting freedom.


tags: open source  | comments: 16   | Sphere It
submit:

 
Previous  |  Next

0 TrackBacks

TrackBack URL for this entry: http://blogs.oreilly.com/cgi-bin/mt/mt-t.cgi/5392

Comments: 16

  anon [04.02.07 07:20 AM]

>For most companies (software or hardware) the whole point of filing patents is to use them as the basis for collaborative deals with other companies.

*Well how do you explain the fact that IBM pulled in 1B in licensing revenue last year?

>The real threat is not patent deals, they're harmless and only give the two companies involved a small measure of comfort that their partner won't stab them in the back for the duration and scope of the deal.

*They also benefit society in that the technology is not hidden as trade secret and thus companies can build off of each otherÔøΩs latest advances, thus accelerating innovation. But I see your slant in coloring the whole IP picture as at best benign instead of beneficial.

>It's patent suits that are dangerous and destructive, whether they're frivolous or not.

*In condemning patent suits you are in effect condemning the patent system.

Perhaps you should also glance at emerging countries that are attempting to compete by establishing innovation economies and condemn their attempts to bolster their IP (patents included) infrastructure.

>Unfortunately, in the US we've already made the foolish mistake of allowing software patents, which leaves us with an extensive network of patent deals as the only way out.

*Open source and proprietary systems are currently working well in complementary fashion.

In order for this to continue, companies that significantly invest in true innovation (software or otherwise) need some form of protection for that investment. This fact is especially true as related to software because of the ease in which assets can be stolen and transformed into competing (or free for that matter) code bases.

You have formed the opinion that no noteworthy innovation in software exists and therefore no software innovation should be eligible for patent protection based upon the fact that USPTO has mistakenly granted trivial and obvious software patents.

This opinion is logically flawed and is also unsubstantiated by any research demonstrating actual harm inflicted by patent policy on innovation and diversity in the software industry.

  Allison Randal [04.02.07 11:32 AM]

*Well how do you explain the fact that IBM pulled in 1B in licensing revenue last year?

Sure, but "revenue" does not equal "threat to software freedom".

*They also benefit society in that the technology is not hidden as trade secret and thus companies can build off of each other's latest advances, thus accelerating innovation.

When the system works, it has exactly that effect. Unfortunately, the system rarely works as intended. Yes, companies are required to publish the details of their technology in order to apply for a patent. And hardware patents reveal enough information that another inventor could look at the published information and use it to come up with an even more innovative approach. Software patents, on the other hand, don't reveal anything more than a vague description of features. I think the only way software patents could work as intended is if the patent holders were required to publish the full source code of the patented feature in order to apply.

I suggest reading the history of software patents, Paul Graham's comments on software patents, Bruce Perens' comments on software patents, and, as an example case, more details on the Blackboard Patent.

  Spencer Ferguson [04.02.07 11:58 AM]

Great post, Allison! Whether you are a fan of Open Source or not, disclosure is extremely important in deals of this nature. It's much easier to know what you're up against when all pertinent details are made public.

  Tim O'Reilly [04.02.07 04:57 PM]

What bothers me here is the amount of attempted micromanagement of others that I see in this license draft.

For a license that's supposedly about software freedom, it's got an awful lot of detail on what people can and can't do with the software. And as you note, it's in the hands of a group that's willing to reshuffle the cards, making the license a moving target.

For true freedom, I'll take BSD any time.

  PJ [04.03.07 08:10 AM]

I think you and Tim are both missing some things:


1. Eben Moglen *has* seen the agreement under NDA, so he does know what it says. I think it is therefore safe to say the language crafted is designed to match what he read.

2. Patent agreements may not be unduly harmful for proprietary companies, or so you posit. I think we all know that Bill Gates said if patents had been allowed on software when he started, the entire industry would be shut down by now. But leaving that aside, they are harmful for GPL'd code, in my view. Even GPLv2 has an implied patent license, the goal being to prevent patent infringement lawsuits over GPL'd code *if* you have taken the code and benefited from it by copying, modifying, redistributing, etc. You don't have to use GPL code. You can write your own code or buy some from someone. But the idea is to create a patent-free zone for GPL code, where innovation is not dependent on payments, further restrictions can't be placed on the code, and you can't benefit from the code and then turn around and sue the author.

A lot of GPL'd code is written by individuals, not companies, and they mostly can't afford to pay for patent licenses, even if they were willing, so if enough patent agreement arrangements get set up, it can actually shut down FOSS development as we know it. Even if it didn't have that radical effect, it certainly would change it, of necessity, since currently you can freely download such software for free.

I think the current Microsoft-Novell agreement, had it been in place in the early nineties, would have been sufficient to shut down Linux development before it could get off the ground. Most of the contributors then were individuals, not companies or employees of companies, who wrote code as volunteers. Under the agreement, they would not, as I understand it, have been able to write code ever used in a commercial system without threat of being sued for patent infringement. Who would wish to take such a risk?

So, shall we say we need no further Linux-like development projects? Unless we decide that volunteer coders are no longer needed and the Linux experiment is the last of its kind, then patent agreements are indeed harmful, since they would have that damaging effect on the open development method.

FOSS isn't developed the way proprietary software is, so what works in one environment doesn't work in the other, so extrapolating from one to the other does not work. You don't have to be anti-proprietary software to see that it's two different types of development.


3. BSD is a fine license for certain purposes, but not for ensuring freedom for the code. The whole idea of the GPL is to make sure the code does not get taken proprietary. The BSD license doesn't address that or block it. Companies can take BSD code proprietary, and then users can't view the code or fix it or modify it or do much of anything with it. Ironically, then it is possible for the company to make one small change and then charge the actual authors of the BSD code for the privilege of using the slightly modified version and to compete against them in the market. That's why JBOSS, prior to its acquisition, used predominantly LGPL. If they used the BSD, they did the development, then a company could take their code, make a small change, and then sell it in competition, without the development costs, and if they were a larger company, they likely could win the competition. Does that feel like freedom to you? Sensible even? Surely another word would be more appropriate.

The BSD license does nothing to ensure that code remains nonproprietary. If that is your definition of "freedom" -- maybe you are thinking from the point of view of the programmer, and maybe not about the JBOSS situation, and not about the end user, and certainly not about the code.

PJ

  Nigel Havering [04.03.07 10:10 AM]

With the new GPL3 draft, we're just one step closer to the FSF having veto powers over the business decisions made by users of GPL software.

  Allison Randal [04.03.07 10:35 AM]

On Tim's post: I was interviewed by a Harvard research group a couple weeks ago, and in trying to explain the difference between the BSD and GPL I came up with a simple way of explaining it. They're both concerned with software freedom, but each puts more weight on one specific aspect of software freedom. The BSD license puts more weight on freedom of use, while the GPL puts more weight on freedom of access. As a result, each sacrifices on the aspect of software freedom that the other considers most important. The BSD license loses a bit on the side of freedom of access, since it doesn't require people to release their changes, but depends on their good will to grant access. The GPL loses a bit on the side of freedom of use, since requiring people to release their changes constrains some of the environments where they might use it. There's room for both philosophies in the pursuit of software freedom.

  Allison Randal [04.03.07 11:06 AM]

1. Eben Moglen *has* seen the agreement under NDA, so he does know what it says. I think it is therefore safe to say the language crafted is designed to match what he read.

That I didn't know. I withdraw my objection that they're basing the language on assumptions, though you'll have to excuse me for preferring to analyze the deal myself and not just take Eben's word for it.

2. Patent agreements may not be unduly harmful for proprietary companies, or so you posit. I think we all know that Bill Gates said if patents had been allowed on software when he started, the entire industry would be shut down by now. But leaving that aside, they are harmful for GPL'd code, in my view. Even GPLv2 has an implied patent license, the goal being to prevent patent infringement lawsuits over GPL'd code *if* you have taken the code and benefited from it by copying, modifying, redistributing, etc. You don't have to use GPL code. You can write your own code or buy some from someone.

The phrase "implied patent license" is just as meaningless as "implied copyright assignment".

But the idea is to create a patent-free zone for GPL code, where innovation is not dependent on payments, further restrictions can't be placed on the code, and you can't benefit from the code and then turn around and sue the author.

A lot of GPL'd code is written by individuals, not companies, and they mostly can't afford to pay for patent licenses, even if they were willing, so if enough patent agreement arrangements get set up, it can actually shut down FOSS development as we know it. Even if it didn't have that radical effect, it certainly would change it, of necessity, since currently you can freely download such software for free.

Unfortunately, there is no such thing as a patent-free zone. I agree that software patents are a problem, but attempting to stop patent agreements is not a solution. It's not even a step in the right direction. IBM's pledge of non-assertion of 500 patents for open source software is a step in the right direction, and I'd like to see more companies do the same. Apache's contributor agreements that include a patent license from the contributor are a step in the right direction, and I'd like to see more projects do the same.

I think the current Microsoft-Novell agreement, had it been in place in the early nineties, would have been sufficient to shut down Linux development before it could get off the ground. Most of the contributors then were individuals, not companies or employees of companies, who wrote code as volunteers. Under the agreement, they would not, as I understand it, have been able to write code ever used in a commercial system without threat of being sued for patent infringement. Who would wish to take such a risk?

The Microsoft-Novell agreement doesn't change anything for Linux developers. If Microsoft holds patents relevant to Linux (I don't know if they really do, and I don't want to know if they really do), they could have sued the Linux developers before the agreement, and they can still sue them after the agreement. The sum total is nothing but some egg on Novell's face and a great deal of FUD.

  T W Bennet [04.03.07 03:43 PM]

"For true freedom, I'll take BSD any time."

Freedom is usually a matter of freedom for whom. After all, a Microsoft EULA gives lots of freedom to Microsoft.

There's no question that the BSD license gives more freedom to the receiver of the software than does the GPL. The GPL is designed to create a commons. For a commons to be a commons, individuals must be forbidden from fencing off a portion for themselves. This is clearly a restriction on individual freedom.

The argument is not really about which gives more freedom. It's a conflict of visions about which kind of freedom is most important. The GPL favors the freedom of the community to share the commons over the freedom of the individual to mark off his own territory.

Normally, this is a no-brainer. Holding things in common leads pretty reliably to poverty or chaos. But software really is different. This commons is always as large as the number of people standing on it.

Anyway, let's not argue which is more free. The conflict is between the shared freedom of a commons, and an individual freedom that includes the right to restrict others. That's the real argument.

  Richard Fontana [04.03.07 07:23 PM]

The phrase "implied patent license" is just as meaningless as "implied copyright assignment".


"Implied patent license" is a well-established legal doctrine in US patent law and the patent law of many other countries. The BSD license as well as GPLv2 comes with some sort of implied patent license, where the licensing occurs in those countries that recognize the doctrine.

  joseph daniel zukiger [04.03.07 08:48 PM]

What is it youdon't see in the agreement? We know this, that Microsoft has only agreed _not_ to sue Novell's customers. And that for only five years. And they have made noise about "enforcing their IP" since the agreement was announced, in a context that refers to the agreement.

By indirection, Novell is applying restrictions to their distribution. The fact that their indirection seems to slip through some theoretical loophole is irrelevant. That is not what I indended when I offered my software under the GPL. When I find my copyrighted source in something Novell is distributing, I'll sue.

I'm liable to sue Novell anyway for trying to bend the GPL (spoliation). It's just a matter of getting time to talk to the right lawyers.

It does not matter that the agreement is probably entirely around .net and extensions to samba. Or, rather, if it is entirely around those two, it matters even more because they have refused to say so.

joudanzuki

  Allison Randal [04.03.07 09:08 PM]

Richard,

Indeed. For the curious Fenwick & West released a useful article on the subject of implied patent licenses and the GPL last year. If the concept was well-defined, clearly applicable to the GPL, extensible to all relevant situations, with broad international acceptance, then there wouldn't be any need to add patent language to the GPLv3.

  Rob Myers [04.04.07 08:36 AM]

"The BSD license puts more weight on freedom of use, while the GPL puts more weight on freedom of access."

It depends how we define "use".

The GPL has been designed to protect Stallman's Four Freedoms. These four freedoms define use of software. The GPL ensures that they are protected for all users equally and inalienably.

The BSD license has been designed to release an academic software project to taxpayers. It has been taken up as a model of freedom by people who find inalienable equality restrictive. Such people are betting on being able to create and exploit inequality of both access and use in order to exploit it economically.

They have a right to pursue whatever ends they like in a free society, but the rest of us likewise have the right to point out that they are not really talking about freedom or use. They are talking about economic exploitation of a resource, usually a resource that they have not themselves primarily produced.

  Nigel Kneale [04.04.07 08:48 AM]

The BSD licence isn't really that revolutionary - it's just a licence that effectively formalizes the implied licence used when people used to release their work as Public Domain for decades before the BSD and GPL licences were drawn up. BSD only came about when Berkeley wanted to put everything into Public Domain, but also wanted freedom from liability.

Public Domain software didn't have an agenda - it was just people collaborating in order to contribute to society.

  Shawn Boyette [04.04.07 10:34 AM]

The real threat is not patent deals, they're harmless and only give the two companies involved a small measure of comfort that their partner won't stab them in the back for the duration and scope of the deal. It's patent suits that are dangerous and destructive, whether they're frivolous or not. There are really only two states of equilibrium for software patents: either they don't exist, or they exist but are bound by so many patent agreements between so many different companies and projects that filing a patent suit amounts to legal suicide.

This is exactly how the First World War was never supposed to happen. Oops :D

  PJ [04.13.07 06:57 AM]

If you were not aware of the NDA, perhaps there may be other things you might be unaware of. There is more to the agreement than what you reference.

Here's a page on the Novell-Microsoft deal, where
you can find all the documents:
http://www.groklaw.net/staticpages/index.php?page=20061218045851480

One of the documents is Microsoft's Patent Pledge to Non-Compensated Developers:
http://www.microsoft.com/interop/msnovellcollab/community.mspx

That is the document I was referring to. Here is how it reads:

Microsoftís Patent Pledge for Non-Compensated Developers

Many software developers, often referred to as ìhobbyists,î write code not with the expectation of making money, but because they enjoy solving technical challenges and participating in a community of enthusiasts who recognize and encourage one anotherís talents. One such community of hobbyist developers participate in the development of open source software. To further encourage these efforts, this pledge provides non-compensated individual hobbyist developers royalty-free use of Microsoft patents as set forth below.

It is Microsoftís intent that this pledge be legally binding and enforceable as to individual hobbyist developers according to the terms below.

Non-Assertion of Patents Pledge

Microsoft hereby covenants not to assert Microsoft Patents against each Non-Compensated Individual Hobbyist Developer (also referred to as ìYouî) for Your personal creation of an originally authored work (ìOriginal Workî) and personal use of Your Original Work. This pledge is personal to You and does not apply to the use of Your Original Work by others or to the distribution of Your Original Work by You or others. A ìNon-Compensated Individual Hobbyist Developerî is an individual software developer (i.e., a person and not any corporation, partnership or other legal entity), including a developer of open source software, who receives no monetary payment or any other forms of consideration that can be valued monetarily for their creation of their Original Works. The fact that You may be employed as a software developer by, and receive a salary from, a corporation, partnership or other legal entity, does not disqualify You from treatment as a ìNon-Compensated Individual Hobbyist Developerî under this pledge, provided Your activities related to the creation of Your Original Work are performed during Your free time and outside the scope of Your employment. The Microsoft Patents subject to this pledge are all patents issued world-wide to the extent they are owned or controlled by Microsoft or its majority owned subsidiaries. For additional information on obtaining rights under Microsoft patents to contribute Your Original Work to an open source project, please see Microsoftís Patent Pledge for Hobbyist Contributors.

Microsoft reserves the right to terminate and revoke this pledge to You, as of the date granted, if You or an entity that You control asserts a patent infringement claim against a Microsoft product, service or technology.

Reservation of Rights

Microsoft further reserves the right to prospectively update and revise the terms of this pledge, for example to accommodate applicable laws, rules, orders or regulations. The rights provided under this pledge are personal to You and are not for the benefit of others. All rights not expressly granted in this pledge are reserved by Microsoft.

Post A Comment:

 (please be patient, comments may take awhile to post)






Type the characters you see in the picture above.

RECOMMENDED FOR YOU

RECENT COMMENTS