Life and death of software packages: an evolutionary study of Debian

  • Authors:
  • Raymond Nguyen;Ric Holt

  • Affiliations:
  • University of Waterloo, Waterloo, Canada;University of Waterloo, Waterloo, Canada

  • Venue:
  • CASCON '12 Proceedings of the 2012 Conference of the Center for Advanced Studies on Collaborative Research
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software evolution has been studied at a variety of granularities. The evolution of code, classes, groups of classes, programs and finally large scale applications have been examined in detail. What lies beyond is the study of the evolution of software collections that group together many individual applications. Collecting software and distributing it via a central repository has been popular in the open source world, and only recently caught on commercially with Apple's Mac app store and Microsoft's Windows store. Similar to other papers on evolution, the value lies in our observations. We extract facts and patterns about the system which have not been documented before. Our study will focus on the Debian software collection because it is widely used, extremely large and easily accessibility. Debian is a software collection based off the Linux kernel with a large number of packages spread over multiple hardware platforms. In this paper we ask: How is Debian evolving and can our observations influence the future design of large software collections? This paper describes the life cycle of a package from inception to end by carrying out a twelve year longitudinal study using the Ultimate Debian Database (UDD). The birth of packages is examined to see how Debian is growing. Conversely, package death is also analyzed to determine the lifespan of these packages. Moreover, four different package attributes are examined. They are package age, package bugs, package maintainers and package popularity. These four attributes combine together to give us the overall biography of Debian packages.