Definition of Ectropy

Ectropic Software

Order from Chaos

Imagine hundreds of people working on the same program at the same time. Imagine if those people do not know each other and, in fact, do not individually have overall knowledge of the program but merely want to adapt it in order to solve their own particular problems. Imagine each of them being able to contribute their fixes and enhancements to the program while sharing the same code base.

This is the vision of the Open Source movement, responsible for such popular software as the Apache web server and the emacs text editor. However, Open Source suffers from two limitations: the inherent nature of all evolving software to lose its design coherence over time and the specific reliance of Open Source on a central individual to coordinate the evolution of the software.

Ectropic software is an attempt to leverage the advantages of Open Source while overcoming the disadvantages. Ectropy is the inverse of entropy. Ectropic software evolves over time to become more highly structured and better able to accomplish the goals of its users. It consists of two key ideas: Ectropic Design is a design method by which order and structure are created out of the efforts of multiple, unrelated software developers; and Ectrospace is an active collaboration space to support Ectropic Design.

Online project documentation can be found at The Ectropic Software Project Swiki.





Project Documents and Artifacts


Contact Information
College of Computing
Georgia Institute of Technology
Atlanta, GA 30332-0280