{"thread":{"id":"5003","subject":"Licensing and the library version of git","startedAt":"2006-07-26T21:36:16Z","lastAt":"2006-07-29T11:21:54Z","messageCount":41,"participants":["Jon Smirl","Shawn Pearce","Petr Baudis","Johannes Schindelin","Linus Torvalds","Grzegorz Kulewski","Jakub Narebski","David Lang","Daniel Barkalow","Wolfgang Denk","Anand Kumria"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"24169","messageId":"9e4733910607261436v4c0802e5v7301e904593f9bab@mail.gmail.com","threadId":"5003","inReplyTo":null,"subject":"Licensing and the library version of git","fromName":"Jon Smirl","fromEmail":"jonsmirl@gmail.com","sentAt":"2006-07-26T21:36:16Z","receivedAt":"2006-07-26T21:36:16Z","isPatch":false,"sender":{"key":"jonsmirl@gmail.com","avatar":"https://gravatar.com/avatar/cff3bf5bfdfa6708b905712ff91f0f9b8aaca161659f38c02b787920d5d28b7e?d=mp&s=160"},"body":"Can the library version of git be licensed LGPL instead of GPL? If it\nis GPL then it can't be linked into non-GPL projects like Eclipse.\n\n-- \nJon Smirl\njonsmirl@gmail.com\n"},{"id":"24182","messageId":"20060727014040.GA32742@spearce.org","threadId":"5003","inReplyTo":"9e4733910607261436v4c0802e5v7301e904593f9bab@mail.gmail.com","subject":"Re: Licensing and the library version of git","fromName":"Shawn Pearce","fromEmail":"spearce@spearce.org","sentAt":"2006-07-27T01:40:41Z","receivedAt":"2006-07-27T01:40:41Z","isPatch":false,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"Jon Smirl <jonsmirl@gmail.com> wrote:\n> Can the library version of git be licensed LGPL instead of GPL? If it\n> is GPL then it can't be linked into non-GPL projects like Eclipse.\n\nTrue.  But I have a pure-Java implementation of portions of GIT:\n\n\t- pack file reader, including delta decompression;\n\t- loose object reader (sans new pack header format);\n\t- loose object writer (blobs, trees, commits, no tags);\n\t- ref reader/basic resolver;\n\t- ref writer;\n\t- new repository creation;\n\t- tree and commit parsing;\n\t- n-way tree structure diff (no blob content diff);\n\nand Eclipse UI for:\n\n\t- resource decorator showing object state;\n\t- rename tracking (well, automatic delete then add);\n\t- add file/folder to repository;\n\t- delete file/folder from repository;\n\t- save workspace state to a tree;\n\t- periodically flush modified files into blobs;\n\nbut I need UI still for creating a commit.  I'd like to get that\ncode finished this week and get the repository posted on the web\nfor others to start messing around with if they are interested.\nThis project has just been slow going for me as I'm working looooong\nhours at my day job.  :-)\n\n-- \nShawn.\n"},{"id":"24194","messageId":"20060727114105.GZ13776@pasky.or.cz","threadId":"5003","inReplyTo":"9e4733910607261436v4c0802e5v7301e904593f9bab@mail.gmail.com","subject":"Re: Licensing and the library version of git","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2006-07-27T11:41:05Z","receivedAt":"2006-07-27T11:41:05Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Dear diary, on Wed, Jul 26, 2006 at 11:36:16PM CEST, I got a letter\nwhere Jon Smirl <jonsmirl@gmail.com> said that...\n> Can the library version of git be licensed LGPL instead of GPL? If it\n> is GPL then it can't be linked into non-GPL projects like Eclipse.\n\nProbably not since it essentially _is_ the base Git code now. You would\nneed to find all the Git copyright holders and convince them to\nrelicence it, since there are thoughts about moving more code to the\nlibrary, and even parts of scripts might eventually end up there after\nrewrite in C.\n\nAnd I didn't even get to discussing whether LGPL is actually desirable\nfor Git.\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nSnow falling on Perl. White noise covering line noise.\nHides all the bugs too. -- J. Putnam\n"},{"id":"24195","messageId":"Pine.LNX.4.63.0607271400160.29667@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"5003","inReplyTo":"20060727114105.GZ13776@pasky.or.cz","subject":"Re: Licensing and the library version of git","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2006-07-27T12:02:09Z","receivedAt":"2006-07-27T12:02:09Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 27 Jul 2006, Petr Baudis wrote:\n\n> And I didn't even get to discussing whether LGPL is actually desirable\n> for Git.\n\n... or whether it is neccessary for an Eclipse-plugin to something else \nthan GPL.\n\nCiao,\nDscho\n"},{"id":"24199","messageId":"9e4733910607270554p5622ee20ida8c264cf3122500@mail.gmail.com","threadId":"5003","inReplyTo":"Pine.LNX.4.63.0607271400160.29667@wbgn013.biozentrum.uni-wuerzburg.de","subject":"Re: Licensing and the library version of git","fromName":"Jon Smirl","fromEmail":"jonsmirl@gmail.com","sentAt":"2006-07-27T12:54:54Z","receivedAt":"2006-07-27T12:54:54Z","isPatch":false,"sender":{"key":"jonsmirl@gmail.com","avatar":"https://gravatar.com/avatar/cff3bf5bfdfa6708b905712ff91f0f9b8aaca161659f38c02b787920d5d28b7e?d=mp&s=160"},"body":"On 7/27/06, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n> Hi,\n>\n> On Thu, 27 Jul 2006, Petr Baudis wrote:\n>\n> > And I didn't even get to discussing whether LGPL is actually desirable\n> > for Git.\n>\n> ... or whether it is neccessary for an Eclipse-plugin to something else\n> than GPL.\n\nEclipse is not licensed GPL. To use the git library with Eclipse it\nwould need a JNI wrapper which would link it into the code. The work\naround would be to make the user compile and link the JNI wrapper. But\nI see that someone is already writing a pure Java version which will\nwork around the GPL problem assuming the Java version is released\nunder a compatible license.\n\nIn general libraries should be licensed LGPL to avoid the license\nincompatibility problem. A GPL library forces the main app to be GPL\ntoo. You may like trying to force GPL onto the app but many apps are\nstuck with the license they have and can't be changed since there is\nno way to contact the original developers. A GPL git library means\nthat these apps simply won't use git.\n\nThis also means that there will never be integrated git support in\nMicrosoft Visual Studio. This has impacts on switching cross platform\napps like Mozilla to git.\n\n-- \nJon Smirl\njonsmirl@gmail.com\n"},{"id":"24201","messageId":"20060727131127.GA13776@pasky.or.cz","threadId":"5003","inReplyTo":"9e4733910607270554p5622ee20ida8c264cf3122500@mail.gmail.com","subject":"Re: Licensing and the library version of git","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2006-07-27T13:11:27Z","receivedAt":"2006-07-27T13:11:27Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Dear diary, on Thu, Jul 27, 2006 at 02:54:54PM CEST, I got a letter\nwhere Jon Smirl <jonsmirl@gmail.com> said that...\n> In general libraries should be licensed LGPL to avoid the license\n> incompatibility problem. A GPL library forces the main app to be GPL\n> too.\n\nBut really another main app here (Git) is ending up in the library.\n\nYou can still always use the \"Git ABI\" - the commands. Or you could try\nhaving a GPL'd \"Git/Eclipse toolkit\" which would reduce the barrier to\nonly single exec per Git invocation or something, but it would be\nprobably somewhat tricky on the derived works playground.\n\n> You may like trying to force GPL onto the app but many apps are\n> stuck with the license they have and can't be changed since there is\n> no way to contact the original developers.\n\nAt this point, git-shortlog lists exactly 200 people (at least entries\nlike Unknown or No name are all linux@horizon.com ;-).\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nSnow falling on Perl. White noise covering line noise.\nHides all the bugs too. -- J. Putnam\n"},{"id":"24205","messageId":"Pine.LNX.4.63.0607271602060.29667@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"5003","inReplyTo":"9e4733910607270554p5622ee20ida8c264cf3122500@mail.gmail.com","subject":"Re: Licensing and the library version of git","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2006-07-27T14:04:11Z","receivedAt":"2006-07-27T14:04:11Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 27 Jul 2006, Jon Smirl wrote:\n\n> On 7/27/06, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n> > Hi,\n> > \n> > On Thu, 27 Jul 2006, Petr Baudis wrote:\n> > \n> > > And I didn't even get to discussing whether LGPL is actually desirable\n> > > for Git.\n> > \n> > ... or whether it is neccessary for an Eclipse-plugin to something else\n> > than GPL.\n> \n> Eclipse is not licensed GPL.\n\nWe are talking about Eclipse _plugins_ here. Often (especially when the \ndeciding people have $$ in their eyes), plugins have less restrictions \n(for example, WSAD would not be possible if _all_ extensions to Eclipse \nwould have to be CPL).\n\nCiao,\nDscho\n"},{"id":"24210","messageId":"9e4733910607270911p50d25d97w1a898fc7a9119e7d@mail.gmail.com","threadId":"5003","inReplyTo":"20060727131127.GA13776@pasky.or.cz","subject":"Re: Licensing and the library version of git","fromName":"Jon Smirl","fromEmail":"jonsmirl@gmail.com","sentAt":"2006-07-27T16:11:00Z","receivedAt":"2006-07-27T16:11:00Z","isPatch":false,"sender":{"key":"jonsmirl@gmail.com","avatar":"https://gravatar.com/avatar/cff3bf5bfdfa6708b905712ff91f0f9b8aaca161659f38c02b787920d5d28b7e?d=mp&s=160"},"body":"On 7/27/06, Petr Baudis <pasky@suse.cz> wrote:\n> > You may like trying to force GPL onto the app but many apps are\n> > stuck with the license they have and can't be changed since there is\n> > no way to contact the original developers.\n>\n> At this point, git-shortlog lists exactly 200 people (at least entries\n> like Unknown or No name are all linux@horizon.com ;-).\n\nInability to integrate with Microsoft Visual Studio is going to have a\nlot of impact on the cross platform use of git.  Is a conscious\ndecision being made to stop this integration or is this just unplanned\nside effect of the original license? If this is an unplanned side\neffect, the quicker we move, the easier it is to fix.\n\nNote that only the code going into the library needs to be LGPL. That\nshould significantly reduce the number of authors that need to be\ncontacted.\n\nA first step to fixing this would be to add an immediate requirement\nthat all new code that is targeted to library functions be licensed\nLGPL. That will at least stop the problem from getting any worse.\n\n-- \nJon Smirl\njonsmirl@gmail.com\n"},{"id":"24211","messageId":"Pine.LNX.4.63.0607271831200.29667@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"5003","inReplyTo":"9e4733910607270911p50d25d97w1a898fc7a9119e7d@mail.gmail.com","subject":"Re: Licensing and the library version of git","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2006-07-27T16:38:05Z","receivedAt":"2006-07-27T16:38:05Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 27 Jul 2006, Jon Smirl wrote:\n\n> On 7/27/06, Petr Baudis <pasky@suse.cz> wrote:\n> > > You may like trying to force GPL onto the app but many apps are\n> > > stuck with the license they have and can't be changed since there is\n> > > no way to contact the original developers.\n> > \n> > At this point, git-shortlog lists exactly 200 people (at least entries\n> > like Unknown or No name are all linux@horizon.com ;-).\n> \n> Inability to integrate with Microsoft Visual Studio is going to have a\n> lot of impact on the cross platform use of git.  Is a conscious\n> decision being made to stop this integration or is this just unplanned\n> side effect of the original license? If this is an unplanned side\n> effect, the quicker we move, the easier it is to fix.\n\nIf you want to do it, go ahead. I think the reason it has not been done so \nfar is that nobody had the need, or alternatively was not ready to do \nit or hire someone to do it.\n\n> Note that only the code going into the library needs to be LGPL. That\n> should significantly reduce the number of authors that need to be\n> contacted.\n\nNo and no.\n\nLet me tackle the second point first: Almost all functionality is in the \nlibrary, and more is to be transferred to it.\n\nThe first point: If you want to integrate git into MSVC, you have to \nprovide it via the SCCI. Note that the letter \"I\" stands for \"Interface\", \nwhich makes a runtime linking with the component a non-derivative work. \nWhich basically means that you need not GPL MSVC.\n\n> A first step to fixing this would be to add an immediate requirement\n> that all new code that is targeted to library functions be licensed\n> LGPL. That will at least stop the problem from getting any worse.\n\nIf you still feel the need for LGPL, go ahead, find all contributors and \ncontact them.\n\nCiao,\nDscho\n"},{"id":"24213","messageId":"Pine.LNX.4.64.0607270936200.4168@g5.osdl.org","threadId":"5003","inReplyTo":"9e4733910607270911p50d25d97w1a898fc7a9119e7d@mail.gmail.com","subject":"Re: Licensing and the library version of git","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2006-07-27T16:41:20Z","receivedAt":"2006-07-27T16:41:20Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Thu, 27 Jul 2006, Jon Smirl wrote:\n> \n> Inability to integrate with Microsoft Visual Studio is going to have a\n> lot of impact on the cross platform use of git.  Is a conscious\n> decision being made to stop this integration or is this just unplanned\n> side effect of the original license? If this is an unplanned side\n> effect, the quicker we move, the easier it is to fix.\n\nI don't think the choice of GPLv2 is an \"unplanned side effect\". It's a \nfact.\n\nI personally don't much like the LGPL.\n\nI'd also like to point out that unlike every single horror I've ever \nwitnessed when looking closer at SCM products, git actually has a simple \ndesign, with stable and reasonably well-documented data structures. In \nfact, I'm a huge proponent of designing your code around the data, rather \nthan the other way around, and I think it's one of the reasons git has \nbeen fairly successful (*).\n\nSo it's easy enough to just write whatever Java code or something to just \naccess the databases yourself. The object model of git may be smart, but \nit's neither proprietary nor patented. I suspect it's often a lot easier \nto integrate git into other projects _that_ way, rather than try to \nactually port the code itself.\n\n\t\tLinus\n\n(*) I will, in fact, claim that the difference between a bad programmer \nand a good one is whether he considers his code or his data structures \nmore important. Bad programmers worry about the code. Good programmers \nworry about data structures and their relationships.\n"},{"id":"24215","messageId":"Pine.LNX.4.64.0607270941400.4168@g5.osdl.org","threadId":"5003","inReplyTo":"Pine.LNX.4.64.0607270936200.4168@g5.osdl.org","subject":"Re: Licensing and the library version of git","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2006-07-27T16:46:54Z","receivedAt":"2006-07-27T16:46:54Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Thu, 27 Jul 2006, Linus Torvalds wrote:\n>\n> I'd also like to point out that unlike every single horror I've ever \n> witnessed when looking closer at SCM products, git actually has a simple \n> design, with stable and reasonably well-documented data structures.\n\nSide note: they got even cleaner with the recent 'objformat' merge, where \nthe unpacked objects now have the same format as the packed ones. I'd \nsuggest that if somebody is interested in duplicating git functionality, \nthey should start with the new format, and thus be able to share more \ncode.\n\nAlso note that a lot of the really _core_ and complex git functionality \n(notably, the revision list parsing, which is really all of the truly \nfundamental stuff) is probably not something that a project like Visual \nStudio or an Eclipse plugin would ever even want.\n\nI seriously doubt that Eclipse or Visual Stupido could ever actually \n_understand_ what git does, so the only parts you actually would want to \nuse for those is literally the trivial stuff - the \"look up objects\" and \n\"generate commits\" part. \n\n\t\t\tLinus\n"},{"id":"24217","messageId":"Pine.LNX.4.63.0607271846390.8976@alpha.polcom.net","threadId":"5003","inReplyTo":"Pine.LNX.4.64.0607270936200.4168@g5.osdl.org","subject":"Re: Licensing and the library version of git","fromName":"Grzegorz Kulewski","fromEmail":"kangur@polcom.net","sentAt":"2006-07-27T16:51:41Z","receivedAt":"2006-07-27T16:51:41Z","isPatch":false,"sender":{"key":"kangur@polcom.net","avatar":null},"body":"On Thu, 27 Jul 2006, Linus Torvalds wrote:\n> So it's easy enough to just write whatever Java code or something to just\n> access the databases yourself. The object model of git may be smart, but\n> it's neither proprietary nor patented. I suspect it's often a lot easier\n> to integrate git into other projects _that_ way, rather than try to\n> actually port the code itself.\n\nBut won't it create hell of several buggy, incompatible, not well \nmaintained versions of GIT (or at least GIT \"client\")?\n\nI think that part of the anwser for question \"Why do people use GIT?\" is \nthat they trust you and other maintainers that you do a good and stable \njob. Won't creating several ports/forks/whatever destroy at least part of \nthis?\n\nBesides it is a whole lot easier to just create some JNI code around \nlibgit and use it from Java than to rewrite GIT (or part of it) in Java or \nin any other language. Also resulting code is likely to be (maybe not very \nmuch but still) faster.\n\n\nThanks,\n\nGrzegorz Kulewski\n"},{"id":"24219","messageId":"eaarba$6hg$1@sea.gmane.org","threadId":"5003","inReplyTo":"Pine.LNX.4.64.0607270941400.4168@g5.osdl.org","subject":"Re: Licensing and the library version of git","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-07-27T16:58:26Z","receivedAt":"2006-07-27T16:58:26Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Linus Torvalds wrote:\n\n> I seriously doubt that Eclipse or Visual Stupido could ever actually \n                                    ^^^^^^^^^^^^^^\nVisual Stupido... nice typo :-D\n\n-- \nJakub Narebski\nWarsaw, Poland\nShadeHawk on #git\n"},{"id":"24221","messageId":"Pine.LNX.4.64.0607271003270.4168@g5.osdl.org","threadId":"5003","inReplyTo":"Pine.LNX.4.63.0607271846390.8976@alpha.polcom.net","subject":"Re: Licensing and the library version of git","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2006-07-27T17:07:20Z","receivedAt":"2006-07-27T17:07:20Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Thu, 27 Jul 2006, Grzegorz Kulewski wrote:\n> \n> I think that part of the anwser for question \"Why do people use GIT?\" is that\n> they trust you and other maintainers that you do a good and stable job. Won't\n> creating several ports/forks/whatever destroy at least part of this?\n\nSure. But the point is, the GPLv2 isn't exactly up for discussion. People \ncan complain all they want, but if they want to trust me, they'll take the \nGPLv2. It's that easy.\n\nAnd if people don't want the GPLv2, they have alternatives as outlined. \nYes, their code will be less reliable and good, but hey, that's kind of my \n_point_. A lot of the quality of open source projects comes from the fact \nthat you see how it gets used, and the LGPL is strictly inferior, because \nit ends up hiding all the _important_ parts behind a veil of impenetrable \nsecrecy.\n\nQuite frankly, I don't want to see bug-reports and interfaces that I can't \nactually duplicate and follow myself. I'm so _totally_ uninterested in \nthose kinds of things that it's not even funny.\n\n\t\t\tLinus\n"},{"id":"24232","messageId":"20060727172047.GB13776@pasky.or.cz","threadId":"5003","inReplyTo":"Pine.LNX.4.63.0607271602060.29667@wbgn013.biozentrum.uni-wuerzburg.de","subject":"Re: Licensing and the library version of git","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2006-07-27T17:20:47Z","receivedAt":"2006-07-27T17:20:47Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"  Hi,\n\nDear diary, on Thu, Jul 27, 2006 at 04:04:11PM CEST, I got a letter\nwhere Johannes Schindelin <Johannes.Schindelin@gmx.de> said that...\n> On Thu, 27 Jul 2006, Jon Smirl wrote:\n> \n> > On 7/27/06, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n> > > ... or whether it is neccessary for an Eclipse-plugin to something else\n> > > than GPL.\n> > \n> > Eclipse is not licensed GPL.\n> \n> We are talking about Eclipse _plugins_ here. Often (especially when the \n> deciding people have $$ in their eyes), plugins have less restrictions \n> (for example, WSAD would not be possible if _all_ extensions to Eclipse \n> would have to be CPL).\n\n  I concur. IANAL but from my understanding is that GPL requires just\nthe work and its derivatives to be free. So it's a matter of the\nderivatives chain; if you write the plugin, does Eclipse become its\nderivative work? Well, the derivation went the other way around, so\nthe plugin is derivative work of Git and possibly Eclipse. So AFAICS the\nonly possible clash that _might_ happen is if Git requires CVS and\nEclipse requires some other licence.\n\n  Too bad for Eclipse's GPL-incompatible viral licence...\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nSnow falling on Perl. White noise covering line noise.\nHides all the bugs too. -- J. Putnam\n"},{"id":"24233","messageId":"20060727172329.GC13776@pasky.or.cz","threadId":"5003","inReplyTo":"20060727172047.GB13776@pasky.or.cz","subject":"Re: Licensing and the library version of git","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2006-07-27T17:23:29Z","receivedAt":"2006-07-27T17:23:29Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Dear diary, on Thu, Jul 27, 2006 at 07:20:47PM CEST, I got a letter\nwhere Petr Baudis <pasky@suse.cz> said that...\n> only possible clash that _might_ happen is if Git requires CVS and\n                                                             ^^^\n\n  Er, GPL! *blush*\n\n  That said, Git still requires RCS for the merge operation. Any plans\nto finally switch to diff3 and toss out another useless dependency?\n\n  *blush for shameless plug*\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nSnow falling on Perl. White noise covering line noise.\nHides all the bugs too. -- J. Putnam\n"},{"id":"24238","messageId":"Pine.LNX.4.64.0607271038520.4168@g5.osdl.org","threadId":"5003","inReplyTo":"20060727172329.GC13776@pasky.or.cz","subject":"Re: Licensing and the library version of git","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2006-07-27T17:44:57Z","receivedAt":"2006-07-27T17:44:57Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Thu, 27 Jul 2006, Petr Baudis wrote:\n> \n>   That said, Git still requires RCS for the merge operation. Any plans\n> to finally switch to diff3 and toss out another useless dependency?\n\nIf libxdiff ever gets a real 3-way merge, I think we'd do it in a \nheartbeat.\n\nRight now it has a function called \"xdl_merge3()\", but it doesn't actually \nhave anythign to do with a real merge:\n\n  \"The function works by creating a differential between mmfo and mmf2 and\n   by applying the resulting patch to mmf1\"\n\nso it's really just a \"diff + patch\".\n\nI asked Davide about it some time ago, and I think he said that he'd like \nto do it properly, but it's always been on his back-burner and that he \ndidn't foresee that changing in the immediate future..\n\nSo we can hope. Or somebody who knows the algorithms could just implement \nit and send it to both us and Davide (libxdiff _is_ LGPL, btw).\n\n\t\tLinus\n"},{"id":"24239","messageId":"9e4733910607271047r57fe0aa3hf29b4b9244c02f2c@mail.gmail.com","threadId":"5003","inReplyTo":"Pine.LNX.4.64.0607270941400.4168@g5.osdl.org","subject":"Re: Licensing and the library version of git","fromName":"Jon Smirl","fromEmail":"jonsmirl@gmail.com","sentAt":"2006-07-27T17:47:24Z","receivedAt":"2006-07-27T17:47:24Z","isPatch":false,"sender":{"key":"jonsmirl@gmail.com","avatar":"https://gravatar.com/avatar/cff3bf5bfdfa6708b905712ff91f0f9b8aaca161659f38c02b787920d5d28b7e?d=mp&s=160"},"body":"On 7/27/06, Linus Torvalds <torvalds@osdl.org> wrote:\n> I seriously doubt that Eclipse or Visual Stupido could ever actually\n> _understand_ what git does, so the only parts you actually would want to\n> use for those is literally the trivial stuff - the \"look up objects\" and\n> \"generate commits\" part.\n\nTypically an integrated IDE can move, delete, rename directories and\nfiles. Get a log. Push, pull and commit. Revert a change. Generate\ndiffs to previous versions.\n\n-- \nJon Smirl\njonsmirl@gmail.com\n"},{"id":"24245","messageId":"Pine.LNX.4.63.0607271140100.11253@qynat.qvtvafvgr.pbz","threadId":"5003","inReplyTo":"Pine.LNX.4.64.0607270936200.4168@g5.osdl.org","subject":"Re: Licensing and the library version of git","fromName":"David Lang","fromEmail":"dlang@digitalinsight.com","sentAt":"2006-07-27T18:42:55Z","receivedAt":"2006-07-27T18:42:55Z","isPatch":false,"sender":{"key":"dlang@digitalinsight.com","avatar":null},"body":"On Thu, 27 Jul 2006, Linus Torvalds wrote:\n\n> (*) I will, in fact, claim that the difference between a bad programmer\n> and a good one is whether he considers his code or his data structures\n> more important. Bad programmers worry about the code. Good programmers\n> worry about data structures and their relationships.\n\npersonally I'd add to this that after the data structures are defined and you \nturn to the code the API is significantly more important then the code itself.\n\nDavid Lang\n"},{"id":"24248","messageId":"Pine.LNX.4.64.0607271457250.9789@iabervon.org","threadId":"5003","inReplyTo":"Pine.LNX.4.64.0607271003270.4168@g5.osdl.org","subject":"Re: Licensing and the library version of git","fromName":"Daniel Barkalow","fromEmail":"barkalow@iabervon.org","sentAt":"2006-07-27T19:31:02Z","receivedAt":"2006-07-27T19:31:02Z","isPatch":false,"sender":{"key":"barkalow@iabervon.org","avatar":"https://avatars.githubusercontent.com/u/55364219?v=4"},"body":"On Thu, 27 Jul 2006, Linus Torvalds wrote:\n\n> On Thu, 27 Jul 2006, Grzegorz Kulewski wrote:\n> > \n> > I think that part of the anwser for question \"Why do people use GIT?\" is that\n> > they trust you and other maintainers that you do a good and stable job. Won't\n> > creating several ports/forks/whatever destroy at least part of this?\n> \n> Sure. But the point is, the GPLv2 isn't exactly up for discussion. People \n> can complain all they want, but if they want to trust me, they'll take the \n> GPLv2. It's that easy.\n\nI think there'd be a justification for licensing part of git like sparse \nis licensed, for the same reasons. It wouldn't include any of the \ninteresting operations, probably, but it would be worth having a canonical \nimplementation of reading and writing the data structures, so other \nimplementations don't screw that up. I wouldn't like to have someone write \na version that generated subtly corrupt git objects that it accepts along \nwith proper objects, such that we have to work around the breakage. It's a \nbit less likely to happen if there's no licensing reason not to use the \nsame code.\n\n\t-Daniel\n*This .sig left intentionally blank*\n"},{"id":"24250","messageId":"Pine.LNX.4.64.0607271232090.4168@g5.osdl.org","threadId":"5003","inReplyTo":"Pine.LNX.4.63.0607271140100.11253@qynat.qvtvafvgr.pbz","subject":"Re: Licensing and the library version of git","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2006-07-27T19:44:06Z","receivedAt":"2006-07-27T19:44:06Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Thu, 27 Jul 2006, David Lang wrote:\n> \n> > (*) I will, in fact, claim that the difference between a bad programmer\n> > and a good one is whether he considers his code or his data structures\n> > more important. Bad programmers worry about the code. Good programmers\n> > worry about data structures and their relationships.\n> \n> personally I'd add to this that after the data structures are defined and you\n> turn to the code the API is significantly more important then the code itself.\n\nI think people sometimes put too much emphasis on ABI's. \n\nSure, if you're depending on a library, the ABI is supremely important. \nBut I literally believe that one of the things that makes open source \ntechnically superior to most other projects is the fact that ABI's can be \nchanged more easily, and sometimes at all.\n\nIf you have good data structures, the ABI's are largely irrelevant, and if \nyou have a problem with an existing ABI, you can just write a new \nentrypoint instead (and leave the old ABI alone).\n\nOn the other hand, if you have bad datastructures, the ABI often reflects \nthat, and having the balls to say that your ABI's are broken and need to \nbe re-done in order to fix the data structures is _very_ important. \nOtherwise you'll never be able to fix anything.\n\nSo I think that ABI's are often _way_ overhyped. If they are good, \neverybody is happy. But if the interfaces are bad, you had better be \nwilling to just say \"screw the ABI\" and just fix it.\n\nNow, that doesn't mean that you should change ABI's on a whim, and \nregardless of any other issues, your user base is always important. But I \ndon't think ABI's are, or should be, \"sacred\".\n\nFor example, one thing git did early on was to just admit that some ABI's \nare horribly horribly bad. For example, the CVS \"annotate\" ABI is just a \nmistake, and trying to support that would just have held git back from \nrealizing that you can be so much more.\n\nThat may not be a \"Application Binary Interface\" kind of ABI, but it's an \ninterface, and it's exactly the same thing - sometimes you just have to \nhave the cajones to say \"screw that, we'll be so much better if we can \nchange the interface\".\n\n\t\tLinus\n"},{"id":"24251","messageId":"Pine.LNX.4.63.0607271245200.11436@qynat.qvtvafvgr.pbz","threadId":"5003","inReplyTo":"Pine.LNX.4.64.0607271232090.4168@g5.osdl.org","subject":"Re: Licensing and the library version of git","fromName":"David Lang","fromEmail":"dlang@digitalinsight.com","sentAt":"2006-07-27T19:49:26Z","receivedAt":"2006-07-27T19:49:26Z","isPatch":false,"sender":{"key":"dlang@digitalinsight.com","avatar":null},"body":"On Thu, 27 Jul 2006, Linus Torvalds wrote:\n\n> On Thu, 27 Jul 2006, David Lang wrote:\n>>\n>>> (*) I will, in fact, claim that the difference between a bad programmer\n>>> and a good one is whether he considers his code or his data structures\n>>> more important. Bad programmers worry about the code. Good programmers\n>>> worry about data structures and their relationships.\n>>\n>> personally I'd add to this that after the data structures are defined and you\n>> turn to the code the API is significantly more important then the code itself.\n>\n> I think people sometimes put too much emphasis on ABI's.\n\nI was careful to say aPi, not aBi :-)\n\n> Sure, if you're depending on a library, the ABI is supremely important.\n> But I literally believe that one of the things that makes open source\n> technically superior to most other projects is the fact that ABI's can be\n> changed more easily, and sometimes at all.\n\nvery true\n\n> If you have good data structures, the ABI's are largely irrelevant, and if\n> you have a problem with an existing ABI, you can just write a new\n> entrypoint instead (and leave the old ABI alone).\n>\n> On the other hand, if you have bad datastructures, the ABI often reflects\n> that, and having the balls to say that your ABI's are broken and need to\n> be re-done in order to fix the data structures is _very_ important.\n> Otherwise you'll never be able to fix anything.\n\nhowever it's possible to have a good data structure and a bad API. I'm just \nemphisising the API over the 'elegance', etc of the code that implements it.\n\n> So I think that ABI's are often _way_ overhyped. If they are good,\n> everybody is happy. But if the interfaces are bad, you had better be\n> willing to just say \"screw the ABI\" and just fix it.\n>\n> Now, that doesn't mean that you should change ABI's on a whim, and\n> regardless of any other issues, your user base is always important. But I\n> don't think ABI's are, or should be, \"sacred\".\n\nI'm not meaning to imply in any way that API's are sacred, just that they are \nvery important and deserve a lot of thought before implementation.\n\nDavid Lang\n"},{"id":"24252","messageId":"20060727195614.7EDAE353B04@atlas.denx.de","threadId":"5003","inReplyTo":"9e4733910607270554p5622ee20ida8c264cf3122500@mail.gmail.com","subject":"Re: Licensing and the library version of git","fromName":"Wolfgang Denk","fromEmail":"wd@denx.de","sentAt":"2006-07-27T19:56:14Z","receivedAt":"2006-07-27T19:56:14Z","isPatch":false,"sender":{"key":"wd@denx.de","avatar":null},"body":"In message <9e4733910607270554p5622ee20ida8c264cf3122500@mail.gmail.com> you wrote:\n>\n> I see that someone is already writing a pure Java version which will\n> work around the GPL problem assuming the Java version is released\n> under a compatible license.\n\n... and assuming it is a clean-room  implementation  which  does  not\nborrow from the GPL code.\n\nBest regards,\n\nWolfgang Denk\n\n-- \nSoftware Engineering:  Embedded and Realtime Systems,  Embedded Linux\nPhone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de\nBe careful what you wish for. You never know who will be listening.\n                                      - Terry Pratchett, _Soul Music_\n"},{"id":"24254","messageId":"Pine.LNX.4.63.0607272237460.29667@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"5003","inReplyTo":"Pine.LNX.4.63.0607271245200.11436@qynat.qvtvafvgr.pbz","subject":"Re: Licensing and the library version of git","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2006-07-27T20:38:44Z","receivedAt":"2006-07-27T20:38:44Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi\n\nOn Thu, 27 Jul 2006, David Lang wrote:\n\n> On Thu, 27 Jul 2006, Linus Torvalds wrote:\n> \n> > On Thu, 27 Jul 2006, David Lang wrote:\n> > > \n> > > > (*) I will, in fact, claim that the difference between a bad programmer\n> > > > and a good one is whether he considers his code or his data structures\n> > > > more important. Bad programmers worry about the code. Good programmers\n> > > > worry about data structures and their relationships.\n> > > \n> > > personally I'd add to this that after the data structures are defined and\n> > > you\n> > > turn to the code the API is significantly more important then the code\n> > > itself.\n> > \n> > I think people sometimes put too much emphasis on ABI's.\n> \n> I was careful to say aPi, not aBi :-)\n\nAll Linus said about ABIs is true for APIs, too. The only difference \nbetween the two is, that people depend on the sacredness of ABIs even more \nthan on APIs.\n\nCiao,\nDscho\n"},{"id":"24255","messageId":"Pine.LNX.4.63.0607272239050.29667@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"5003","inReplyTo":"20060727195614.7EDAE353B04@atlas.denx.de","subject":"Re: Licensing and the library version of git","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2006-07-27T20:39:55Z","receivedAt":"2006-07-27T20:39:55Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 27 Jul 2006, Wolfgang Denk wrote:\n\n> In message <9e4733910607270554p5622ee20ida8c264cf3122500@mail.gmail.com> you wrote:\n> >\n> > I see that someone is already writing a pure Java version which will\n> > work around the GPL problem assuming the Java version is released\n> > under a compatible license.\n> \n> ... and assuming it is a clean-room  implementation  which  does  not\n> borrow from the GPL code.\n\n>From a standpoint of copyright (which the GPL relies on), this is not \npossible: you cannot include C code into Java. And if it is _translated_ \nfrom C into Java, it is not copyrighted any more.\n\nCiao,\nDscho\n"},{"id":"24256","messageId":"Pine.LNX.4.63.0607272240190.29667@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"5003","inReplyTo":"Pine.LNX.4.64.0607271457250.9789@iabervon.org","subject":"Re: Licensing and the library version of git","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2006-07-27T20:41:34Z","receivedAt":"2006-07-27T20:41:34Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 27 Jul 2006, Daniel Barkalow wrote:\n\n> On Thu, 27 Jul 2006, Linus Torvalds wrote:\n> \n> > On Thu, 27 Jul 2006, Grzegorz Kulewski wrote:\n> > > \n> > > I think that part of the anwser for question \"Why do people use GIT?\" is that\n> > > they trust you and other maintainers that you do a good and stable job. Won't\n> > > creating several ports/forks/whatever destroy at least part of this?\n> > \n> > Sure. But the point is, the GPLv2 isn't exactly up for discussion. People \n> > can complain all they want, but if they want to trust me, they'll take the \n> > GPLv2. It's that easy.\n> \n> I think there'd be a justification for licensing part of git like sparse \n> is licensed, for the same reasons. It wouldn't include any of the \n> interesting operations, probably, but it would be worth having a canonical \n> implementation of reading and writing the data structures, so other \n> implementations don't screw that up.\n\nYou could probably even get away just copying these I/O operations, \nbecause there is obviously no other way to do it. Ergo, no enforcable \ncopyright on those code sections.\n\nCiao,\nDscho\n"},{"id":"24257","messageId":"20060727205158.GE13776@pasky.or.cz","threadId":"5003","inReplyTo":"Pine.LNX.4.63.0607272239050.29667@wbgn013.biozentrum.uni-wuerzburg.de","subject":"Re: Licensing and the library version of git","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2006-07-27T20:51:58Z","receivedAt":"2006-07-27T20:51:58Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"  Hi,\n\nDear diary, on Thu, Jul 27, 2006 at 10:39:55PM CEST, I got a letter\nwhere Johannes Schindelin <Johannes.Schindelin@gmx.de> said that...\n> >From a standpoint of copyright (which the GPL relies on), this is not \n> possible: you cannot include C code into Java. And if it is _translated_ \n> from C into Java, it is not copyrighted any more.\n\n  now that's a pretty strong statement - did a lawyer tell you that?\n(Lawyer in what country? Germany?) Because copyrights are generally\nretained over translations, otherwise I could freely publish\ne.g. Czech translation of someone else's English book without any\npermissions and such, which is obviously not the case.\n\n  There has been actually similar issue with OpenTTD - it was created by\ntranslating Transport Tycoon Deluxe assembly to C without permission of\noriginal TTD copyright owner (not that anyone actually knows for sure\nwho that is, after series of company mergers and buyouts). I don't think\nanyone consulted a lawyer about legality of that either but I believe\nthat most people agree that this is basically illegal (but most likely,\nnoone will ever sue, or care at all).\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nSnow falling on Perl. White noise covering line noise.\nHides all the bugs too. -- J. Putnam\n"},{"id":"24258","messageId":"Pine.LNX.4.63.0607272254370.29667@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"5003","inReplyTo":"20060727205158.GE13776@pasky.or.cz","subject":"Re: Licensing and the library version of git","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2006-07-27T21:06:08Z","receivedAt":"2006-07-27T21:06:08Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 27 Jul 2006, Petr Baudis wrote:\n\n> Dear diary, on Thu, Jul 27, 2006 at 10:39:55PM CEST, I got a letter\n> where Johannes Schindelin <Johannes.Schindelin@gmx.de> said that...\n> > >From a standpoint of copyright (which the GPL relies on), this is not \n> > possible: you cannot include C code into Java. And if it is _translated_ \n> > from C into Java, it is not copyrighted any more.\n> \n>   now that's a pretty strong statement - did a lawyer tell you that?\n\n<politics>\nNo. And I hate the fact that more and more people are actually accepting \nthe idea of being dictated how they should live by lawyers.\n\nIf a law is not clear to a layman, it should not be enforcable.\n</politics>\n\n> (Lawyer in what country? Germany?) Because copyrights are generally\n> retained over translations, otherwise I could freely publish\n> e.g. Czech translation of someone else's English book without any\n> permissions and such, which is obviously not the case.\n\n<message=\"I am not a lawyer... sh1t, I am disgusted by those\">\nThe bigger problem is to _prove_ that it is a translation. It is much \neasier with a 300-page book you translated from English into Czech.\n\nIt is almost impossible to prove something was copied if the source \nlanguage is a procedural computer language, and the target language is an \nobject-oriented computer language. Given the technical abilities of \njudges, I even doubt that the act of the translation would _not_ be deemed \na non-literal transformation of the source code (and thus not be a \ncopyright case).\n</message>\n\n>   There has been actually similar issue with OpenTTD - it was created by\n> translating Transport Tycoon Deluxe assembly to C without permission of\n> original TTD copyright owner (not that anyone actually knows for sure\n> who that is, after series of company mergers and buyouts). I don't think\n> anyone consulted a lawyer about legality of that either but I believe\n> that most people agree that this is basically illegal (but most likely,\n> noone will ever sue, or care at all).\n\n<politics again=true>\nLet's be honest: lawyers will only be interested in the money they get. \nThey will not care one wit about what is right or wrong: just look in some \nnewspaper of your choice. This is a sad fact about our world (but there is \na remedy: look into the Hitchhiker's guide to the galaxy).\n\nThe consequence is: no lawyer will properly defend the work of open source \npeople, since they tend to be poor (well, at least not rich). You just \ncannot make much money by being nice.\n</politics>\n\nCiao,\nDscho\n"},{"id":"24259","messageId":"20060727211046.C9FD5352625@atlas.denx.de","threadId":"5003","inReplyTo":"Pine.LNX.4.63.0607272239050.29667@wbgn013.biozentrum.uni-wuerzburg.de","subject":"Re: Licensing and the library version of git","fromName":"Wolfgang Denk","fromEmail":"wd@denx.de","sentAt":"2006-07-27T21:10:46Z","receivedAt":"2006-07-27T21:10:46Z","isPatch":false,"sender":{"key":"wd@denx.de","avatar":null},"body":"In message <Pine.LNX.4.63.0607272239050.29667@wbgn013.biozentrum.uni-wuerzburg.de> you wrote:\n> \n> > ... and assuming it is a clean-room  implementation  which  does  not\n> > borrow from the GPL code.\n> \n> >From a standpoint of copyright (which the GPL relies on), this is not \n> possible: you cannot include C code into Java. And if it is _translated_ \n> from C into Java, it is not copyrighted any more.\n\nGulp. What have  you  been  smoking  lately?  Your  understanding  of\ncopyright (and of the GPL) is fundamentally broken.\n\nBest regards,\n\nWolfgang Denk\n\n-- \nSoftware Engineering:  Embedded and Realtime Systems,  Embedded Linux\nPhone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de\nMr. Cole's Axiom:\n        The sum of the intelligence on the planet is a constant;\n        the population is growing.\n"},{"id":"24260","messageId":"Pine.LNX.4.64.0607271402230.4168@g5.osdl.org","threadId":"5003","inReplyTo":"Pine.LNX.4.63.0607272239050.29667@wbgn013.biozentrum.uni-wuerzburg.de","subject":"Re: Licensing and the library version of git","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2006-07-27T21:15:18Z","receivedAt":"2006-07-27T21:15:18Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Thu, 27 Jul 2006, Johannes Schindelin wrote:\n> \n> From a standpoint of copyright (which the GPL relies on), this is not \n> possible: you cannot include C code into Java. And if it is _translated_ \n> from C into Java, it is not copyrighted any more.\n\nThat is definitely not true. Translation does not take away anything from \nthe copyright. If I write a book in English, and you translate it to \nGerman, _I_ remain the copyright holder, and you need my permission to \ndistribute the result. The fact that you translated it means nothing, and \nyou don't own it as a result.\n\nSimilarly, the fact that I and others hold the copyright on the source \ncode very much means that we also hold the copyright on any binaries you \n\"translate\" that source code into, and the only thing that gives you a \nright to distribute those binaries is not the translation phase, but the \nfact that the GPLv2 allows you to distribute binaries (with certain \nrequirements, of course).\n\nNow, on the other hand it's certainly true that certain elements are \npotentially uncopyrightable. If there is effectively only one sane or \ncommon way to actually write a git object to disk, the fact that your code \nends up looking very similar in Java to the way it is done in the original \nC does not imply any copyright problems at all.\n\nBut that doesn't mean that you can take the C code and just rewrite it as \nJava - it was still copyright protected. It just means that if your Java \ncode ends up looking like the C code, you can explain why it happened.\n\nNow, some things have _no_ copyright protection at all, at least in \ncertain areas. Facts and things that did not involve any artistic \nexpression at all are simply not copyrightable. So if you list the first \nmillion digits of PI, you can't complain if somebody copies them, for \nexample.\n\n(But in some places, you can apparently claim that you \"spent effort\" on \ngathering those digits of PI, and that others would have to spend that \nsame effort rather than copy your end result. I suspect that's a very weak \nargument, but I suspect that there have been worse arguments made in front \nof a judge in, say, places like Utah, to pick a random one).\n\nAnd as usual, tech people talking legal issues is not very sane. So talk \nto a lawyer if you really care.\n\n\t\t\tLinus\n"},{"id":"24261","messageId":"Pine.LNX.4.63.0607272313470.29667@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"5003","inReplyTo":"20060727211046.C9FD5352625@atlas.denx.de","subject":"Re: Licensing and the library version of git","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2006-07-27T21:16:38Z","receivedAt":"2006-07-27T21:16:38Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 27 Jul 2006, Wolfgang Denk wrote:\n\n> In message <Pine.LNX.4.63.0607272239050.29667@wbgn013.biozentrum.uni-wuerzburg.de> you wrote:\n> > \n> > > ... and assuming it is a clean-room  implementation  which  does  not\n> > > borrow from the GPL code.\n> > \n> > >From a standpoint of copyright (which the GPL relies on), this is not \n> > possible: you cannot include C code into Java. And if it is _translated_ \n> > from C into Java, it is not copyrighted any more.\n> \n> Gulp. What have  you  been  smoking  lately?\n\nNothing. I am a non-smoker. Maybe that is my problem?\n\n> Your understanding of copyright (and of the GPL) is fundamentally \n> broken.\n\nYou can read an article. And you can publish the contents in your own \nwords (you do not violate copyright by that). That is a fact.\n\nAnd I do not buy into your \"(and of the GPL)\" thing. Either I get the \ncopyright, which the GPL is based on, or I don't get the copyright (but \nstill get that the GPL is based on it).\n\nCiao,\nDscho\n"},{"id":"24262","messageId":"Pine.LNX.4.63.0607272318420.29667@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"5003","inReplyTo":"Pine.LNX.4.64.0607271402230.4168@g5.osdl.org","subject":"Re: Licensing and the library version of git","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2006-07-27T21:19:23Z","receivedAt":"2006-07-27T21:19:23Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 27 Jul 2006, Linus Torvalds wrote:\n\n> And as usual, tech people talking legal issues is not very sane. So talk \n> to a lawyer if you really care.\n\nAmen.\n\nAnd I will not talk to a lawyer today: I had a lovely day, and I don't \nwant to spoil it.\n\nCiao,\nDscho\n"},{"id":"24271","messageId":"eablgn$c6a$1@sea.gmane.org","threadId":"5003","inReplyTo":"9e4733910607270911p50d25d97w1a898fc7a9119e7d@mail.gmail.com","subject":"Re: Licensing and the library version of git","fromName":"Anand Kumria","fromEmail":"wildfire@progsoc.org","sentAt":"2006-07-28T00:24:56Z","receivedAt":"2006-07-28T00:24:56Z","isPatch":false,"sender":{"key":"wildfire@progsoc.org","avatar":null},"body":"On Thu, 27 Jul 2006 12:11:00 -0400, Jon Smirl wrote:\n\n> On 7/27/06, Petr Baudis <pasky@suse.cz> wrote:\n>> > You may like trying to force GPL onto the app but many apps are\n>> > stuck with the license they have and can't be changed since there is\n>> > no way to contact the original developers.\n>>\n>> At this point, git-shortlog lists exactly 200 people (at least entries\n>> like Unknown or No name are all linux@horizon.com ;-).\n> \n> Inability to integrate with Microsoft Visual Studio is going to have a\n> lot of impact on the cross platform use of git.  \n\nCould you stop with the histrionics please?\n\n> Is a conscious\n> decision being made to stop this integration or is this just unplanned\n> side effect of the original license? If this is an unplanned side\n> effect, the quicker we move, the easier it is to fix.\n\nSo, using CVSNT (a GPL'd SCCI provider) and git-cvsserver would be a way\nto continue.  I'm assuming that the primary functionality they want via\ntheir IDE is checkout/diff/commit/log.\n\nQuite a lot of Windows developers have no problems using multiple tools\nfor things, I'd assume they would also be able to use any existent port\nof git (to Windows) to do the esoteric things like branching/bisect/etc.\n\nAnand\n"},{"id":"24272","messageId":"eabli8$c6a$2@sea.gmane.org","threadId":"5003","inReplyTo":"9e4733910607271047r57fe0aa3hf29b4b9244c02f2c@mail.gmail.com","subject":"Re: Licensing and the library version of git","fromName":"Anand Kumria","fromEmail":"wildfire@progsoc.org","sentAt":"2006-07-28T00:25:45Z","receivedAt":"2006-07-28T00:25:45Z","isPatch":false,"sender":{"key":"wildfire@progsoc.org","avatar":null},"body":"On Thu, 27 Jul 2006 13:47:24 -0400, Jon Smirl wrote:\n\n> On 7/27/06, Linus Torvalds <torvalds@osdl.org> wrote:\n>> I seriously doubt that Eclipse or Visual Stupido could ever actually\n>> _understand_ what git does, so the only parts you actually would want to\n>> use for those is literally the trivial stuff - the \"look up objects\" and\n>> \"generate commits\" part.\n> \n> Typically an integrated IDE can move, delete, rename directories and\n> files. Get a log. Push, pull and commit. Revert a change. Generate\n> diffs to previous versions.\n\nKind of what you can do via CVSNT and git-cvsserver, no?\n\nAnand\n"},{"id":"24273","messageId":"9e4733910607271743o3b7a27d5v55a216745937c74e@mail.gmail.com","threadId":"5003","inReplyTo":"eablgn$c6a$1@sea.gmane.org","subject":"Re: Licensing and the library version of git","fromName":"Jon Smirl","fromEmail":"jonsmirl@gmail.com","sentAt":"2006-07-28T00:43:58Z","receivedAt":"2006-07-28T00:43:58Z","isPatch":false,"sender":{"key":"jonsmirl@gmail.com","avatar":"https://gravatar.com/avatar/cff3bf5bfdfa6708b905712ff91f0f9b8aaca161659f38c02b787920d5d28b7e?d=mp&s=160"},"body":"On 7/27/06, Anand Kumria <wildfire@progsoc.org> wrote:\n> On Thu, 27 Jul 2006 12:11:00 -0400, Jon Smirl wrote:\n>\n> > On 7/27/06, Petr Baudis <pasky@suse.cz> wrote:\n> >> > You may like trying to force GPL onto the app but many apps are\n> >> > stuck with the license they have and can't be changed since there is\n> >> > no way to contact the original developers.\n> >>\n> >> At this point, git-shortlog lists exactly 200 people (at least entries\n> >> like Unknown or No name are all linux@horizon.com ;-).\n> >\n> > Inability to integrate with Microsoft Visual Studio is going to have a\n> > lot of impact on the cross platform use of git.\n>\n> Could you stop with the histrionics please?\n\nIt is usually wise not to make comments like this, they don't help in\nbuilding the community.\n\n> > Is a conscious\n> > decision being made to stop this integration or is this just unplanned\n> > side effect of the original license? If this is an unplanned side\n> > effect, the quicker we move, the easier it is to fix.\n>\n> So, using CVSNT (a GPL'd SCCI provider) and git-cvsserver would be a way\n> to continue.  I'm assuming that the primary functionality they want via\n> their IDE is checkout/diff/commit/log.\n\nNow, that's a great strategy. Tell the large project you are\ninterested in switching off from CVS to git that they need to run a\nCVS emulation gateway forever. I don't think a switch has much of a\nchance of happening.\n\n\n> Quite a lot of Windows developers have no problems using multiple tools\n> for things, I'd assume they would also be able to use any existent port\n> of git (to Windows) to do the esoteric things like branching/bisect/etc.\n>\n> Anand\n>\n> -\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n>\n\n\n-- \nJon Smirl\njonsmirl@gmail.com\n"},{"id":"24280","messageId":"20060728050444.GA30783@spearce.org","threadId":"5003","inReplyTo":"20060727195614.7EDAE353B04@atlas.denx.de","subject":"Re: Licensing and the library version of git","fromName":"Shawn Pearce","fromEmail":"spearce@spearce.org","sentAt":"2006-07-28T05:04:45Z","receivedAt":"2006-07-28T05:04:45Z","isPatch":false,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"Wolfgang Denk <wd@denx.de> wrote:\n> In message <9e4733910607270554p5622ee20ida8c264cf3122500@mail.gmail.com> you wrote:\n> >\n> > I see that someone is already writing a pure Java version which will\n> > work around the GPL problem assuming the Java version is released\n> > under a compatible license.\n> \n> ... and assuming it is a clean-room  implementation  which  does  not\n> borrow from the GPL code.\n\nHeh.  This is actually possibly a problem.\n\nI'm the person developing the Java implementation.\n\nI've seen some of the core GIT code.  The reflog implementation is my\nmost notable contribution, but I've seen other things in there too.\n\nMost of the Java code is quite different from the C code; the\nlargest common component is the pack delta decompressor.  I ran it\npast Nico as he wrote the C version. He didn't seem to think that\nthe Java version was derived from the C version.\n\nThe issue there really was that the pack file format wasn't\ncompletely documented external from the code (I actually found a\nbug in the docs and submitted a patch to correct it) and the delta\nformat is definately not documented so I had to dig around in the\nC code to figure it out.  On the other hand the commit format,\ntree format and the loose object header were all clearly self\ndescribing so I didn't need to go digging through the source to\nfigure out how to parse (or generate) them.\n\nSo yes, the Java implementation is derived from the C\n(GPL'd!) implementation, but also no, its not...\n\nI think its going to really just come down to a list consensus.\nIf Linus, Junio, Nico, et.al. think that my Java version is too\nderived from the C GPL'd implementation to be released under any\nlicense other than the GPL then I'll probably just abandon the code\nline entirely, as the GPL is incompatible with the Sun JRE runtime\nlirbary.  On the other hand its probably going to be released under\nthe IBM Common Public License or the Apache License.\n\n-- \nShawn.\n"},{"id":"24290","messageId":"Pine.LNX.4.63.0607281041420.29667@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"5003","inReplyTo":"20060728050444.GA30783@spearce.org","subject":"Re: Licensing and the library version of git","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2006-07-28T08:44:23Z","receivedAt":"2006-07-28T08:44:23Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Fri, 28 Jul 2006, Shawn Pearce wrote:\n\n> [...] as the GPL is incompatible with the Sun JRE runtime lirbary.\n\nThis is not true. You can legally write and run GPLed software on the JRE \nruntime library.\n\nBTW I found an Eclipse plugin which is GPLed:\n\nhttp://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-651.html\n\nCiao,\nDscho\n"},{"id":"24292","messageId":"Pine.LNX.4.63.0607281053580.29667@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"5003","inReplyTo":"9e4733910607271743o3b7a27d5v55a216745937c74e@mail.gmail.com","subject":"Re: Licensing and the library version of git","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2006-07-28T09:01:17Z","receivedAt":"2006-07-28T09:01:17Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 27 Jul 2006, Jon Smirl wrote:\n\n> On 7/27/06, Anand Kumria <wildfire@progsoc.org> wrote:\n>\n> > So, using CVSNT (a GPL'd SCCI provider) and git-cvsserver would be a way\n> > to continue.  I'm assuming that the primary functionality they want via\n> > their IDE is checkout/diff/commit/log.\n> \n> Now, that's a great strategy. Tell the large project you are\n> interested in switching off from CVS to git that they need to run a\n> CVS emulation gateway forever. I don't think a switch has much of a\n> chance of happening.\n\nOh, but it has!\n\nThe beautiful thing is that you can change to git _without_ changing all \nclient software! Just to a git-cvsimport, switch, and some might not even \nnotice that the server has changed behind their back.\n\nAnd then, you can phase out CVS slowly.\n\nBTW have you worked with MSVC's integrated source control? In every single \ncase where I had to work with MSVC, I found I'm way faster with external \ntools (and it did not matter if the SCM was Visual Source Safe, CVS or \nPVCS). I know that my colleagues found the same.\n\nBTW2 I agree that some deciding people would make MSVC integration a \npremise for migration to Git. So, why don't you give it a try? (I do not \nhave a working MSVC setup, or I would help you.)\n\nCiao,\nDscho\n"},{"id":"24327","messageId":"20060729035632.GC28128@spearce.org","threadId":"5003","inReplyTo":"Pine.LNX.4.63.0607281041420.29667@wbgn013.biozentrum.uni-wuerzburg.de","subject":"Re: Licensing and the library version of git","fromName":"Shawn Pearce","fromEmail":"spearce@spearce.org","sentAt":"2006-07-29T03:56:32Z","receivedAt":"2006-07-29T03:56:32Z","isPatch":false,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n> Hi,\n> \n> On Fri, 28 Jul 2006, Shawn Pearce wrote:\n> \n> > [...] as the GPL is incompatible with the Sun JRE runtime lirbary.\n> \n> This is not true. You can legally write and run GPLed software on the JRE \n> runtime library.\n> \n> BTW I found an Eclipse plugin which is GPLed:\n> \n> http://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-651.html\n\nThanks.  I did a little research on it myself after reading your\nemail. I turned up the following two pages from the FSF:\n\n  http://www.gnu.org/licenses/gpl-faq.html#InterpreterIncompat\n  http://www.gnu.org/licenses/lgpl-java.html\n\nBoth suggest that I can license everything under the GPL but provide\nexclusions to allow users to run the code against its dependencies\nwhich aren't GPL'd:\n\n  - the end-user may 'link' the code against any Java runtime library\n    of their choice;\n\n  - the end-user may 'link' the code against any Eclipse platform\n    or derivative of their choice;\n\nSo given that I'm seriously considering changing the license to\nGPLv2 for the next version.\n\n-- \nShawn.\n"},{"id":"24330","messageId":"9e4733910607282131i4429e93fx7da0022791d53b69@mail.gmail.com","threadId":"5003","inReplyTo":"20060729035632.GC28128@spearce.org","subject":"Re: Licensing and the library version of git","fromName":"Jon Smirl","fromEmail":"jonsmirl@gmail.com","sentAt":"2006-07-29T04:31:00Z","receivedAt":"2006-07-29T04:31:00Z","isPatch":false,"sender":{"key":"jonsmirl@gmail.com","avatar":"https://gravatar.com/avatar/cff3bf5bfdfa6708b905712ff91f0f9b8aaca161659f38c02b787920d5d28b7e?d=mp&s=160"},"body":"On 7/28/06, Shawn Pearce <spearce@spearce.org> wrote:\n> Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n> > Hi,\n> >\n> > On Fri, 28 Jul 2006, Shawn Pearce wrote:\n> >\n> > > [...] as the GPL is incompatible with the Sun JRE runtime lirbary.\n> >\n> > This is not true. You can legally write and run GPLed software on the JRE\n> > runtime library.\n> >\n> > BTW I found an Eclipse plugin which is GPLed:\n> >\n> > http://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-651.html\n>\n> Thanks.  I did a little research on it myself after reading your\n> email. I turned up the following two pages from the FSF:\n>\n>   http://www.gnu.org/licenses/gpl-faq.html#InterpreterIncompat\n>   http://www.gnu.org/licenses/lgpl-java.html\n>\n> Both suggest that I can license everything under the GPL but provide\n> exclusions to allow users to run the code against its dependencies\n> which aren't GPL'd:\n>\n>   - the end-user may 'link' the code against any Java runtime library\n>     of their choice;\n>\n>   - the end-user may 'link' the code against any Eclipse platform\n>     or derivative of their choice;\n>\n> So given that I'm seriously considering changing the license to\n> GPLv2 for the next version.\n\nUsing the GPL plus your own exceptions creates another new license\nwhich is a pain for everyone involved. Why not just use the standard\nversion with exceptions, the LGPL. The LGPL already allows the two\nexceptions listed.\n\nI don't believe there is any legal way to link GPL code into a Java\napp since there are no free Java runtimes. This includes both C\nlibraries and Java code.\n\nGPL is great for a kernel, but it runs into difficulties in user space\nwhere there are hundreds of historical licenses that it can't mix\nwith. The viral concept only works if the target app has the ability\nto relicense which is usually impossible for existing code.\n\n-- \nJon Smirl\njonsmirl@gmail.com\n"},{"id":"24337","messageId":"Pine.LNX.4.63.0607291320020.29667@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"5003","inReplyTo":"9e4733910607282131i4429e93fx7da0022791d53b69@mail.gmail.com","subject":"Re: Licensing and the library version of git","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2006-07-29T11:21:54Z","receivedAt":"2006-07-29T11:21:54Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Sat, 29 Jul 2006, Jon Smirl wrote:\n\n> I don't believe there is any legal way to link GPL code into a Java\n> app since there are no free Java runtimes.\n\nFirst, there are quite a few free Java runtimes; you did not really try to \nfind one, right?\n\nSecond, since the Java runtime can be likened to the libc, all \nde-restrictions about system libraries should hold for Java, too.\n\nHth,\nDscho\n"}]}