现在讲软件工程的, 所谈论的多半是项目工程, 即如何在有限的时间内配置使用有限的资源在单个项目中达到既定的目标. 传统上, 在这一领域基于预测和计划的瀑布方法曾经占据主流, 但是随着项目的日益复杂化, 各种基于演化(evolution)思想的工程方法在实证中逐渐发展起来. 在时空跨度更大的软件工程领域, 例如延展到软件的不同版本以及多个相似项目的工程中, 演化更是逐渐取得了无可置疑的主导地位. 但是, 从另一个方面说, 目前所有这些软件工程方法所推崇的演化实际上都是非常有限的, 它们通过迭代(iteration)所能够描述的演化过程都只是片断性的, 例如一个项目中的演化, 一个软件产品的演化, 最大的莫过于一整条软件产品线的演化. 所有这些演化过程都面临着一个天然的屏障: 商业公司.在公司内部, 知识或代码可以由开发人员携带到下一个项目, 或者从一个小组传播到另外一个小组, 在新的基础上继续演化的进程. 但是核心的知识或者代码一般只能通过商业交易传达到其他公司, 这是一条非常受限制的途径. 而一个单个公司所开发的软件包, 即使是平台级的产品, 如果只是内部使用, 受限于该公司所从事的业务领域, 其所面临的使用检验也是非常有限的. 而且出于经济上的原因, 单个公司往往无力支撑多个实现同样功能的解决方案, 因而它倾向于消灭软件中的多样性, 这有可能会进一步限制演化的进程.
开源(OpenSource)软件为软件演化创造了新的可能性.商业友好的开源软件可以被不同的公司自由的运用于不同的业务, 因而可以参与到不同的局部演化过程中. 在应用的过程中, 开源软件面临着巨大的重构压力(这往往是超越了应用最广泛的封闭源码软件包的), 有可能保持更快的演化速度. 而通过对开源软件的回馈, 对开源软件的改进可以传播到时空范围跨度巨大的软件开发过程中. 而且基于源码的开放性, 开发人员的知识交流也随之开放起来. 类比于Darwin进化论, 我们可以说开源驱动了整个软件业界的共同进化(co-evolution).
多年前, Eric Raymond在著名的文章"大教堂和市集"中
http://263.aka.org.cn/Docs/c&b.html, 提出了开源的工程价值, 但其所关注的重点仍然只是单个软件如何在开源的模式下演化, 从今天的观点看来, 这篇战斗檄文已经显得有些局促了. 开源所造就的巨大演化空间远远超越了软件工程所能够提供的. 开源软件现在已经在商业开发领域站稳了脚跟,也渐渐超越了单个公司能够控制的范围. 可以说开源软件的发展是无可逆转的, 我们已经不会也不应该再回复到原先的封闭世界中.
分享到:
相关推荐
opensource-windows-x86-winrt-msvc2015-5.8.0.exe 20-Jan-2017 12:54 1.2G Details qt-opensource-windows-x86-winrt-msvc2013-5.8.0.exe 20-Jan-2017 12:53 1.2G Details qt-opensource-windows-x86-msvc2015_64...
© 2006 IBM Corporation Dr. Yoram Gnat January 2007.
virtuoso-opensource:Virtuoso是一种高性能且可扩展的多模型RDBMS,数据集成中间件,链接数据部署和HTTP应用服务器平台
openSource 教程源码 admin_v1.0.0 vuex-tutorial-1 admin_v1.1.0 vuex-tutorial-2 admin_v1.2.0 vue-router-vuex-tutorial-1 admin_v1.3.0 vue-router-vuex-tutorial-2
Open Source BI Comparison
开软GIS软件GRASS教程的第三版(With this third edition of Open Source GIS: A GRASS GIS Approach, we enter the new era of GRASS6, the first release that includes substantial new code developed by the ...
Code Reading The Open Source PerspectiveCode Reading The Open Source Perspective
qt-everywhere-opensource-src-5.9.8
qt-opensource-windows-x86-5.13.2.exe
qt-opensource-windows-x86-5.14.2
开源许可和许可问题指南。 说明如何选择开放源代码软件的许可证,以及所选许可证如何影响开发人员,经理,律师和业务。
SELinux NSAs Open Source Security Enhanced Linux.rar
The Architecture of Open Source Applications(开源软件架构),其中包含了中文和英文版,整理之后免费分享给大家,中文版由图灵社区翻译http://www.ituring.com.cn/minibook/19 本书是开源应用的必读资料之一,介绍...
Why do commercial companies contribute to open source software
qt-opensource-windows-x86-msvc2012-5.6.3 这个是在vs2012中的使用的qt 编绎时使用的命令: configure -prefix d:\win32-msvc2012 -platform win32-msvc2012 -opensource -confirm-license -nomake tests -nomake ...
qt-sdk-win-opensource-2010.04
qtcharts-opensource-src-5.7.0
所以今天收集了qt-opensource-linux-x64-5.10.0.run 、 qt-opensource-linux-x64-5.12.1.run 、qt-opensource-linux-x64-5.12.6.run、qt-opensource-linux-x64-5.12.9.run 、qt-opensource-linux-x64-5.12.12.run给...
Open Source构件技术PPT,内容比较详尽
叫你怎样使用OpenSource资源开发基于Linux平台的项目。