On Sat, Nov 01, 2008 at 01:04:50AM +0000, david@xxxxxxx wrote: > On Fri, 31 Oct 2008, Shawn O. Pearce wrote: > > >david@xxxxxxx wrote: > >>On Fri, 31 Oct 2008, Shawn O. Pearce wrote: > >>>Junio C Hamano <gitster@xxxxxxxxx> 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@xxxxxxxxxx OOO http://www.madism.org
Attachment:
pgpx2GLsBl1XT.pgp
Description: PGP signature