Working Around a Project with Twenty Years of Precedents

Accepted Session
Short Form
Scheduled: Thursday, June 23, 2016 from 11:00 – 11:45am in B201


How do you deal with a free software project that has been ongoing for many years? What happens when the original designers moved on long ago and even the elders don’t have all the answers? This session will examine how to work with existing precedents to drive evolution of the project.


When I was a kid, my neighbor told me, “You don’t really want to mess with a twenty year old car if it runs well enough. The machine has worn into familiar patterns; let the sleeping crud lie.”

That’s a fine sentiment for an AMC Pacer, but it fits poorly in a dynamic world like software, where change is inexpensive. However, plenty of free software projects that have existed for decades, and if you find yourself getting involved with one of them, what can you do? How does one gather knowledge about the goals and desires that the project was trying to solve? How does one capture longstanding institutional knowledge and forgotten design nuances in a format that minimizes future information attrition? What can be done about other participants who do not look favorably upon change? How can you push new ideas into a mature project where “everything works just fine”? Can we be “disruptive” without being disruptive, as it were?

Darrick has spent the past several years trying to add new features to XFS, which is a high performance filesystem introduced by SGI in 1993. Before that, he worked with the ext[2-4] filesystems, which are of similar age. Along the way, he’s learned how to understand problems that the code tries to solve and the design decisions hidden within by synthesizing knowledge from source code comments, bit-rotting documentation, anecdotes, inferences, and even Google. At the same time, he’s become accustomed to the tap dance of leading the leaders step by step towards a new period of development for the project. However, he’d be remiss if he didn’t acknowledge the plentiful potholes he hit along the way.

My goal for this session is to talk a little bit about leveling up from occasionally sending patches to actively driving development. I’d love to transition from that to a broader discussion with audience members who have done similar things in their own communities. The aim is to help less experienced participants connect with techniques that they can use to help their own projects avoid stagnation.


free software, XFS, linux, ext4, leadership, community evolution

Speaking experience

Various: 3x OSBridges, 5x Linux Storage, Filesystem & Memory Management workshop, 3x Linux Plumbers Conference, 1x Ottawa Linux Symposium, the IBM Academy of Science, numerous Ext4 Developer Summits, PDX Byte...

As always, I will develop this talk specifically for OSBridge. It has not been presented previously.


  • Head


    Darrick has been cranking out patches to the Linux kernel for the past twelve years. In that time he has worked on many areas of the kernel, most notably ext4, storage drivers, energy management, firmware hacking, and environmental sensors. He is now attempting to bring about the future of data storage, whether that means adapting existing filesystems to new kinds of storage, making versioning cheap, or teaching the computer how to automatically repair damage.

    Before that, Darrick mostly wrote software toys (compilers, interpreters, even operating systems) for fun, and nosed around inside a computer more than he admits. He has yet to find a computer that he can’t crash.

    Off-line, Darrick enjoys dancing, exploring exotic back-country with a camera, and belting out songs.


Leave a private comment to organizers about this proposal