The study of synchronization has received much attention in a variety of applications, ranging from coordinating sensors in wireless networks to models of fireflies flashing in unison in biology. The inverse problem of desynchronization, however, has received little notice. Desynchronization is a powerful primitive: given a set of identical oscillators, applying a desynchronization primitive spreads them throughout the period, resulting in a round-robin schedule. This can be useful in several applications: medium access control in wireless sensor networks, designing fast analog-to-digital converters, and achieving high-throughput traffic intersections. Here we present two biologically-inspired algorithms for achieving desynchronization: DESYNC and INVERSE-MS. Both algorithms are simple and decentralized and are able to self-adjust to the addition and removal of agents. Furthermore, neither requires a global clock or explicit fault detection. We prove convergence, compute bounds for the running time, and assess the various tradeoffs. To our knowledge, the theory of self-organizing desynchronization algorithms is presented here for the first time.