Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Libgit2: a Git Linkable Library - GitHub (github.com/blog)
72 points by obilgic on Nov 29, 2010 | hide | past | favorite | 18 comments


Are there perl bindings? I've been tweaking git-svn to not be so painfully slow, and since it's currently spending over 99% of its time forking to very simple git commands, that should help.


Should probably be easy enough to use Swig on it.


You can tell he's associated with Github because he's holding whiskey. If you know those guys you'll know I'm right.


I don't know those guys. What's the connection?


Those guys love Whiskey. Except for Tom, who loves Whisky. (That's Bourbon vs. Scotch). I'm with Tom.


This is excellent. Last time I looked at libgit2 was in May and it was seriously lacking. They must have put in a ton of work this summer!

Good job Vincent, and props to Github for sponsoring it.


Also discussed (a little) here: http://news.ycombinator.com/item?id=1938445

EDIT: Corrected URL.


I've been thinking about doing something like that myself. Looks nice.

(Shame it's gpl rather than bsd/mit)


Correction: it's LGPL, with the linkage exception [Edit: I'm wrong. See silentbicycle's comment below]. That's a big difference. Most importantly, it removes any reason to complain about licensing other than dogma, FUD, or ignorance -- libgit2 may be linked into permissively-licensed code at will.

I tend to prefer permissively-licensed code, too, but there's a world of difference between viral licenses with and without linkage exceptions.


Correction to your correction: It isn't LGPL, it's GPL v2, with an addendum adding a linking exception. They couldn't use the LGPL because it uses some code from git, but they apparently got permission to add a special exception for that code (but not a license change). They may rewrite that part, but it's not a high priority at the moment. This is a weird special case - IANAL, but it seems like a de facto LGPL.

I've been talking with Vincent Marti about this, because I'm considering writing a Lua wrapper for libgit2, but wary of relying on libraries under the GPL. (I'm fine with the LGPL.)

Also, I ported the library to OpenBSD - it needed some finagling with preprocessor directives for thread-local storage. Contact me if you're interested. It's a bit rough, just good enough to get started on the wrapper.


Guh, reading comprehension fail. Thanks for the correction.

IANAL either, but I agree that GPL-with-linkage-exception is functionally equivalent to LGPL, so I still think the rest of my comment's correct.

Of course, given my track record in this thread, I'd recommend folks double-check my work :)


No worries. It's a weird pseudo-LGPL situation. I hope I didn't sound like a smug asshole. I thought the same thing and double-checked, that's all.


Hey, I am interested. Why didn't you send us a pull request? If it's rough, we'll iron it out!


Planning on it. I was going to clean it up before I messaged you, currently it's "I use OpenBSD, want to play with this library, and know BSD Make like the back of my eyelids" only.

I said I'd keep you posted. By then, I'll probably have more news than just "I got it to build!", that's nothing.


When you say "may be linked into permissively-licensed code" what code are you excluding? I think libgit2 can be linked into any code, permissively-licensed or otherwise.

https://github.com/libgit2/libgit2/blob/master/COPYING


Sorry, didn't mean to imply that libgit2 couldn't be linked into non-permissively-licensed-code, too (you're right, and it can be linked into any code). I meant to contrast it with GPL-licensed code, which (might) requires re-licensing upon linking (maybe).


It's GPL with a linking exception. That's a pretty big exception, since it means you can use it in proprietary projects.


GPLv2 w/ linking exception > GPLv2 > GPLv3

Definitely a big step forward, and the API is pretty clean.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: