-->
Home » , , » Gource is an animated visualization tool for viewing GIT & CVS source repositories.
Thursday
29 December 2011

Gource is an animated visualization tool for viewing GIT & CVS source repositories.

Andrew Caudwell’s “Gource” is an animated visualization tool for viewing GIT & CVS source repositories.

From the description:
Software projects are displayed by Gource as an animated tree with the root directory of the project at its centre. Directories appear as branches with files as leaves. Developers can be seen working on the tree at the times they contributed to the project.
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.
 

Download.

Screenshots.

The Linux Kernel.

A snapshot of a flurry of development on the Linux project.
As Linux is a huge C language project, the files being worked on are predominately a mix of .c (shown in green) and .h header files (in red).
 
Git SCM.

The Git SCM Project, one of the main version control systems supported by Gource.

Unlike many projects, most of the files of the Git project reside in several huge directories of hundreds of files, rather than being broken down into sub directories.

Git has a similar mix of colours to Linux as it is also written in C. The large orange directory contains .txt files (orange).

 

Papervision3D.

Papervision3D, a popular 3D library for Flash.

 

Blender.

Blender, a very popular free 3D graphics modeling and animation tool.
 









Custom Search

Adserver                   610x250
If you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog:


0 commenti:

Post a Comment

Random Posts

  • Mozilla Thunderbird 38.0 Will Bring Yahoo! Messenger Support, Lightning Integration.
    19.06.2015 - 0 Comments
    Thunderbird 38 is now released (actual initial version is 38.0.1 to maintain compatibility with equivalent Firefox releases). This release has some significant new features, as well as many, many bug fixes. Full details of all the changes can be…
  • Bastrama is a command-line tool to manage backup files.
    10.05.2008 - 0 Comments
    Bastrama - Backup Strategy ManagerBastrama is a command-line tool to manage backup files that are stored on random access memory (eg. hard drives). It implements an infinite grandfather-father-son strategy by deleting a defined subset of the backup…
  • The openSUSE project is a community program sponsored by Novell
    27.03.2010 - 0 Comments
    The openSUSE project has three main goals: make openSUSE the easiest Linux for anyone to obtain and the most widely used Linux distribution; leverage open source collaboration to make openSUSE the world's most usable Linux distribution and…
  • Kchmviewer is a free, open-source chm (MS HTML help file format) viewer written in C++ for Unix.
    17.04.2012 - 0 Comments
    Kchmviewer is a free, open-source chm (MS HTML help file format) viewer written in C++ for Unix. Unlike most existing CHM viewers for Unix, it uses Trolltech Qt widget library, and could optionally be compiled for better KDE integration. It does not…
  • GTKWave is a wave viewer for Verilog simulation.
    15.03.2012 - 0 Comments
    GTKWave is a fully featured GTK+ based waveform viewer which reads FST, LXT, LXT2, VZT, and GHW files as well as standard Verilog VCD/EVCD files and allows their viewing. GTKWave is developed for Linux, with ports for various other operating systems…
  • Superb Mini Server (SMS) is a Linux operating system console based and manageable through Webmin  web-based interface.
    23.06.2010 - 0 Comments
    Superb Mini Server (SMS) is a Slackware-based server distribution with web, DNS, DHCP, file, print and fax servers, iptables firewall, mail server with spam filter and anti-virus scanner, and BitTorrent station.It also includes Webmin, a web-based…
  • KDE & Qt Applications and High DPI Displays with Scaling.
    06.10.2019 - 0 Comments
    What is a High DPI Display?In the past, most displays had (or the OS pretended to have) around 96 PPI, more or less.If you differed a bit and had too small/large UI elements, you mostly just resized your default font size a bit and were kind of…
  • NeonView free, lightweight image viewer for the Linux platform.
    17.06.2012 - 0 Comments
    NeonView is a minimalist, lightweight image viewer written in C and GTK, completely free and open-source, created by TuxArena. Since it was recently launched, NeonView includes only a handful of features, but this is the base for development of new…
  • KxDocker is an innovative docker for KDE based on the engine from osXBar.
    22.03.2012 - 0 Comments
    KXDocker is a program for the Linux operating system created by Ing. Stefano Zingarini. It resembles the "Dock" of Mac OS X in that it is mainly used as an application launcher. It supports themes, plugins and a few extra features (there is…
  • Lubuntu is a fast, lightweight and energy-saving variant of Ubuntu using the LXDE (Lightweight X11 Desktop Environment) desktop.
    20.03.2010 - 0 Comments
    Lubuntu is a fast, lightweight and energy-saving variant of Ubuntu using the LXDE (Lightweight X11 Desktop Environment) desktop. It is intended to have low-resource system requirements and is designed primarily for netbooks, mobile devices and…

Recent Posts

Recent Posts Widget

Popular Posts

Labels

Archive

page counter follow us in feedly
 
Copyright © 2014 Linuxlandit & The Conqueror Penguin
-->