usenix conference policies
You are here
Packaging is the Worst Way to Distribute Software, Except for Everything Else
Ryan McKern, Puppet Labs, Inc.
Reliably distributing software is a notoriously difficult problem, and almost every operating system and programming language vendor has tried to solve it. This has led to a herd of packaging systems, almost none of which are cross-compatible; some manage system-level software, while others focus on extending their own language (often by trampling on system-level software). And like all competing standards, every packaging system comes with its own sharp corners, dull edges, and hidden idiosyncrasies to deal with along the path to packaging happiness. In an attempt to answer the question "How do I install this software and ensure that its dependencies are fulfilled?", some novel solutions have begun to see popular adoption. But a lot of these newer tools and techniques tread the same ground as their predecessors while overlooking the lessons that were learned along the way.
I'll talk about the state of native packaging systems on some popular platforms (Debian/Ubuntu, RHEL/CentOS/Fedora, and Mac OS X), packaging systems for popular languages (Ruby, Python, Perl, and Node) and the ways that developers are attempting to work around the limitations of these systems. I'll review the reasons that tools like curlbash, FPM, and omnibus packages have become popular by sharing lessons I've learned while working through these systems. While this will be an amusing presentation, I'll show how native packages can address the concerns that have pushed Release Engineers and Developers away. I will also talk about what native packaging systems can learn from the next generation of packaging tools.
Ryan McKern has the second best record collection in the Puppet Labs Release Engineering team. Before being caught in the pull of Puppet Labs' gravity, he was a Web Infrastructure Administrator at The MathWorks, Inc. for seven years, where he led the charge to embrace native packaging and configuration management, and to stop building special snowflake servers.
Open Access Media
USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.
author = {Ryan McKern},
title = {Packaging is the Worst Way to Distribute Software, Except for Everything Else},
year = {2014},
address = {Seattle, WA},
publisher = {USENIX Association},
month = nov
}
connect with us