git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git to libgit2 code relicensing

From
MKMartin Koegler <mkoegler@auto.tuwien.ac.at>
Date
Nov 15, 2008, 17:13 UTC
Message-ID
<20081115171338.GA19259@auto.tuwien.ac.at>
In-Reply-To
<491E021E.5020104@op5.se>
Andreas Ericsson wrote:
Show 9 quoted lines
> Shawn posted the exact text. The spirit of that license is that anyone can
> use an unmodified version of the library for whatever they want, but it's
> illegal to link non-GPL software to an altered version of the library. That
> is, the git community will get all changes back while other projects can
> use the official version of the library without having to worry about
> licensing issues. EvilCompany cannot make changes to the library and then
> link non-GPL'd software to their changed version. They can do that if they
> send their library changes upstream and then only use them once they're
> considered "official" though.
I would not interpret the license this way. Lets look at the text:
|  In addition to the permissions in the GNU General Public License,
|  the authors give you unlimited permission to link the compiled
|  version of this file into combinations with other programs,
|  and to distribute those combinations without any restriction
|  coming from the use of this file.  (The General Public License
|  restrictions do apply in other respects; for example, they cover
|  modification of the file, and distribution when not linked into
|  a combined executable.)

It's an additional permission, which allows linking into binaries and distributing them.

Modification is still covered by the GPL text, 2b:
|  You must cause any work that you distribute or publish, that in
|  whole or in part contains or is derived from the Program or any
|  part thereof, to be licensed as a whole at no charge to all third
|  parties under the terms of this License.

So a patched version must be available unter the "this" license. In my option, this must be GPLv2+addition permission. GPLv3 explicitly talks about additional terms, so its clear, that they propagate. GPLv2 doesn't do this, but additional terms, like OpenSSL linkage exceptions are usually propagated.

So EvilCompany can create their own, modified GPL+GCC exception libgit2 version behind their doors.

Then they link it into their non-GPL software and can distribute the resulting binary without any GPL restriction. As the exception states, that the binary can be distributed without any restrictions coming from the GPL+GCC exception code, this COULD mean, that clause 3 of the GPL does not apply too (ship binary without source code).

I'm only a programmer, so you should ask people with better understanding of legal things.

Your interpretation of the GCC exception would render it useless for the Debian probject [and probably other projects too], which means, that they can use/distribute libgit2 only the GPL. If you don't want that, you should consider posting to Debian Legal (http://lists.debian.org/debian-legal/) for advice.

mfg Martin Kögler
PS: 
Have you looked at the Classpath exception:
|  Linking this library statically or dynamically with other modules is
|  making a combined work based on this library.  Thus, the terms and
|  conditions of the GNU General Public License cover the whole
|  combination.
|  
|  As a special exception, the copyright holders of this library give you
|  permission to link this library with independent modules to produce an
|  executable, regardless of the license terms of these independent
|  modules, and to copy and distribute the resulting executable under
|  terms of your choice, provided that you also meet, for each linked
|  independent module, the terms and conditions of the license of that
|  module.  An independent module is a module which is not derived from
|  or based on this library.  If you modify this library, you may extend
|  this exception to your version of the library, but you are not
|  obligated to do so.  If you do not wish to do so, delete this
|  exception statement from your version. 
Previous: Andreas EricssonNext: Linus Torvalds
Message 6 of 33 in “git to libgit2 code relicensing”
  1. Andreas EricssonNov 14, 2008
  2. Martin KoeglerNov 14, 2008
  3. Sverre RabbelierNov 14, 2008
  4. Andreas EricssonNov 14, 2008
  5. Andreas EricssonNov 14, 2008
  6. Martin KoeglerNov 15, 2008
  7. Linus TorvaldsNov 14, 2008
  8. Shawn O. PearceNov 14, 2008
  9. David BrownNov 15, 2008
  10. Shawn O. PearceNov 15, 2008
  11. Nicolas PitreNov 15, 2008
  12. David BrownNov 15, 2008
  13. Miklos VajnaNov 15, 2008
  14. Junio C HamanoNov 15, 2008
  15. Miklos VajnaNov 15, 2008
  16. Pierre HabouzitNov 15, 2008
  17. David BrownNov 15, 2008
  18. Linus TorvaldsNov 15, 2008
  19. Andreas EricssonNov 15, 2008
  20. Pau Garcia i QuilesNov 15, 2008
  21. Andreas EricssonNov 15, 2008
  22. Pau Garcia i QuilesNov 15, 2008
  23. Andreas EricssonNov 15, 2008
  24. David BrownNov 15, 2008
  25. Daniel BarkalowNov 16, 2008
  26. René ScharfeNov 20, 2008
  27. Kristian HøgsbergNov 25, 2008
  28. Andreas EricssonNov 16, 2008
  29. Johannes SchindelinNov 16, 2008
  30. Sverre RabbelierNov 16, 2008
  31. Andreas EricssonNov 17, 2008
  32. Shawn O. PearceNov 17, 2008
  33. Andreas EricssonNov 17, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.