内源
内部开源
内源(Inner Source)也称为内部开源,内源是把开发开源软件中学到的经验教训应用到公司或组织内部开发软件的实践。公司和组织可以在内部开源的同时开发专有软件。 内源这个词是Tim O'Reilly在2000年提出的。
动机
开源被认为能够交付高质量的软件。此外,开源世界中的开放式协作可以促进协作,甚至是竞争者之间。
因此,软件开发组织希望从其成果(软件组件和工具)中受益,也希望从开源世界中实践和建立的开发实践中受益。
进行开源实践
除了诸如Apache软件基金会Linux基金会和Eclipse基金会等基金会建立的一些实践之外,内源和开源项目还需要开放式协作、开放式沟通和良好的质量保证等实践。
开放式协作
在推行内源的公司,所有员工都必须可以访问所有需要的开发制品(例如,代码、文档、问题跟踪等)。集中软件构建是实施开放式协作的重要工具。 基于开放式协作的原则(平等的、精英领导的、自组织的),通常欢迎愿意为内源项目提供帮助的所有贡献者。 对内源项目的贡献通常是根据其为项目带来的价值来进行评估。 公开讨论决策时,开放式沟通也实现了精英制度。 尽管组织不一定要变成彻底的自组织来适应内源,但是内源允许个人,组织单元和项目团体具有更高程度的自组织。
开放式沟通
开放式的沟通可以让内源项目和软件中的所有成员能够公开参与所有的交流互动。 开放式沟通是公开的(在公司内部)、书面的、有存档且完整的。 目的是允许与内源项目有关或感兴趣的任何个人或团体参与沟通。 开放式沟通是会被存档的,软件的详细文档会被收集起来,团队可以回顾当时的讨论和决策。
通过分离角色保证产品质量
专门的代码审查以及贡献者和提交者(拥有写入权限的集成者、开发者)分离,可以确保开源项目的质量,也可以保证内源项目的质量。
内源的优势
除了开源项目的质量,还有如下这些优势:
开发更有效和高效
克服组织单元边界
更多成功重用
更好的软件产品
更灵活地利用开发人员
增强知识管理
员工动力更足
关键因素
内源对于大型软件开发公司是有较为明显的收益。 但是,它可能不适用于所有环境。 可将以下9个因素分为三类,以评估内源适用的程度。
产品因素
流程和工具因素
组织和社区因素
参考资料
最新修订时间:2022-04-08 13:35
目录
概述
动机
进行开源实践
参考资料