I've no idea if there's likely to be much demand - I suppose it depends
how widely protocol buffers get adopted. However, assuming protocol
buffers do get widely used, as the traffic on this list leads me to
believe they will, I think it's going to get quite annoying not to be
able to access them from GPL v2 applications.
I'm not a lawyer either, nor have I read the Apache 2.0 license
carefully, but I wonder if dual licensing the software under Apache 2.0
and BSD would work. I'd hope that if you did that, the Apache 2.0
patent clauses would grant permission to use the hypothetical patented
software, and the BSD license would allow you to use the software in an
unrestricted way. There's probably a good legal reason that that
wouldn't work, though (not to mention dual licensing being ugly).
Unless you're taking copyright assignments, or not planning to accept
outside contributions, now is probably the only time that this can be
conveniently sorted out, while there is a single entity in control of
the copyright: otherwise, you'll have to get the agreement of all the
copyright holders to change license. I speak from experience; the GPL
v2 software that I have in mind is that way due to being unable to get
the agreement of all the contributors to change it to LGPL... It may be
that you decide to remain GPL v2 incompatible, but if you're going to do
that you should consciously take that decision now, rather than finding
that you have no choice about it in a year or two's time.
--
Richard
This really has nothing to do with protobuf and is probably a waste
of time, but the Apache License is not incompatible with GPLv2 for
separate components. Users of GPLv2 code can also use Apache code.
The only question of license compatibility occurs when the code bases
are combined in a derived work, and even then only by the FSF's
extreme interpretation of what the GPLv2 says regarding additional
restrictions. In practice, any Apache Licensed software can be
distributed within a larger GPLv2-licensed work up until the
distributor decides to sue for patent infringement.
In any case, it is entirely up to the GPLv2 copyright owner(s) to
determine whether or not they can be combined. The rest of us don't
care and should not have to.
In short, if you think it is annoying to use Apache licensed code,
then consider how annoying it is for the Apache developers to have
to listen to your whining while you don't allow anyone to use your
own code under non-GPLv2 terms. If you don't like it, then don't
use a xenophobic license for your own projects. GPLv3 doesn't have
those problems.
....Roy
That's cool, then.
> I will raise this issue with the open source managers again but I can't
> make any promises.
I'm not expecting any. :) Thanks for having a go, anyway.
I've got several projects in mind which protocol buffers might be useful
for, and only one of them involves integration with a library which is
under the GPLv2, due to the original copyright holders being unwilling /
uncontactable to re-license it as something more compatible, so I'll
hang around here and hopefully get involved.
We're working to rewrite the troublesome library piece-by-piece so we
can change the license, but it's large and it'll probably be a couple
more years until we're done. I know it's annoying to have to mess
around with licenses and worry about compatibility, while really we just
want to get on and write code, but my experience with this library has
taught me the hard way to check and get the license right before going
further. Thanks for your helpful response.
--
Richard