When working on large codebases with many contributors, it’s easy to lose sight of the amount of effort and change that is going into the overall project, especially when those contributors are spread across many teams and locations. Gource is a source code visualization tool which helps capture that “big picture” view of a project, providing a sense of the overall history and contributors to a project.
From the Gource homepage: “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.”
Here’s a demo of what that looks like in action:
There are several more samples on the Gource videos page, including a collage of several open source projects and one showing 800+ days of development on the popular game Minecraft.
There are a lot of configuration options available, allowing you to control many aspects of how the visualizations are created. Avatars for contributors can be pulled into the visualization, date and time display for seeing the overall history, as well as the ability to display text at key moments, such as milestone releases or when a contributor first joined the project. It takes a little time to get setup, and the Gource homepage and comments have a wealth of information and help, but it’s worth the effort. It’s a great way to communicate to anyone the history, scope and contributors of a software project.