软件生态系统的演化:基于生态模型的研究
1. 软件生态系统的多样性与控制机制
软件生态系统中的参与者具有多样性,从被动的用户到更积极的开发者、翻译人员、UI 专家等。开发者又可细分为核心开发者、活跃开发者和外围开发者。
软件项目也存在类似的多样性:
- 用户导向型与核心功能型 :有些项目更面向用户,可由终端用户安装和使用;而有些项目则提供其他项目正常运行所需的核心功能。
- 功能相似项目 :存在功能相似的不同项目,这对生态系统的生物多样性有益,因为一个项目的消失不会对生态系统造成致命影响,其他项目可替代其位置。
- 条件编译与产品线 :条件编译允许软件产品创建适应特定平台或用户需求的不同变体。软件产品线鼓励在不同软件产品间进行可控的多样性开发,同时保留一些共享的通用特性。
软件生态系统的控制机制可能是自上而下、自下而上或两者混合的:
- 自下而上控制 :若由核心开发者或有限的硬件资源驱动,可能遵循自下而上的控制过程。
- 自上而下控制 :若主要由终端用户的变更和 bug 请求驱动,则可能是自上而下的控制。
- 混合控制 :在许多情况下,是两者的混合,生态系统中的一些项目(通常是核心项目)由开发者驱动或发起,而其他项目则由终端用户的变更请求和对新功能或修改功能的需求驱动。
此外,软件生态系统中也存在生态位的概念。如果将贡献者(如开发者)视为物种,其生态位由环境因素决定,如使用的操
超级会员免费看
订阅专栏 解锁全文
2382

被折叠的 条评论
为什么被折叠?



