Re:GRPC: A high performance, open source, general RPC framework
by DannyBee on Thursday February 26, 2015 @06:00PM
(#9116186)
1. These clauses are actually not ones we wrote, they are from the Apache CCLA, widely used across the industry :)
2. "But Google doesn't grant you the same perpetual right to use and patent licenses back to you if you use gRPC"
Sorry, this was actually just human error.
They forgot to add the file I gave them.
I'll get it added to the repository post-haste.
(The patent grant is identical to the Go one)
Re:GRPC: A high performance, open source, general RPC framework
by Mugurm on Thursday February 26, 2015 @06:18PM
(#9116249)
We've just added the Patent Grant to all the repos. Thanks for pointing this out.
Re:GRPC: A high performance, open source, general RPC framework
by a11r on Thursday February 26, 2015 @06:17PM
(#9116243)
Additional IP Rights Grant now added to the repo: https://github.com/grpc/grpc/blob/master/PATENTS
Re:GRPC: A high performance, open source, general RPC framework
by ChuckMcM on Thursday February 26, 2015 @06:31PM
(#9116295)
Awesome sauce!
Re:GRPC: A high performance, open source, general RPC framework
by username223 on Thursday February 26, 2015 @06:41PM
(#9116334)
I'm not even allowed to read the page you linked without pretending to accept Google's universal tracking agreement. Nevermind.
Re:GRPC: A high performance, open source, general RPC framework
by willnorris on Friday February 27, 2015 @03:36AM
(#9117829)
that's definitely a bug that you can't read the agreement text without logging in. We'll see about getting it fixed.
Which has these clauses:
Grant of Copyright License. Subject to the terms and conditions of this Agreement, You hereby grant to Google and to recipients of software distributed by Google a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your Contributions and such derivative works.
Grant of Patent License. Subject to the terms and conditions of this Agreement, You hereby grant to Google and to recipients of software distributed by Google a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by You that are necessarily infringed by Your Contribution(s) alone or by combination of Your Contribution(s) with the Work to which such Contribution(s) was submitted. If any entity institutes patent litigation against You or any other entity (including a cross-claim or counterclaim in a lawsuit) alleging that your Contribution, or the Work to which you have contributed, constitutes direct or contributory patent infringement, then any patent licenses granted to that entity under this Agreement for that Contribution or Work shall terminate as of the date such litigation is filed.
But Google doesn't grant you the same perpetual right to use and patent licenses back to you if you use gRPC. So I worry that if I start using this code, and Google decides to pull it, they can, even if some of it came from work that I did on it.
Now before someone says "But Chuck, they wouldn't do that ..." I want to remind you that licenses and contracts are not written to cover the 'good' time where everyone likes everyone, they are written to cover the 'bad' time when for one reason or another (often entirely unrelated to a particular API) that people stop liking each other so much.
The fix is simple however, Google could put in their license just a bit of additional text, which replaces
"Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:"
With
"Redistribution, use, and sub-licensing for this code in source or binary form, with or without modification, is granted, without cost, non-exclusively, and in perpetuity, provided the following conditions are met:"
Is there someone from the project reading this that can get that wording updated?