{"thread":{"id":"37995","subject":"ag, **, and the GPL","startedAt":"2014-11-18T04:50:03Z","lastAt":"2014-11-19T01:51:10Z","messageCount":7,"participants":["Matthew Kaniaris","Duy Nguyen","David Turner","Jonathan Nieder"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"252075","messageId":"CACr0F2iGY_vxWzsNaPQNJ2cLUDRZPS70i79EhyA9OkA7qLaUQQ@mail.gmail.com","threadId":"37995","inReplyTo":null,"subject":"ag, **, and the GPL","fromName":"Matthew Kaniaris","fromEmail":"mkaniaris@gmail.com","sentAt":"2014-11-18T04:50:03Z","receivedAt":"2014-11-18T04:50:03Z","isPatch":false,"sender":{"key":"mkaniaris@gmail.com","avatar":null},"body":"The Silver Search (https://github.com/ggreer/the_silver_searcher), is\na small, open source, cross platform searching utility written as a\nreplacement for ack.  One of the major benefits of Ag (and a source\nfor much of its speed) is that it obeys .gitignore.  However, Ag\ncurrently treats gitignores as regexs which produces incorrect results\nfor e.g. **.  I'd like to add support to ag to obey the .gitignore\nspec but I'm not keen on implementing yet another fnmatch clone.  Ag\nis licensed under the Apache License Version 2.0 which to the best of\nmy understanding is incompatible with the GPLv2.  Would you grant me\npermission to reuse wildmatch.c (and necessary includes) for use in\nAg?\n\n-Matt Kaniaris\n"},{"id":"252077","messageId":"CACsJy8CBUmfD9RotMzy=8FdMzetV01WQmgNgLvOhTFs86Z98wg@mail.gmail.com","threadId":"37995","inReplyTo":"CACr0F2iGY_vxWzsNaPQNJ2cLUDRZPS70i79EhyA9OkA7qLaUQQ@mail.gmail.com","subject":"Re: ag, **, and the GPL","fromName":"Duy Nguyen","fromEmail":"pclouds@gmail.com","sentAt":"2014-11-18T06:20:11Z","receivedAt":"2014-11-18T06:20:11Z","isPatch":false,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"On Tue, Nov 18, 2014 at 11:50 AM, Matthew Kaniaris <mkaniaris@gmail.com> wrote:\n>  Would you grant me\n> permission to reuse wildmatch.c (and necessary includes) for use in\n\nwildmatch (in git) is originally from rsync. You need to ask them for\npermission as well. I'm ok with relicensing my changes in\nwildmatch.[ch] to Apache License Version 2.0.\n-- \nDuy\n"},{"id":"252093","messageId":"1416333456.27401.1.camel@leckie","threadId":"37995","inReplyTo":"CACr0F2iGY_vxWzsNaPQNJ2cLUDRZPS70i79EhyA9OkA7qLaUQQ@mail.gmail.com","subject":"Re: ag, **, and the GPL","fromName":"David Turner","fromEmail":"dturner@twopensource.com","sentAt":"2014-11-18T17:57:36Z","receivedAt":"2014-11-18T17:57:36Z","isPatch":false,"sender":{"key":"novalis@novalis.org","avatar":"https://avatars.githubusercontent.com/u/77003?v=4"},"body":"On Mon, 2014-11-17 at 20:50 -0800, Matthew Kaniaris wrote:\n> The Silver Search (https://github.com/ggreer/the_silver_searcher), is\n> a small, open source, cross platform searching utility written as a\n> replacement for ack.  One of the major benefits of Ag (and a source\n> for much of its speed) is that it obeys .gitignore.  However, Ag\n> currently treats gitignores as regexs which produces incorrect results\n> for e.g. **.  I'd like to add support to ag to obey the .gitignore\n> spec but I'm not keen on implementing yet another fnmatch clone.  Ag\n> is licensed under the Apache License Version 2.0 which to the best of\n> my understanding is incompatible with the GPLv2.  Would you grant me\n> permission to reuse wildmatch.c (and necessary includes) for use in\n> Ag?\n\nI already implemented this without using any git code at\nhttps://github.com/novalis/the_silver_searcher.  The patch was rejected\nbecause it slowed down ag slightly (or perhaps because it was overly\ncomplex). \n"},{"id":"252107","messageId":"20141118190918.GH6527@google.com","threadId":"37995","inReplyTo":"CACr0F2iGY_vxWzsNaPQNJ2cLUDRZPS70i79EhyA9OkA7qLaUQQ@mail.gmail.com","subject":"Re: ag, **, and the GPL","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2014-11-18T19:09:18Z","receivedAt":"2014-11-18T19:09:18Z","isPatch":false,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Hi,\n\nMatthew Kaniaris wrote:\n\n>                                                                   Ag\n> is licensed under the Apache License Version 2.0 which to the best of\n> my understanding is incompatible with the GPLv2.  Would you grant me\n> permission to reuse wildmatch.c (and necessary includes) for use in\n> Ag?\n\nwildmatch.c comes from rsync.\n\nConveniently, newer versions of rsync are under the GPLv3, which\naccording to [1] is compatible with the Apache license.  The code is\nat lib/wildmatch.c from git://git.samba.org/rsync.git.  It hasn't\nchanged since the rsync license change.\n\nDuy, what would you think of making git's wildmatch.c \"GPL v2 or v3,\nat your option\"?\n\nThanks,\nJonathan\n\n[1] http://www.gnu.org/licenses/quick-guide-gplv3.html\n"},{"id":"252152","messageId":"CACsJy8BYBKMqWiNQ=xFjS8s_6GCeoA+UZ-HQ_V1qnsvQG6jOKA@mail.gmail.com","threadId":"37995","inReplyTo":"1416333456.27401.1.camel@leckie","subject":"Re: ag, **, and the GPL","fromName":"Duy Nguyen","fromEmail":"pclouds@gmail.com","sentAt":"2014-11-19T00:48:23Z","receivedAt":"2014-11-19T00:48:23Z","isPatch":false,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"On Wed, Nov 19, 2014 at 12:57 AM, David Turner <dturner@twopensource.com> wrote:\n> On Mon, 2014-11-17 at 20:50 -0800, Matthew Kaniaris wrote:\n>> The Silver Search (https://github.com/ggreer/the_silver_searcher), is\n>> a small, open source, cross platform searching utility written as a\n>> replacement for ack.  One of the major benefits of Ag (and a source\n>> for much of its speed) is that it obeys .gitignore.  However, Ag\n>> currently treats gitignores as regexs which produces incorrect results\n>> for e.g. **.  I'd like to add support to ag to obey the .gitignore\n>> spec but I'm not keen on implementing yet another fnmatch clone.  Ag\n>> is licensed under the Apache License Version 2.0 which to the best of\n>> my understanding is incompatible with the GPLv2.  Would you grant me\n>> permission to reuse wildmatch.c (and necessary includes) for use in\n>> Ag?\n>\n> I already implemented this without using any git code at\n> https://github.com/novalis/the_silver_searcher.  The patch was rejected\n> because it slowed down ag slightly (or perhaps because it was overly\n> complex).\n\nInteresting. Do you have a direct link to that discussion (I don't\nknow how to navigate that novalis link). Generally you (or ag) should\navoid fnmatch/wildmatch whenever possible. Hitting those *match()\n_will_ slow things down (and git tries hard to avoid it). I had some\noptimizations on top of rsync wildmatch to handle \"*\" case better, but\nI don't think it'll make big difference in practice.\n-- \nDuy\n"},{"id":"252153","messageId":"CACsJy8AcS5CJqk5mBNZxcws9PUDdUpPVkoNdQnPsYyQeHTUd6Q@mail.gmail.com","threadId":"37995","inReplyTo":"20141118190918.GH6527@google.com","subject":"Re: ag, **, and the GPL","fromName":"Duy Nguyen","fromEmail":"pclouds@gmail.com","sentAt":"2014-11-19T00:51:37Z","receivedAt":"2014-11-19T00:51:37Z","isPatch":false,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"On Wed, Nov 19, 2014 at 2:09 AM, Jonathan Nieder <jrnieder@gmail.com> wrote:\n> Duy, what would you think of making git's wildmatch.c \"GPL v2 or v3,\n> at your option\"?\n\nwildmatch.c is not really owned by me (latest change is from Anthony\nRamine), but I would be ok with that.\n-- \nDuy\n"},{"id":"252166","messageId":"1416361870.30428.5.camel@leckie","threadId":"37995","inReplyTo":"CACsJy8BYBKMqWiNQ=xFjS8s_6GCeoA+UZ-HQ_V1qnsvQG6jOKA@mail.gmail.com","subject":"Re: ag, **, and the GPL","fromName":"David Turner","fromEmail":"dturner@twopensource.com","sentAt":"2014-11-19T01:51:10Z","receivedAt":"2014-11-19T01:51:10Z","isPatch":false,"sender":{"key":"novalis@novalis.org","avatar":"https://avatars.githubusercontent.com/u/77003?v=4"},"body":"On Wed, 2014-11-19 at 07:48 +0700, Duy Nguyen wrote:\n> On Wed, Nov 19, 2014 at 12:57 AM, David Turner <dturner@twopensource.com> wrote:\n> > On Mon, 2014-11-17 at 20:50 -0800, Matthew Kaniaris wrote:\n> >> The Silver Search (https://github.com/ggreer/the_silver_searcher), is\n> >> a small, open source, cross platform searching utility written as a\n> >> replacement for ack.  One of the major benefits of Ag (and a source\n> >> for much of its speed) is that it obeys .gitignore.  However, Ag\n> >> currently treats gitignores as regexs which produces incorrect results\n> >> for e.g. **.  I'd like to add support to ag to obey the .gitignore\n> >> spec but I'm not keen on implementing yet another fnmatch clone.  Ag\n> >> is licensed under the Apache License Version 2.0 which to the best of\n> >> my understanding is incompatible with the GPLv2.  Would you grant me\n> >> permission to reuse wildmatch.c (and necessary includes) for use in\n> >> Ag?\n> >\n> > I already implemented this without using any git code at\n> > https://github.com/novalis/the_silver_searcher.  The patch was rejected\n> > because it slowed down ag slightly (or perhaps because it was overly\n> > complex).\n> \n> Interesting. Do you have a direct link to that discussion (I don't\n> know how to navigate that novalis link). Generally you (or ag) should\n> avoid fnmatch/wildmatch whenever possible. Hitting those *match()\n> _will_ slow things down (and git tries hard to avoid it). I had some\n> optimizations on top of rsync wildmatch to handle \"*\" case better, but\n> I don't think it'll make big difference in practice.\n\nI did sort of a massive pull request here:\nhttps://github.com/ggreer/the_silver_searcher/pull/222 \nHere's the main commit:\nhttps://github.com/novalis/the_silver_searcher/commit/50d125647d7b91af08ad43b4b1b977b7e23e0cfa \n\nI think there as more discussion on some of the other tickets, but it\nwas over a year ago so I don't recall the details.\n\nReally the thing that ag needs is (a) indexing and (b) to be hooked up\nto watchman to update the index.  \n"}]}