I was recently interviewed by the heads of a research project at CMU that aims to assist people working in highly distributed development environments — just like Blender! In fact, it was my affiliation with Blender that lead them to me in the first place.
The tool they are working on is a very cool visualizer for developers and managers that creates linked networks (much like Blender’s Oops schematic) of files and developers, using commit and mailing list messages as a database. The main tool shows two sides of the screen: one with clusters of files, and one with developers. The file clusters have lines that link them, giving you the quick ability to see what files are related to others. The cool thing is that it doesn’t do this through code analysis, but commit analysis, as in: these five files are very often committed together.
Clicking on a file highlights it’s links to other files, and creates a visualization on the right of the screen of developers who have contributed to that file. The developers are likewise linked to one another based on their levels of communication on the official mailing lists.
The very cool thing about the project is that it would be a goldmine for people working on a project like Blender who either want to get started coding, or want to work on something that is a little out of their normal area of knowledge. If you want to work on constraints, but have never done so, you can tell at a glance that you’ll probably need to dig into, for example, files a, b and c, and that the people who normally commit to those files are x, y and z.
That gives the new dev a great resource for beginning their work, and for making the proper contacts when problems or questions arise. It is a fairly simple, but very powerful concept.
The project itself doesn’t have a website, so I won’t throw a link, but if they read this, here’s hoping that this cool tool becomes available someday in the not-to-distant future.