Twitter github

Open Source: Interacting with Contributors

I recently came across Michael Meeks’ most excellent and brief presentation on interacting with developers. It embodies a philosophy of mine when working in open source, to kill people with kindness. However, his analogy of relating code contributions to pictures drawn by children works well in my opinion…

The slide above reminds me of Maddox’s classic rant on kid artwork.

Thanks for the great analogy Michael, I completely agree with you!

EGit and JGit 1.1 Released

The JGit and EGit project teams are proud to announce our 1.1 release in time for Indigo SR1!

To see what’s new, check out the respective JGit new and noteworthy and EGit new and noteworthy documents. In terms of new features, some of my favorites are the new reflog view which I had a hand in putting together.

If you ever wanted to know where a commit went, git-reflog can save you. In terms of other features, I’m really happy with the improvements to the synchronize view which just screams now in terms of performance (thank you Dariusz Luksza). I’m confident now that we should handle the majority of repositories with reasonable performance when trying to compare refs.

The other highlight of the release is the improvements to the GitHub Mylyn Connector.

GitHub Pull Requests can now be added as a Mylyn Task Repository type and you can now open pull requests with an editor (supports opening commits in the commit viewer). This is fantastic productivity boost (thanks Kevin Sawiciki) if you had to work with github pull requests via the command line before. On top of that, there’s a full implementation of the GitHub v3 API available via the EGit project.

Enjoy the release and thanks for your patience while we improve the Git support within Eclipse!

Eclipse Committer Survey

At times, the Eclipse Foundation works with universities to help facilitate research around open source. Recently, the foundation has been working with two professors from Duke University’s Fuqua School of Business (Jonathon Cummings and Tony O’Driscoll) who are conducting a survey on the ‘Values, Work Practices and Tool Usage’ of open source software projects.

I recommend we enjoy our time under the microscope and give these folks some interesting data to look at. We are over 1000 committers at the Eclipse Foundation now and have a myriad of different work practices across projects. Some of us like to plan more than others, some like to hold weekly meetings and some like to use mailing lists religiously. Some projects have a strong corporate influence (diverse or not) and some projects are filled with mostly individual contributors. In the end, there’s a lot of diversity amongst eclipse.org projects.

I highly recommend participating if you have the time and want to support research around Eclipse and open source communities.

Managing Git Repositories

I’ve had a few people that have come to me recently asking advice on how to manage Git repositories across teams. Besides the common but limiting setup of using cgit and ssh, there are a few other options that people seem to be not be aware of.

Gitblit

Gitblit is an open-source (under APL 2.0), pure Java stack for managing, viewing and serving Git repositories using JGit under the covers.

It’s very easy to setup if you have Java installed and you get a nice web console for managing Git repositories with metrics and all of that other good stuff you’d expect from a source code management system. If you’re just looking for a system to manage Git repositories for a small team, Gitblit looks like a great option.

SCM Manager

SCM-Manager is an aptly named management system for SCM. It works with Git out of the box but also supports Hg and SVN.

I personally haven’t played around with SCM-Manager but from the bitbucket commit logs, it looks like a pretty active project with a variety of extensions if you say needed to work against an ActiveDirectory server for authentication.

Gerrit Code Review

On top of allowing you to manage your Git repositories at a very deep level (permissions can be set via refspecs), Gerrit has a built-in code review system.

Gerrit is a mature project, used by open source projects such as Android and Eclipse. I highly recommend it if you’re looking for not only a system to manage your Git repositories but a code review system that tightly integrates with Git. It’s nice to note that code review items within Gerrit are Git-related artifacts. You are pushing git commits to Gerrit that can be shared and crafted by your colleagues. I find this to be a distinctive quality over other code review system such as ReviewBoard.

Anything else that I missed that people use out there?

Twitter at @oscon

We love open source at Twitter, we’re a big proponent and user of open source technology, from Ruby to Linux to Java and a variety of Apache projects. I’ll admit that Twitter hasn’t been as open as it can be about things, but I recently joined to help change that. As part of our commitment and effort to share what we’ve been working on with the open source community, some of the flock are appearing at OSCon next week in Portland, Oregon.

Keep an eye out for @raffi, who is giving a keynote on Twitter’s move from Ruby on Rails to the Java Virtual Machine (JVM).  You can also hear more in-depth details on the move from Rails to Java in a session with @raffi and @stevej. Feel free to mention us on Twitter if you’d like to connect.

If you love to work on hard problems, open source and want to @jointheflock, track us down to discuss some of the positions we have available:

Feel free to connect with me at @caniszczyk, I’m always up for a frosty beverage to discuss open source or anything you may be interested in at Twitter. I’ll also be out on Tuesday and Wednesday morning before the conference for a run around the downtown Portland waterfront if you’re interested.

GitHub and Eclipse Git Repository Mirroring

I recently refreshed the eclipse.org repositories mirrored on GitHub.

I’m pleased to report that we are up to 95 repositories mirrored on GitHub, up from 70 repositories a couple months ago. For example, projects like the C/C++ Development Tools (CDT) are completely mirrored on GitHub now so you can watch them (the repositories are synced about every 10 minutes so beware of the delay).

I hope that by the end of this year, we have the majority of eclipse.org projects mirrored! Enjoy!

git-reflog and Eclipse

If you’re using git, you should familiarize yourself with the git-reflog command, it’s one of the commands I use frequently and one of the cooler things that git supports right out of the box. In fact, Alex Blewitt recently wrote a good blog post on the topic. The fact that I didn’t have access to the git-reflog inside of Eclipse annoyed me enough that on a flight a few days ago I hacked up an initial implementation which was improved upon by Kevin Sawicki.

If you double-click entries in the Git Reflog view, the proper commit is opened in the commit viewer for inspection. I’m happy to report that you’ll have access to this view in the nightly builds and it will ship as part of the EGit 1.1 release in September. I guess my next major annoyance to tackle is git-stash support… just need another long plane ride to hack something up 🙂

Enjoy!

I’m going to @JoinTheFlock

I will be leaving Red Hat shortly for a new opportunity. In my opinion, Red Hat is at the forefront of open source and I think they are one of the best open source companies to work for. I enjoyed my time there working with the Eclipse and Fedora communities (I truly respect their open source mission). However, it’s time for me to seek new challenges and stretch myself in greater ways. I’m going to @JoinTheFlock by taking a position to kick-start and manage Twitter’s open source efforts.

Twitter uses a lot of open source code, from Ruby to Scala to many other projects from places like Apache. On top of that, Twitter contributes a bit to open source, checkout there GitHub page for some of Twitter’s work. I’m looking forward to representing Twitter, spreading the open source love and shaping open source policies with Twitter’s engineers and legal team. I have a lot of ideas of what Twitter could do in the open source arena and look forward to sharing those with you in the future.

How will this impact my involvement with the eclipse.org community? Not that much, I plan to remain involved with the eclipse.org community and even other open source communities. I find eclipse.org to be one of the most professional open source communities, I like the friction caused between commercial and open source interests, we are better because of it. Anyways, I look forward to shipping the Eclipse Indigo release with everyone next week and definitely the Juno release next year.

I’ll have more to say soon, if you’re interested you can follow me on Twitter as @caniszczyk.

EGit and JGit 1.0 Released

The EGit and JGit teams are happy to announce our 1.0 release and graduation from eclipse.org incubation!

It’s been an interesting ride the past couple years that deserves a separate blog post on how moving projects to a open source foundation can be interesting and challenging. We had humble beginnings but are a lot more diverse now with many individuals and companies involved with EGit (15 committers) and JGit (9 committers). We have a variety of individuals contributing along with corporate support from Ageto, Dewire, GitHub, Google, IBM, Red Hat, SAP and Tasktop. A special thanks needs to go to Shawn Pearce (Google) and Matthias Sohn (SAP) for all their efforts and being patient with the move to the Eclipse Foundation.

Our work isn’t finish yet, there are still many things to do but we hope that with more people using the tooling, we’ll get more quality bug reports and enhancements. Also, things are going to get exciting this summer when the Eclipse platform project moves to Git! In the near future, look for things like synchronize view improvements, git-stash and git-reflog support along with whatever else the community desires.

In the end, we are happy to bring Git tooling to the Eclipse community and the Indigo release. I hope by the time this next year, the eclipse.org community has fully migrated to Git. It should be a hard requirement to join the Juno simultaneous release in my opinion.

Eclipse Indigo Article

I wrote an article summarizing the Eclipse Indigo release on developerWorks.

Thank you to everyone who provided project-related quotes and screenshots.

I’m looking forward to the release next week!