{"thread":{"id":"37301","subject":"Apple violating git LGPL?","startedAt":"2014-08-06T18:10:08Z","lastAt":"2014-08-06T20:51:45Z","messageCount":7,"participants":["Robert P Fischer","Charles Bailey","Jeff King","Bruce Ferrell","Tony"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"247347","messageId":"CAC_jL3wO9jkE4HapvJjn-4uW4RtSxubFthrxzQJ87EQ4Gq-9Ug@mail.gmail.com","threadId":"37301","inReplyTo":null,"subject":"Apple violating git LGPL?","fromName":"Robert P Fischer","fromEmail":"rpf2116@columbia.edu","sentAt":"2014-08-06T18:10:08Z","receivedAt":"2014-08-06T18:10:08Z","isPatch":false,"sender":{"key":"rpf2116@columbia.edu","avatar":null},"body":"Hello,\n\nI ran git on my newly-set-up OS X Mavericks machine, and get:\n\n        $ git\n         Agreeing to the Xcode/iOS license requires admin privileges,\nplease re-run as root via sudo.\n\nRunning 'git --verision' gives the same result.  This seems\nproblematic in a few ways, and I am wondering if the git community is\ninterested in addressing it:\n\n1. Why do I have to agree to Apple's licensing terms to use an LGPL\nprogram?  Is this appropriate?  Is it allowed under the LGPL?\n\n2. This is a significant problem for me, because I'm using a work\nmachine and do not have admin access.\n\n3. The version of git I ran is clearly NOT a plain vanilla \"official\"\ngit, it is a derivative work.  Has Apple provided the source code of\nthe special version that I just ran?  If not, that would seem to be a\nviolation of the LGPL.\n\nThanks,\nBob\n"},{"id":"247351","messageId":"20140806183635.GA19596@hashpling.org","threadId":"37301","inReplyTo":"CAC_jL3wO9jkE4HapvJjn-4uW4RtSxubFthrxzQJ87EQ4Gq-9Ug@mail.gmail.com","subject":"Re: Apple violating git LGPL?","fromName":"Charles Bailey","fromEmail":"charles@hashpling.org","sentAt":"2014-08-06T18:36:35Z","receivedAt":"2014-08-06T18:36:35Z","isPatch":false,"sender":{"key":"charles@hashpling.org","avatar":"https://avatars.githubusercontent.com/u/1668475?v=4"},"body":"On Wed, Aug 06, 2014 at 02:10:08PM -0400, Robert P Fischer wrote:\n> \n> 3. The version of git I ran is clearly NOT a plain vanilla \"official\"\n> git, it is a derivative work.  Has Apple provided the source code of\n> the special version that I just ran?  If not, that would seem to be a\n> violation of the LGPL.\n\nI found the source code of Apple's Git builds here:\n\nhttp://www.opensource.apple.com/source/Git/\n\nMine happens to be Git-48. I'm not sure how to tell what version you\nhave if it is prompting you to accept a licence first.\n\nCharles.\n"},{"id":"247353","messageId":"20140806184304.GB21254@peff.net","threadId":"37301","inReplyTo":"CAC_jL3wO9jkE4HapvJjn-4uW4RtSxubFthrxzQJ87EQ4Gq-9Ug@mail.gmail.com","subject":"Re: Apple violating git LGPL?","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2014-08-06T18:43:04Z","receivedAt":"2014-08-06T18:43:04Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Wed, Aug 06, 2014 at 02:10:08PM -0400, Robert P Fischer wrote:\n\n> I ran git on my newly-set-up OS X Mavericks machine, and get:\n> \n>         $ git\n>          Agreeing to the Xcode/iOS license requires admin privileges,\n> please re-run as root via sudo.\n> \n> Running 'git --verision' gives the same result.  This seems\n> problematic in a few ways, and I am wondering if the git community is\n> interested in addressing it:\n> \n> 1. Why do I have to agree to Apple's licensing terms to use an LGPL\n> program?  Is this appropriate?  Is it allowed under the LGPL?\n\nYou are not running the real \"git\" at all here; Apple ships stubs for\nseveral commands, including git, that are distributed with XCode. When\nyou run the program, it prompts you to install XCode, which then\nactually downloads and installs git, replacing the stub.\n\nYou can download XCode separately, of course, but you would still need\nto agree to the license. You can download git separately and not need to\nbother (though I do not know offhand how to download Apple's git, or\nwhether they provide a script to replace the stubs).\n\nAlso, minor nit, but git is GPL, not LGPL.\n\n> 2. This is a significant problem for me, because I'm using a work\n> machine and do not have admin access.\n\nYou can always download and install git yourself. There's no need to use\nthe XCode version. However, XCode is the simplest way to get a compiler\non the machine, AFAIK (I do not use OS X myself).\n\n> 3. The version of git I ran is clearly NOT a plain vanilla \"official\"\n> git, it is a derivative work.  Has Apple provided the source code of\n> the special version that I just ran?  If not, that would seem to be a\n> violation of the LGPL.\n\nYou didn't run a derivative git. You ran their stub.\n\nAs it happens, though, they _do_ modify the git that they distribute. I\nknow at least that they bake-in the osxkeychain helper config in away\nthat the user cannot turn off. There may be more changes, but I haven't\ndone a full diff. And they do provide the source:\n\n  https://www.opensource.apple.com/source/Git/\n\n-Peff\n"},{"id":"247364","messageId":"53E287D4.1050106@baywinds.org","threadId":"37301","inReplyTo":"20140806184304.GB21254@peff.net","subject":"Re: Apple violating git LGPL?","fromName":"Bruce Ferrell","fromEmail":"bferrell@baywinds.org","sentAt":"2014-08-06T19:53:56Z","receivedAt":"2014-08-06T19:53:56Z","isPatch":false,"sender":{"key":"bferrell@baywinds.org","avatar":null},"body":"On 08/06/2014 11:43 AM, Jeff King wrote:\n\nsnippage here 8< >8\n> As it happens, though, they _do_ modify the git that they distribute. I know at least that they bake-in the osxkeychain helper config in away that the user cannot turn off. There \n> may be more changes, but I haven't done a full diff. And they do provide the source: https://www.opensource.apple.com/source/Git/\nIs that a plugin?  if not what about proprietary plugins? How are they affected by the license is this case?\n"},{"id":"247365","messageId":"CA+Cdr4kobYDVGJneBXENYj=hmC6YEM=BYqGoAFvUNeaeYS_L5A@mail.gmail.com","threadId":"37301","inReplyTo":"20140806184304.GB21254@peff.net","subject":"Re: Apple violating git LGPL?","fromName":"Tony","fromEmail":"ssk@toanii.com","sentAt":"2014-08-06T20:23:00Z","receivedAt":"2014-08-06T20:23:00Z","isPatch":false,"sender":{"key":"ssk@toanii.com","avatar":null},"body":"> Also, minor nit, but git is GPL, not LGPL.\n\nBut Apple put a LGPL license in side the folder. See:\nhttps://www.opensource.apple.com/source/Git/Git-48/src/git/LGPL-2.1\n"},{"id":"247366","messageId":"20140806204137.GA22592@peff.net","threadId":"37301","inReplyTo":"CA+Cdr4kobYDVGJneBXENYj=hmC6YEM=BYqGoAFvUNeaeYS_L5A@mail.gmail.com","subject":"Re: Apple violating git LGPL?","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2014-08-06T20:41:37Z","receivedAt":"2014-08-06T20:41:37Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Wed, Aug 06, 2014 at 01:23:00PM -0700, Tony wrote:\n\n> > Also, minor nit, but git is GPL, not LGPL.\n> \n> But Apple put a LGPL license in side the folder. See:\n> https://www.opensource.apple.com/source/Git/Git-48/src/git/LGPL-2.1\n\nInteresting. It starts with:\n\n  While most of this project is under the GPL (see COPYING), the xdiff/\n  library and some libc code from compat/ are licensed under the GNU\n  LGPL, version 2.1 or (at your option) any later version and some other\n  files are under other licenses.  Check the individual files to be\n  sure.\n\nwhich makes sense.\n\n-Peff\n"},{"id":"247367","messageId":"20140806205145.GB22592@peff.net","threadId":"37301","inReplyTo":"53E287D4.1050106@baywinds.org","subject":"Re: Apple violating git LGPL?","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2014-08-06T20:51:45Z","receivedAt":"2014-08-06T20:51:45Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Wed, Aug 06, 2014 at 12:53:56PM -0700, Bruce Ferrell wrote:\n\n> On 08/06/2014 11:43 AM, Jeff King wrote:\n> \n> snippage here 8< >8\n> >As it happens, though, they _do_ modify the git that they distribute. I\n> >know at least that they bake-in the osxkeychain helper config in away that\n> >the user cannot turn off. There may be more changes, but I haven't done a\n> >full diff. And they do provide the source:\n> >https://www.opensource.apple.com/source/Git/\n\n> Is that a plugin?  if not what about proprietary plugins? How are they\n> affected by the license is this case?\n\nI don't know exactly what you mean by \"plugin\" here.\n\nosxkeychain is a separate program found in git's contrib directory.  You\npoint git at it by setting your credential.helper config to\n\"osxkeychain\". However, in the Apple version, they have hardcoded that\nconfig into the git binary, and you can't turn it off (you can add\nadditional helpers, but you can't undo the keychain helper). So I don't\nthink there is any licensing question about what they have done[1].\n\nI do not know offhand of any proprietary credential helpers.  They do\ninteract with git over a pipe, and their primary function is to feed\ndata to git. My understanding is that there are some people who believe\nthat makes them derivative works of git (i.e., that talking RPC over a\npipe to avoid linking does not get around the GPL), but there are others\nwho would consider them separate programs.\n\n-Peff\n\n[1] Whether what they have done is smart is another matter. I looked at\n    the diff Apple's Git-48 and v1.8.5.2 (on which it seems to be\n    based).  There aren't a huge number of changes, but some of them\n    baffle me. Why bake-in credential.helper when you can set it in\n    /etc/gitconfig? Why default core.trustctime to false when you can\n    set it via /etc/gitconfig?  Etc. I wish they would work with the\n    configurability tools that we already provide, and if those are not\n    sufficient, work with us to make git more configurable. But AFAIK\n    whoever is responsible for those changes has never participated on\n    the mailing list.\n"}]}