Gource is an amazing program for visualizing commit history in a git-based code project. What I like about it is that it can also show what areas of the project are active in an easy to understand way, to show whether there is community around a whole project or just aspects of it. What looks like a shiny useless visualization is, in fact, pretty useful stuff. I’ll get to that in a bit.
So, I needed something to scan and past OSS things I’ve been involved with were logical first targets. To index the history on Cobbler into a concise video, I ran the following:
gource -s 0.03 --auto-skip-seconds 0.1 --file-idle-time 500 --max-files 500 --multi-sampling -1280x720 --stop-at-end --output-ppm-stream - | ffmpeg -y -b 3000K -r 24 -f image2pipe -vcodec ppm -i - -vcodec mpeg4 gource.mp4
Want to run this yourself? You will likely have to build gource from source. I’ll warn you that building from source involves installing a ton of deps, though all are in Ubuntu 9.10, and once ./configure finally passes it does build fast. Fedora was downlevel with respect to ftgl, and compiling ftgl from source was difficult, hence the Ubuntu usage. The parameters I use above result in a large video (75MB) but are intended for YouTube HD.
The result is below. Note that I didn’t keep my source control commit attribution for the first couple of years on the project (lesson learned in how to use git!), I used to do development on devel and switched to master (this video shows master), and koan was grafted into the cobbler tree late in the game. Early on, I committed from two different user IDs. As a result, the video is not perfect — things tend to “pop” into view as releases happen. You’ll see the first outside attribution happen about 1/2 way through, though of course this was happening much much earlier. Still, the acceleration at the end, I think, means we achieved something pretty decent. Not all projects do.
Perhaps this is a start of a good meme. Get your code up on YouTube. Show us the life of your code and who you collaborate with.
I can see gource being immediately useful for a one major purpose. When evaluating OSS software for use in business, you always need to know if the community is solid and self sustaining. This allows you to watch a short video and find out. Coupled with looking through the mailing list archives, that’s a pretty good check. It can also help identify interesting patterns of large scale refactoring, new development, or stagnation.
Gource may also a great way to explain open source to people who don’t immediately understand how collaboration can work, and how contributors come and go.
That is what I call good TV. It is also rather trippy to look at. Please turn up the Floyd.
If we had a free supercomputer and infinite development time, my ultimate dream visualization would be a 20×20 foot wall section of these graphs, showing multiple projects side by side, with developers flying between projects. Who flies between projects? Is that common? What are the clustering patterns of these projects that share contributors? Where are the hubs and spokes? Are the hubs bigger projects than the spokes? (Can we get that in 3D?). There is something to be learned here, even if we don’t know what that is.
Install Gource. Let’s see your project video.
FTR, Gource review request:
https://bugzilla.redhat.com/show_bug.cgi?id=543425
Excellent. Yeah it would pretty much have to be rawhide for the new deps.
What Fedora did you try on ? I’m using Fedora 12, and it has everything required by gource, including the necessary ftgl version. Only problem I had was that gource triggered a bug in mesa dri library for my ATI card – updating to latest koji build fixed the dri problem. Just do an rpmbuild –rebuild of the src.rpm in that BZ review ticket on F12 and you should be fine.
Yeah, my work machine was still F11, it is due for an upgrade. Excellent.
[...] according to Michael and Greg, Gource is awesome. And it’s just waiting on a completed package review and [...]
According to the repos, the FTGL in Fedora 12 is new enough AFAICT, and the package review request up there will put this in Fedora 12 as well as Rawhide.
Paul, that is great, make it so #1.
[...] Watch this video generated by gource: Gource is an amazing program for visualizing commit history in a git-based code project. What I like about it is that it can also show what areas of the project are active in an easy to understand way, to show whether there is community around a whole project or just aspects of it. What looks like a shiny useless visualization is, in fact, pretty useful stuff. I’ll get to that in a bit[...]. [...]
[...] DeHaan yesterday posted an example using gource to visualize Cobbler development history. Development on Cobbler started in April [...]
Anybody has the raw data available? How does the data look like? Thanks!
Carlos — I don’t know if it has a raw data extract mode or if that would be very useful. Projects like my “lookatgit” project ( http://github.com/mpdehaan/lookatgit ) can get some statistics out of the repos though, but not neccessarily as focused on time moving forward.