The development of a complex system depends on the selfcoordinated action of a large number of agents, often determining unexpected global behavior. The case of software evolution has great practical importance: knowledge of what is to be considered atypical can guide developers in recognizing and reacting to abnormal behavior. Although the initial framework of a theory of software exists, the current theoretical achievements do not fully capture existing quantitative data or predict future trends. Here we show that two elementary laws describe the evolution of package sizes in a Linux-based operating system: first, relative changes in size follow a random walk with non-Gaussian jumps; second, each size change is bounded by a limit that is dependent on the starting size, an intriguing behavior that we call "soft bound." Our approach is based on data analysis and on a simple theoretical model, which is able to reproduce empirical details without relying on any adjustable parameter and generates definite predictions. The same analysis allows us to formulate and support the hypothesis that a similar mechanism is shaping the distribution of mammalian body sizes, via size-dependent constraints during cladogenesis. Whereas generally accepted approaches struggle to reproduce the large-mass shoulder displayed by the distribution of extant mammalian species, this is a natural consequence of the softly bounded nature of the process. Additionally, the hypothesis that this model is valid has the relevant implication that, contrary to a common assumption, mammalian masses are still evolving, albeit very slowly.bounded diffusion | multiplicative processes | cladogenetic diffusion | macroevolutionary patterns S oftware programs are embedded in the real world. As a consequence, the growth of a software package is characterized by inherent adaptive change in response to many factors of different natures. The multilevel feedback structure where programs and their environment evolve in concert is elusive and difficult to describe precisely; quantitative results in this direction are still erratic, despite the efforts made in the past few decades (1, 2). These very features make the subject attractive from the point of view of complex systems theory and analysis. Most of the traditional analyses concerned proprietary software, but a number of studies carried out within the past 10-15 y gathered a relevant amount of evidence concerning the evolution of Open Source Software (OSS) (3)(4)(5). The open source phenomenon has two specificities that make it particularly interesting. First, the goal of an open source project is to create a system that is useful or interesting to its developers and thus fills a social void rather than a commercial one. Second, large OSS projects are developed and maintained in a globally decentralized context, contrary to traditional softwarecontrary to traditional software. The emergent complex self-organizing structure challenges traditional theories of management and engineering (6-8). The OSS phenomenon ...