Not logged in
Log in now
Create an account
Subscribe to LWN
LWN.net Weekly Edition for December 5, 2013
Deadline scheduling: coming soon?
LWN.net Weekly Edition for November 27, 2013
ACPI for ARM?
LWN.net Weekly Edition for November 21, 2013
Gerrit: Google-style code review meets git
Posted Oct 31, 2009 17:18 UTC (Sat) by bradfitz (subscriber, #4378)
Posted Oct 31, 2009 17:21 UTC (Sat) by zwily (guest, #61712)
Luckily my love of Gerrit overcomes by loathing of Java. Anyone who dismisses Gerrit because of its
Java underpinnings is doing themselves a disservice.
Want GWT, get Java
Posted Nov 1, 2009 15:38 UTC (Sun) by dmarti (subscriber, #11625)
Java also gets you the world's second-most-complete git implementation, so you don't need to fork and exec to run one of the git tools from your server software.
And, of course, anyone who wants to write Android apps has to learn Java anyway, so it's one less barrier to contribution from the original user base.
Posted Nov 1, 2009 15:46 UTC (Sun) by jake (editor, #205)
Pyjamas seems plausible for Python fans: http://lwn.net/Articles/348341/
Posted Nov 3, 2009 15:48 UTC (Tue) by spearce (guest, #61702)
This is the primary reason why Gerrit is written in Java. We didn't want
to have to fork+exec the C git implementation in response to web requests,
and there really isn't a suitable C library available for access to a Git
repository. I've chosen to invest in JGit, the folks at GitHub have been
investing in Grit (Ruby Git library) and Dulwich (Python Git library) for
the same reasons.
The second reason is, some companies prefer web software written in a
higher level than C, because there is less risk of a buffer overflow
ruining the day. There is still a chance, but the odds are much lower when
a virtual machine (e.g. JVM) is enforcing array bounds checks.
The third reason was mentioned in the article, much of Android's user space
code is developed in Java, so the original audience for Gerrit would be
more comfortable patching a Java tool than a C or Python tool. In practice
I'm not sure how much this has helped Gerrit. We've received quite a few
contributions from non-Google companies who use Gerrit, and I have no idea
whether or not the Java language has helped or hurt those contributions.
I'm really just tired of building websites. GWT makes it a bit easier to
build a web based UI. Pyjamas is an alternative if you are in Python, but
see my point above trying to gain contributors who are primarily Java
developers that are already using the tool. (There's nothing in open
source like using a frobinator that you can freely patch when its broken,
annoys you, or doesn't do what you want it to.)
Finally, Java is open source. There are openjdk builds now available in
Debian that are licensed under GPLv3. Java pretty much runs everywhere,
and so does Gerrit. I know people are running Gerrit Code Review on both
Linux and Windows servers. I've also heard of success running JGit on
OpenVMS, something no other Git implementation has done before.
Posted Nov 3, 2009 22:00 UTC (Tue) by salimma (subscriber, #34460)
Posted Nov 4, 2009 21:37 UTC (Wed) by roelofs (guest, #2599)
Sounds like you missed the SVLUG presentation on XML11 a couple years back. It's not entirely divorced from Java insofar as there's a Java server involved, but the client code is all JS with X11-like XML messaging connecting the two. It includes (among other things) an AWT implementation in JS.
I initially thought GWT might be a descendant of XML11, but I'd guess it's actually an independent implementation of some of the same ideas.
Posted Nov 8, 2009 22:21 UTC (Sun) by wt (guest, #11793)
I am a little biased as my wife ended up walking away from one of their meetings with bruises.
Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds