Insufficiently Random

The lonely musings of a loosely connected software developer.

Wednesday, February 10, 2010

The JGit follies continue...

Another day. Another compliant from me about running a project at This time it wound up in the jgit-dev mailing list archives, as replies to a thread that I think started from my blog post on the tragedy of Eclipse.

Instead of reposting the whole thing, I'll just point to my two messages in context:

why do I need to spend my time on this crap?
why is the new file header what it is?


Stephen Bannasch said...


I greatly appreciate your work on jgit. I've wondered what had happened recently as it seemed improvements to jgit had just about stopped.

I've looked at the jgit-dev list archives and I agree with your analysis that the large administrative costs for contribution are inappropriately placed on the developers who do not get a benefit instead of on the parties who are benefiting.

In addition it appears the costs are high enough to drive away important contributors -- which if it were me would be a good enough reason to withdraw the project from Eclipse.

When I see the executive director, Mike Milinkovich characterize your emails as "histrionic" on the jgit-dev development list and start his next sentence with an ultimatum: "At this point the only possible path forward I can see would a conference call with yourself, Robin and a
representative of the Google legal staff." -- it seems pretty clear he's mostly clueless about goals I care about which include the healthiest open source ecosystem developing jgit and egit. After reading the threads the process seems downright toxic instead (at least for me who wants things as clear as possible but even more can't stand wasting time).

While I can certainly identify with your frustration -- did you know when you made the ultimatum in the previous email: "JGit is not changing our header" that the current header would be unacceptable with Eclipse and Mike? If so then I think a clearer way to communicate would to have been to announce the withdrawal of the jgit project from Eclipse.

What are the benefits to you and the jgit and egit projects to staying a project within Eclipse?

I certainly have no problem adding these functionalities to an existing Eclipse install instead of getting them in an Eclipse distribution. To me a development environment not interconnected with git is just irrelevent and a waste of my time.

I think the usages of jgit go *way* beyond egit and Eclipse and I'd much prefer to see the jgit ecosystem optimize for openness, programmer engagement, and innovation -- which seems to be the antithesis to the Eclipse process.

spearce said...

Development of JGit has always been somewhat sluggish. I tend to work on it in spurts and produce a lot of code, which then takes a while to get reviewed and accepted into the tree. I think right now I have over 2500 lines of code sitting out in our review system waiting for someone else to ACK it.

But, yes, I agree, I think development has slowed as a result of this move. Its completely scared off some contributors like Johannes Schindelin, and made it nearly impossible for smaller contributors like Constantine Plotnikov or Jonas Fonseca to make changes that they need for their own application embeddings.

When I made the statement "JGit is not changing our header" I already knew that the foundation wanted a different header. In that same email I went through each point of their proposed file header and why it wasn't acceptable for us to change to it. Based on past history, I also expected them to reject my request to leave the header as-is.

If you look at the project's history, we've spent the better part of the last year just trying to move to the Eclipse Foundation. At the start of 2009 Mike was against the idea of a BSD licensed project being hosted under the foundation's umbrella. But by the September 2009 board meeting, we had enough votes on the board of directors to pass a resolution to permit the BSD license project to be hosted anyway... and Mike supported the resolution at that meeting. Sometimes things change.

You are right about the usages of JGit being far beyond just EGit and Eclipse. The entire reason we forced JGit to remain BSD licensed was to support all of the other downstream applications which embed and use JGit. I know of probably at least 8 different applications which embed us in some form or another, some of them GPLv2, some commercial, some APLv2. BSD is one of those magical licenses that can be combined with pretty much any other software. And we wanted to keep it that way, because JGit is too useful. Besides, most of those application developers have contributed at least a few bug fixes, or even new features, back to us, despite not having copy-left provisions.

Post a Comment