Back in mid-2008 we published two articles that looked at the contributors to the X Server
and contributors to Mesa
, which provided statistics as to the companies and developers contributing to these two important free software projects over the years. Since the start of the new year though I've been meaning to provide some other statistics about how the projects themselves have evolved over the year, but this morning I am finally pushing out these new numbers for the X.Org Server and Mesa.
I was curious how the number of code commits each year had changed to the X Server and Mesa projects, but going back years in the X Server multiple bug-fixes and other work would often be batched together in a single commit, which would under represent the work done that year. Instead I looked at the number of lines of code changed, in the form of the git diff
for each year as if a patch was made at the end of December representing the changes over the course of the calendar year. This should be a quick and fairly accurate way (the problem being the patch file also contains the surrounding lines, but alas it's like that for every year) of comparing the lines of code that have been changed over the year to get an idea for volume. For what is the current X.Org Server code-base there are numbers going back to 2000 and for the Mesa stack back to 1999.
With regard to the X Server, 2009 was not in fact their "biggest" year in terms of the number of lines of code that had changed. With a total lines of code for the git diff
being 816,142, 2003 was the biggest year. This is over three times greater than the work in 2009 that was measured in at 251,706. In 2008 the number was also more lively at 512,547.
Ten years ago in 2000 the line count was 18,046 while in 2001 it went up to 25,243, and then in 2002 it dropped off to merely 3,656 lines of changed code. While 2002 was the slowest year, 2003 was the best (816,142), 2004 dropped to 277,371, 2005 continued to slide down to 211,846, and in 2006 it ran up to 410,099. For 2007 the count was 376,384, and then again in 2008 it was 512,547 and last year it was 251,706.
While looking at the number of lines of code that were changed over the year is no way to measure the amount of work that was actually achieved during the year, it's a quick and dirty way to at least see the volume. If you read Phoronix and all of our news postings and articles, you already have an idea for what has changed within the X.Org Server and other parts of the Linux graphics stack over the past few years.
For the Mesa 3D project the 2009 numbers were particularly interesting. There were 5.5x as many lines of code changed in the Mesa 3D code-base as there was in 2008! In 2009 was the first time the git diff
for the year exceeded one million lines of changed code, and it almost hit two million. Our count is at 1,883,285 for 2009. Of course, it was in 2009 that Gallium3D was merged to master
and it's received a multitude of improvements with many state trackers and drivers coming about.
Gallium3D is inflating the Mesa code-base substantially and causing lots of new work to go into Mesa as this new driver architecture is stabilized and beaten into a working, stable state. There is also plenty of work continuing to go into classic Mesa and the DRI drivers with the ATI R600/700 3D work coming about during 2009 and plenty of new work going into Intel's Mesa 3D driver where they continue to concentrate all of their 3D development efforts. The core of Mesa 3D also picked up support for many new OpenGL extensions in 2009. Though some of what inflated the line count for Mesa was a few obj
files (e.g. /progs/objviewer/GreatLakesBiplaneHP.obj
) that are quite large files and not code.
Here are the numbers for Mesa's other years:
Last year certainly was one hell of a year for this critical free software project that provides the reference OpenGL implementation and drivers for those with open-source hardware support on Linux and other operating systems. But again, take these numbers as you wish as this is just a rough idea for the volume of work done each year.