Re: libgit2 - a true git library
- From
Pierre Habouzit <madcoder@debian.org>
- Date
- Nov 1, 2008, 01:08 UTC
- Message-ID
- <20081101010824.GE29036@artemis.corp>
- In-Reply-To
- <alpine.DEB.1.10.0810311802360.5851@asgard.lang.hm>
On Sat, Nov 01, 2008 at 01:04:50AM +0000, david@lang.hm wrote:
Show 35 quoted lines
> On Fri, 31 Oct 2008, Shawn O. Pearce wrote: > > >david@lang.hm wrote: > >>On Fri, 31 Oct 2008, Shawn O. Pearce wrote: > >>>Junio C Hamano <gitster@pobox.com> wrote: > >>>> > >>>>I.e. use the supplied custom function to do proprietary magic, such > >>>>as > >>>>reading the object lazily from elsewhere over the network. And we > >>>>will > >>>>never get that magic bit back. > >>> > >>>Maybe I just think too highly of the other guy, but I'd hope that > >>>anyone patching libgit2 like above would try to avoid it, because > >>>they'd face merge issues in the future. > >> > >>the issue that I see is that libgit2 will be (on most systems) a shared > >>library. > >> > >>what's to stop someone from taking the libgit2 code, adding the magic > >>proprietary piece, and selling a new libgit2 library binary 'just > >>replace > >>your existing shared library with this new one and all your git related > >>programs gain this feature' > > > >True. The only thing that prevents that is the normal GPL. The > >LGPL and GPL+"gcc exception" allow this sort of mean behavior. > >I doubt there's enough of a market for that; replacing a library > >is something of a pain and if the feature really is interesting or > >useful someone will write a clean-room re-implementation and submit > >patches to do the same thing. > > how would the LGPL of GPL+gcc extention allow this? if they modify the > code in the library and then distribute the modified library wouldn't > they be required to distribute the changes to that library?
See junio's example. It's rather easy to add hooks into the library to implement a feature outside of it. It's even possible to do it while preserving the ABI fully IMHO (by being a strict superset of it).
The patch would be so trivial, that I see no reason why they wouldn't provide it. Though the real implementation of the feature that would be delegated through it would be in their closed source stuff.
-- ·O· Pierre Habouzit ··O madcoder@debian.org OOO http://www.madism.org