Software construction has typically drawn on engineering metaphors like building bridges or cathedrals, which emphasize architecture, specification, central planning, and determinism. Approaches to correctness have drawn on metaphors from mathematics, like formal proofs. However, these approaches have failed to scale to modern software systems, and the problem keeps getting worse.
We believe that the time has come to completely re-imagine the creation of complex software, drawing on systems in which behavior is decentralized, self-regulating, non-deterministic, and emergent---like economies.
In this paper we describe our vision for, and prelimary work on, the creation of software economies for both open systems and internal corporate development, and our plans to deploy these ideas within one of the largest developer communities at IBM.
软件构建通常借鉴了诸如建造桥梁或大教堂之类的工程隐喻,这些隐喻强调架构、规范、集中规划和确定性。正确性的方法借鉴了数学隐喻,比如形式证明。然而,这些方法未能扩展到现代软件系统,而且问题还在不断恶化。
我们认为,是时候完全重新构想复杂软件的创建了,借鉴那些行为是分散的、自我调节的、非确定性的和涌现的系统——比如经济系统。
在本文中,我们描述了我们对于为开放系统和企业内部开发创建软件经济的愿景以及初步工作,还描述了我们在IBM最大的开发者社区之一中部署这些想法的计划。