你知道Apache 软件基金会如何选择开源项目吗

Apache软件基金会(Apache Software Foundation,简称ASF)是一个致力于开源软件发展的慈善组织,因其广泛的项目和开放的治理模式而备受社区赞誉。作为全球最大的开源基金会之一,ASF如何选择开源项目成为人们关注的焦点。在本文中,我们将探讨ASF选择开源项目的流程、标准和价值观,以及这些决策对开源社区和行业的影响。

741172d9aefd43a36e4c0c5274925af2.jpeg

作为ASF的长期志愿者、导师和董事会成员,我非常自豪能够分享有关ASF运营流程和价值观的独特见解。ASF以开源Apache许可证为核心,采用开放实用的方式运作,与其他许多基金会不同,ASF是一个为公共利益而设立的慈善组织。本文将进一步探讨ASF如何选择项目、现有开源许可证的情况以及对ASF未来的展望。

在ASF内部,选择项目的过程始于Apache孵化器(Apache Incubator),潜在项目通过接受帮助和指导,希望最终成为顶级Apache项目。任何人都可以向孵化器提交项目提案,并寻求ASF内部人员的支持。在审查潜在项目时,ASF更倾向于看到涉及的个人和实体具有多样性,而不仅仅是单一的法人团体。我们发现,这种广泛的多样性将使项目得到更广泛的使用并具备更长久的生命力。

f9d04b4365408d379abd87be8659f0d0.jpeg

孵化器的主要目标是帮助项目学习并按照我们所说的Apache之道(The Apache Way)运作。这是一套为社区主导的开发提供最佳实践的价值观。Apache之道的核心包括严格的供应商中立性,将社区置于优先位置,甚至高于项目代码本身。开放和透明的沟通也至关重要:ASF要求所有项目的交流都是公开可访问的,并进行永久归档以支持异步协作。此外,所有被接受的项目都附带开源的Apache许可证,确保所有源代码都是公开可用的。

在孵化器中,我们首先检查项目与Apache价值观的一致性,尽管并不需要完全一致,但项目需要愿意适应这些价值观。此外,我们还从许可证的角度讨论,以确保项目与Apache完全兼容,在某些情况下,我们可能会删除或替换依赖项。Apache之道的目标是朝着构建自我维持社区的方向前进。然而,对于某些项目来说,建立社区可能很困难,有些项目无法通过孵化器阶段。

e6a483fc77571159ab5f6163076f0ff7.jpeg

共识决策是Apache之道中蓬勃发展社区的另一个关键因素。根据他们的经验,开放讨论和避免单个项目负责人掌控整个流程非常重要。我们曾经遇到过一些试图保持控制权的强势个人,在这些项目中,由于这个原因,它们没有取得成功。开源项目有很多种形式。然而,使用开源许可证并不意味着自动使项目成为开源。社区才是释放开源价值的关键,促进更大的开放和透明度。

通过严格的孵化器流程和坚守“Apache之道”的价值观,ASF不仅选择了众多成功的开源项目,并在技术领域帮助塑造了一个供应商中立、开放透明的环境。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/28132.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

哇~真的是你呀!今天是LIUNX中的SAMBA。

目录 前言 一、概述 二、安装 三、在SAMBA服务器中设置共享目录 四、客户端查看共享目录及登录 五、本地映射 六、客户端自动挂载 七、用户别名 八、访问控制 总结 前言 SAMBA是一个开源的软件套件,用于在Linux和UNIX系统上实现SMB/CIFS网络协议。SMB(S…

大语言模型(LLM)评估综述

论文地址:https://arxiv.org/abs/2307.03109 Github地址:https://github.com/MLGroupJLU/LLM-eval-survey 一 、背景 随着ChatGPT和GPT-4的推出,大型语言模型(LLM)在学术界和工业界的热度日益升高,这主要…

物联网(IoT):连接未来的万物之网

引言: 物联网(Internet of Things,简称IoT)是指通过各种智能设备和传感器,使物体能够互联互通、收集和共享数据的网络。随着科技的不断进步和智能设备的普及,物联网的应用呈现出爆发式增长,对各…

【网关】ShenYu Gateway入门Demo体验,ShenYu网关2.6.0直接调用Dubbo服务

本次为新开源框架接入ShenYu网关做基础学习指导,特地来下载官网的demo体验一把,具体是想通过网关泛化调用dubbo服务。本次使用的是最新版本2.6.0。 官网文档: 如何通过 Apache ShenYu 网关代理 Dubbo 服务 | Apache Dubbo 环境准备 第一步&a…

React(2)

题外话&#xff1a;vscode有个插件可以很方便的快速写代码 输入rcc回车 1.组件嵌套 import React, { Component } from reactclass Navbar extends Component{render(){return <div>Navbar</div>} }const Swiper()>{return <div>Swiper</div> }cons…

Spring Scope

Spring中五种 Scope域 singleton&#xff0c;容器启动时创建&#xff08;未设置延迟&#xff09;&#xff0c;容器关闭时销毁【单例】prototype&#xff0c;每次使用时创建&#xff0c;不会自动销毁&#xff0c;需要调用 DefaultListableBeanFactory.destroyBean(bean) 销毁【…

sqlserver 存储过程当中如何实现增删改查

--声明存储过程 新增编辑 ALTER procedure [dbo].[Eng_MyAddOrEdtADPro] My_Cocode int, Type int, -- --1 新增 2 编辑 My_KeyId uniqueidentifier, My_PCode int, My_SCode int, My_PName nvarchar(36), My_SName nvarchar(36), My_Orde…

OpenCV for Python 学习第三天 :图片处理之NumPy库与OpenCV相结合

上一篇博客我们了解了图像在OpenCV中的保存方式。并且我们自己上手创建了一张灰度图像和一张彩色图像。除此之外&#xff0c;我们还了解到了彩色图像通道在OpenCV中和我们日常所了解的不一样&#xff0c;是通过BGR的顺序进行编码的。咱们一定要记清楚哦~ 那么今天&#xff0c;我…

基于单片机心率脉搏心率血压体温血氧检测系统的设计与实现

功能介绍 本次设计通过32系列单片机STM32进行数据处理&#xff0c;配置引脚和JFC103传感器以及温度传感器进行数据通信。采用防水DS18B20进行腋下温度采集&#xff0c;通过单总线方式进行数据传输。心率血氧血压模块通过串口通信方式把采集到的数据发送给单片机&#xff0c;所有…

【前端知识】JavaScript——var 与 let 的区别

【前端知识】JavaScript——var 与 let 的区别 var声明的变量会自动提升到函数作用域顶部&#xff0c;而let不会。 在解析代码时&#xff0c;JavaScript 引擎会注意出现在块后面的 let 声明&#xff0c;只不过在此之前不能以任何方式来引用未声明的变量。在 let 声明之前的执行…

MySQL-DQL-案例

案例 案例1 根据需求完成员工管理的条件分页查询 具体代码 -- 案例1&#xff1a;按需求完成员工管理的条件分页查询 - 根据输入条件&#xff0c;查询第一页数据&#xff0c;每页展示10条记录 -- 输入条件&#xff1a; -- 姓名&#xff1a;张 -- 性别&#xff1a;男 -- 入职时间…

NAT 地址转换路由器配置命令(华为路由器)

#AR1路由器配置 # acl 2000 rule permit source any # interface GigabitEthernet0/0/1 nat outbound 2000 ip address 1.1.1.1 24 # interface GigabitEthernet0/0/0 ip address 172.16.1.1 255.255.255.0 # ip route-static 0.0.0.0 0.0.0.0 1.1.1.2 ip route-static …