Workflow
Enterprise Open Source: A Practical Introduction
Linux基金会·2025-03-04 11:50

报告核心观点 - 企业级开源软件改变组织开发和交付产品的方式 企业需制定开源战略 从被动应对转向主动引领 以充分利用开源软件的优势并规避风险[7][8] 根据相关目录总结 为什么选择开源 - 开源软件可共享开发 降低研发成本 加速产品开发和上市 还能助力企业引领行业 吸引顶尖人才[13][14] - 软件是各行业的关键价值因素 各行业对开源软件的依赖度在20% - 85%或更高[16][17] - 开源软件支持多种商业模式 包括构建开源、基于开源构建、为开源构建和在开源基础上构建[20][22][24] - 企业很难不使用开源软件来构建产品 参与战略开源项目有助于提升企业利润和加快上市时间[27] - 开源软件可让企业专注于软件栈的高层差异化 为消费者提供独特价值[28][29] - 开源软件可通过直接和间接方式促进产品开发 直接方式包括满足研发和产品团队的开源开发请求等 间接方式包括稳定上游代码、参与内部政策讨论等[32][37] - 开源研发是企业创新管道的一部分 可与多种实践结合 发挥更大作用[41] 二十年企业开源经验教训 - 识别对开源软件的依赖 关注多业务部门使用的软件或合规风险高的软件 并专注于对公司战略和产品有益的上游项目[47][48] - 识别开源技能组合 从社区招聘关键开发者 招聘时需考虑技术领域专业知识、开源方法和经验等因素[51][53] - 制定开源战略需考虑目标开源项目、项目社区、内部治理和企业文化等关键要求 并回答开源战略如何帮助实现企业总体目标、知识产权战略和抓住独特机会等问题[54][55][58] - 开源软件有消费、参与、贡献和领导四种主要战略 企业需确定当前和目标位置 并规划实现路径[63][64][68] - 实施开源基础设施 包括支持社区参与、开源贡献、开源合规和开源使用的四个关键支柱[82] - 加入Linux基金会合规倡议 如OpenChain和SPDX 以支持开源合规实践[101] - 聘请或提拔开源团队的领导者 该领导者需具备深厚的工程背景、对开源许可证的理解等特质[107][110] - 正式确定开源职业发展路径 调整绩效奖金以包含开源开发工作目标 并允许开源开发者远程工作[108][112] - 创建或外包开源培训 包括技术培训和合规培训 以提高员工对开源政策和战略的认识[113][114] - 创建有意义的指标来跟踪进度 如提交或提交的补丁数量、补丁类型、补丁接受率等[118][119] - 与开源基金会建立关系 选择与产品或利益相关的基金会 以扩大在开源社区的影响力[130] - 制定计划以开源许可证发布专有源代码 可使用清单和模板指导代码发布过程[131] - 鼓励内部协作 与使用相同开源项目的业务部门合作 可采取提供培训、开展研讨会等形式[134][135] - 提供灵活的IT基础设施 支持开源开发者与开源项目的沟通和协作 并与外部工具相匹配[135][137] - 举办开源活动 支持开发者参加开源会议和活动 以建立人际关系、参与技术讨论和提高外部知名度[138][140] - 与大学合作开展开源研发项目 这对企业和大学都有益 可培养和吸引新人才[141][142] - 探索内部项目的内源实践 借鉴开源开发方法 促进内部协作和创新[143] - 采用开源原则可带来更快的发布节奏、更高的源代码质量等好处 实践中需开放源代码库 并建立代码管理团队[144][147] - 企业重要的开源工作流实践包括可见性、分叉、拉取/合并请求、同行评审等[149][152] - 加入TODO Group 该组织为企业提供开源项目办公室的指南和最佳实践[161] - 更新并购实践 确保合规计划提供必要的披露和陈述 并在并购前评估源代码的合规性[162][163] - 更新外包开发协议 确保协议反映开源合规程序 并对收到的源代码进行合规审查[164] 面临的挑战 - 开源项目面临文化、流程和工具三个方面的挑战 文化方面需缩小传统软件开发实践与开源开发要求的差距 流程方面需适应开源开发的动态性和合规要求 工具方面需构建与开源开发模型兼容的工具[167][168][173] 结论 - 掌握开源需要涵盖消费、参与、贡献和领导的强大战略 并在每个阶段进行增量努力和投资 遵循书中的步骤和原则 企业将在开源领域取得进展[179]