The Licensing and Compliance Lab interviews Brett Smith of dtrx
Brett Smith has been using free software since 1998. He worked in several roles at the Free Software Foundation (FSF) from 2002-2004, and then worked in its GPL Compliance Lab from 2006-2012. Dtrx stands for “Do the Right Extraction:” it extracts all kinds of archive files in a consistent way, so you always get the same results no matter how the author built the archive.
What inspired you to create dtrx?
The idea actually came about while I was working in the FSF’s GPL Compliance Lab. In the course of investigating violations and verifying that provided source was complete, I often found myself downloading files and then repeating the same steps over and over: figure out a file’s real type, extract it, move extracted files around to keep things organized, fix permissions. I wrote dtrx to automate that part of the job, so I could stay focused on compliance itself.
How are people using it?
I think most people who install dtrx use it to extract all archives they download. I know I do: it’s nice to type a single, short command that I know will do the right thing, no matter what kind of archive it is or how it’s organized.
What features do you think really sets dtrx apart from similar software?
When you extract an archive with most of the native tools like tar, they tend to prioritize extracting the files in exactly the same state they were archived in. For good reason: if the archive is a system backup, you wouldn’t appreciate it if the tool started reorganizing the data or changing permissions. Dtrx assumes you’re extracting an archive someone else made, so its top priority is to make it easy for you to access the data inside. Both use cases are important, but now that it’s so common for people to distribute all kinds of files in archives over the Internet, I think dtrx’s focus is what most people want most of the time.
Why did you choose the GPLv3 as dtrx's license?
I’m a strong believer in copyleft, and GPLv3 (along with its cousin AGPLv3) does more to ensure the software stays free than any other license. The strongest patent defenses in a free software license, broad compatibility with other licenses—why would I choose anything else?
How can users (technical or otherwise) help contribute to dtrx?
I’ve received a lot of great bug reports and feature requests over the years, and those are always helpful. Dtrx tries to make archives as easy as possible for people, so if it does something unexpected with an archive, or is missing an important feature, that’s as much a bug as crashing. I’m always happy to receive feedback by e-mail.
What's the next big thing for dtrx?
I’m slowly planning out a version 8 which will work the same way for users, but improve a lot under the hood. It will try to extract an archive with multiple tools, so you don’t have to install one specific tool to extract an archive type, as long as you have any tool installed that knows how to do it. It will also run in Python 3, so users don’t have to keep installing a crufty Python 2.7 to run dtrx.
Enjoy this interview? Check out our previous entry in this series, featuring Kees Verruijt of CANboat.