Fri

Apr 6
2007

Allison Randal

Allison Randal

GPLv3, Apache License Compatibility

In the early days of the GPLv3 revision process, compatibility with the Apache License 2.0 was given as one of many motivations for the update. At the 5th GPLv3 conference, Richard Stallman was recorded saying:

GPL version 3 is designed to be compatible with two important licenses: the Apache license and the Eclipse license. It will be possible to merge code under those licenses into GPL3 covered software once the GPL version 3 is really out.

I was suprised and disappointed to find that goal abandoned in the rationale document for the third draft (page 33):

We regret that we will not achieve compatibility of the Apache License, Version 2.0, with GPLv3, despite what we had previously promised.

Before version 3 of the GPL, the contentious point was the patent termination terms in the Apache License. That is no longer the case. The GPLv3 includes patent termination terms that are differently worded, but similar enough to be compatible. The contentious point now is an obscure detail of the "offer of warranty".

Here's the relevant text from the Apache License in section 9:

While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

Boiling it down, it says:
a) a company can offer legal protection (warranty/indemnity/liability) for Apache licensed software
b) they can charge for the legal protection
c) but, when they take on the burden of legal protection they can't also put that burden on the developers

That last point is a restatement of the standard "Disclaimer of Warranty" that appears in pretty much every open source/free software license, in various different forms. Again, from the Apache License:

Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

The corresponding terms from the latest draft of the GPLv3 in section 4, are:

...you may offer support or warranty protection for a fee.

Like the Apache License, a company can offer legal protection for GPLv3 licensed software, and they can charge for the legal protection. And then in section 15:

THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND... IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES...

Like the Apache License, the developers will not take the burden of offering legal protection (warranty/liability) for the software. The terms between the two are differently worded, but basically the same. And yet, this is the point of contention. The rationale document explains:

However, we overlooked another provision in the current Apache license that, on its face, is incompatible with the GPL. Under section 9 of the Apache license, downstream redistributors must agree to indemnify upstream licensors under certain conditions.

Is the FSF saying that when a downstream company takes on the legal burden to indemnify a piece of GPL software, they expect the developers to also take on that legal burden? Or, in the case where the FSF is the copyright holder, that they intend to take the legal burden of indemnification themselves? Somehow that seems unlikely, but they claim that the GPLv3 differs from the Apache License on exactly this point.

I give them the benefit of the doubt, but it sounds to me like the FSF really had to stretch to find some terms that might make the Apache License incompatible. I hope they'll forget the past and reconsider.


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

 
Previous  |  Next

0 TrackBacks

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

Comments: 8

  Wayne [04.06.07 05:50 PM]

Allison,



I think you are wrong on this. The FSF employs a lawyer to make certain that the Foundation and the software license that the Foundation is famous for follow all applicable laws. If the FSF and it's legal adviser think that there is a conflict between the Apache license and the GPL (whether V2 or V3), they would be in a very bad legal position if they did not communicate this.



Now I know a lot of people do not like the GPL in any form. I also know a lot of people who do not like the license that Microsoft uses for Windows. If you do not like (or believe that you can work with) a license, than the obvious answer is not to use the software.



If you don't like the LGPL, don't use Open Office. Word Perfect Office, Easy Office, Microsoft Office, Lotus Smartsuite, etc. can all do the same things.



If you don't like the Microsoft Windows license, then you have the choice of using Solaris, a BSD, Mac OSX, OS2 (Ecomstation), a Linux, or FreeDos.



If you want to complain - complain about the problems that the software has. Solaris for instance doesn't support Wifi cards at all, which makes it a terrible operating system for my purposes. Windows crashes all the time. Ecomstation doesn't provide enough drivers either. Mac OSX only runs on Apple hardware. FreeDos is missing too many things that I need (i.e. a GUI). The various BSD flavors require too much experience, as do most of the Linux versions.



Don't complain about the license that the author decides to use. It's their choice, just as it's your choice whether or not to use their software.



Wayne


  Allison Randal [04.06.07 07:11 PM]

Wayne, I am the author of software released under the GPL. It's not "somebody else's software" in question, it's my software. I'm a member of the free software community and part of being a responsible member of that community is working to make the next version of the GPL the best it can possibly be.

Don't blindly trust that a particular lawyer or group of lawyers has the one right interpretation of a problem. Think, examine the issues for yourself. The law is varying shades of gray, not a rigid black and white.

  Lawrence Rosen [04.08.07 07:28 PM]

Allison, your reading of the Apache license is correct.

The Rationale document reflects a misunderstanding of Apache license section 9. Nothing in the Apache license requires anyone--including people who distribute Apache's software as part of a GPL program--to offer indemnity.

But if any downstream distributor *does* offer indemnity, they must *also* indemnify, defend and hold harmless Apache and its contributors from any liability or claims asserted "by reason of your accepting any such waranty or additional liability."

As this lawyer sees it, the two licenses are compatible.

  Dalibor Topic [04.09.07 04:23 AM]

Given that both ASF and FSF get legal advice from SFLC, afaik, SFLC could, wearing the FSF advisor hat, ask the ASF for a suitable clarification of the clause, then the ASF would circulate that request on the legal-internal mailing list to the SFLC, who could, wearing an ASF advisor hat, provide the suitable clarification, which would then be sent back to the SFLC. ;)

  Ciaran O'Riordan [04.11.07 04:30 AM]

I'm hesitent to comment since I haven't done thorough analysis, but I can't resist since there seems to be obvious points that are not being mentioned.

One issue is the Apache licence's restriction placed on what types of additional warranty can be offered:

"You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor"

I'm not sure what this restricts, but, unless it is meaningless, it is additional restriction and thus GPL incompatible. No?

The bigger issue though is that the Apache licence places obligations on distributors who do provide additional warranties. Under the Apache licence, if I offer a warranty I become obliged to:

"defend ... each Contributor ... for any ... claims asserted against ... such Contributor by reason of your accepting any such warranty or additional liability."

The GPL doesn't have this requirement and it doesn't allow distributors to add such requirements, so this makes AL2.0 and GPLv3dd3 incompatible. No?

This is being portrayed as an interpretation issue, but it seems to this layperson that the incompatibility is quite clear.

I think FSF's desire to be AL-compatible is clear since they are changing GPLv3 to be AL2-compatible on the substantial issue of patents. I guess FSF would work with anyone who can offer a solution fo this more trivial incompatibility problem.

  Dalibor Topic [04.11.07 08:37 AM]

Note that 7a allows disclaiming warranty or limiting liability differently from the options chosen by GPLv3.

  Allison Randal [04.11.07 10:43 AM]

The GPL doesn't have this requirement and it doesn't allow distributors to add such requirements, so this makes AL2.0 and GPLv3dd3 incompatible. No?

This is being portrayed as an interpretation issue, but it seems to this layperson that the incompatibility is quite clear.

It's not an additional requirement because the GPL doesn't grant downstream distributors the right to make claims against contributors for additional liability. It's not an implied right in the GPL that the Apache restricts. It's an implied restriction in the GPL that the Apache license makes explicit.

  Dalibor Topic [04.11.07 12:56 PM]

If 7a turns out to be inadequate, one could add 7e for conditional indemnification of contributors in case of a warranty. I don't think that current drafts' and ALv2's shielding provisions are that different in spirit.

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