从用户成为“股东” —— 在 Apache 基金会的2600天

2024-03-23 22:48

本文主要是介绍从用户成为“股东” —— 在 Apache 基金会的2600天,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

4月1日,腾讯云大数据及人工智能产品研发的专家研究员堵俊平受邀成为 Apache 软件基金会Member(Apache Software Foundation Member,以下简称 ASF Member),一封名为 “邀请成为 ASF Member” 的电子邮件正式为堵俊平敲开了开源世界的新大门。


640?wx_fmt=png


从用户成为“股东”
 —— 在 Apache 基金会的 2600 天

01



从 2011 年开始为 Hadoop 的初始版本打补丁,堵俊平已经在 Apache Hadoop 社区深耕了8年,13年成为 committer,15年成为 PMC member,时至今年,正式荣升ASF Member。“我很荣幸,但从此,我也有了更多的责任。”

640?wx_fmt=jpeg

 

现在全世界有 883 位 ASF Member ,中国区仅有13人,其中较为出名的包括 Kyligence 联合创始人兼 CEO 韩卿 (Luke Han) ,以及中国开源社的理事长刘天栋 (Ted Liu) 。


与在一个项目单元下垂直贡献不同,ASF Member 会收到 Apache 基金会下超过 350 个开源项目的季度报告,横向地对更多的项目起到管理义务。


ASF Member 关注的是 Apache 基金会本身,这通常通过项目相关和跨项目活动来证明。从法律上讲,Member 是基金会的“股东”,也是业主之一。他们有权选举董事会,成为董事会选举的候选人。他们也有权作为导师 (Mentor) 提出一个新的孵化项目。


有一点需要特别指出,Apache 基金会中从 Committer 开始的每个角色都只能通过他人提名并投票决定,这代表社区伙伴的认可,每上一个新台阶的背后都有着日日夜夜事无巨细的付出:不断贡献高质量代码、提交 patch,组织 release,回答用户问题,参与投票,培养和提名committer,发表合理合适意见,还有一些影响更加深远的贡献,推动腾讯内部持续贡献 Apache 基金会,组织黑客松和 meetup ,身体力行地推广Hadoop,传递开源理念。


堵俊平今年的想法是主动去挖掘 1-2 个合适的项目,推荐进入孵化流程,“Mentor 有点像投资人,只不过我们是拿出自己的时间来投资”,堵俊平做了这样的比喻,时间比资金更有限、更私人,所以选择开源项目时会坚持从技术驱动,在自己有兴趣的领域帮助有潜力的项目快速成熟。


代码、人,社区都在成长
 —— Apache基金会的运作模式

02



Apache 基金会的官网上有几十份、累计数十万字的文档内容在介绍 Apache 基金会的运作模式,在真正接触到基金会的“内部人士”前,外界似乎很难相信一个跨时区、跨文化、跨公司的组织能够严格按照这样的模式运作了20年。它详细到超乎想象,哪怕是针对一些意外情况,也多能在这些文档找到解决方案。

“ASF Member 想要退休怎么办?”,“决策投票的有效期在跨时区的情况下如何保证?”,“投出+0.9票的成员是怎么想的”……诸如此类。

Apache 基金会中的每个人、每个项目、每个社区,都并非固定一成不变的,它是一个极其动态的过程,每个人、项目和社区时刻都在成长,而这一切是透明的,作为一个普通用户,几乎不要花多少功夫,你就能了解这个庞大的社区每天发生的一切变化:代码量的增减、提交者的变化、最新的Release清单。Apache 基金会像是一个精密的齿轮,日夜不停地转动,开源这个概念自身的魅力正是其磨合剂。

作为社区中的人,只要你参与在 Apache 基金会的项目中,你就肯定能找到一个对应角色:

  • 用户(User):开始使用一个或多个 Apache 基金会的开源项目。

  • 贡献者(Contributor):提交代码或文档的patches,在官方渠道(邮件列表,IRC等)支持其它用户。

  • 提交者(Committer):持续贡献,坚持贡献,被提名、投票通过后,拥有直接访问并提交代码的权限。

  • 项目管理成员(PMC Member):做了更多不局限于代码的贡献,进入单个项目个管理委员会,通过投票影响这个项目的发展方向。

  • Apache 基金会成员(ASF Member):对 Apache 基金会直接负责,在多个项目中做出贡献,拥有董事会的投票权。

如果你已经在维护一个开源项目,想让它进入 Apache 基金会,那你则需要充分了解项目在社区不断演进的过程,“提名→进入孵化器→成为顶级项目”,每一步都有迹可循。

640?wx_fmt=png(图为一个开源项目进入孵化器的过程)


从 Apache Way 到 Tencent Way
—— 以 TOSA 加速力行开源实践

03


Apache 之道影响了包括腾讯在内的众多中国公司,近几年,中国的开源爱好者们在大会演讲中终于不是只会讲系统是如何设计的、代码是如何实现的,“开源社区”成为业内一个有点抽象的流行词。

“社区”到底是什么?其实就是多人+互动关系,开源社区就是指大家的互动关系围绕着开源项目而产生。不过这种关系并不会凭空产生,原始开发者需要站在一个完全陌生的开发者角度去思考“我为什么要加入你?

这里有很多方法已经在 Apache 之道中得到总结:首先这应该是一个创新的项目,简单易懂的上手指南、详细全面的项目文档、统一规范的代码格式,都能够降低其他开发者的门槛,吸纳贡献者之前要先想清楚项目需要哪方面的帮助,贡献者加入之前也要明确如何协调工作。

对于自由开发者来说,践行以上方法,可能只需要多一点点决心而已,但对于公司体制下的开源开发者,得到公司和所在团队的支持也许更加实际。

18年中旬,腾讯正式成立了开源管理办公室,腾讯BG相对独立、自下而上的管理模式其实和 Apache 软件基金会颇有类似之处,因此这个办公室的组织架构也设计成类似于 Apache 软件基金会的模式。开源合规组应对开源的法律风险,TPMC聚集了每个项目的内外部开发者,而这个略带江湖气息的腾讯开源联盟 (TOSA)  则是整个组织的大脑,负责决策腾讯开源要向哪个方向前行。

堵俊平现任腾讯开源联盟的主席,除了负责  Apache 基金会 的各项事宜外,他还主动承担起管理和治理腾讯开源工作的职责。“我非常高兴能看到腾讯开源选择 Apache 的模式,这奠定了一个项目不断壮大的基础,对于发展中遇到的问题,我会坚持开放透明的方式去解决”,堵俊平提出了三点目标:

1. 改进腾讯开源的审核流程。发布统一的审核平台,能让大家看到自己及其它正在审核中的项目的进程,尽量从内部开始,就把流程透明化。此外,目前开源前的审核大多是法律方面的流程,很少有针对项目本身代码质量、文档建设的考量,我希望腾讯也能发扬导师制度,导师深度参与到一个新的开源项目中,给予帮助。我们甚至可以建立一个tencent-incubator 的仓库,放置一些不那么成熟的项目,这样外部开发者使用的时候也更容易选择:选择成熟的,成本低;选择孵化中的,有机会一起改变。

2. 帮助项目构建外部的生态。对于构建开源项目的外部生态,堵俊平表示这对腾讯来说并不是一个轻松的过程,除了他个人愿意作为 Mentor 推荐腾讯的开源项目在 Apache 基金会中孵化成顶级项目以外,腾讯云也在持续为开源 Hadoop 等项目贡献 patch 和 feature,包括验证 release 用于生产环境。

他表示腾讯云愿意为开源项目提供支持,可能有很多方式,帮助开源项目打包成商业级服务在腾讯云上便捷的提供给用户,或者组织技术大会给开源提供更多的曝光窗口等。

3. 建立腾讯对开源的评估体系。“国内有一些有关各大公司开源水平的评价新闻我认为并不够确切,纯粹去比拼数量和 Star 其实是个简单粗暴的行为”,堵俊平谈到:“就像 Apache 基金会对孵化的项目提出的要求——至少有来自三家公司以上的贡献者才能毕业,这个行为其实是在保护用户,我希望腾讯对于自己的开源项目也能有一些更加细致、更加专业的评估体系,这样无论在任何场合,面对任何报道,我们都让外界对腾讯的开源、腾讯的技术充满信心。

640?wx_fmt=jpeg


这篇关于从用户成为“股东” —— 在 Apache 基金会的2600天的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/839738

相关文章

Debezium 与 Apache Kafka 的集成方式步骤详解

《Debezium与ApacheKafka的集成方式步骤详解》本文详细介绍了如何将Debezium与ApacheKafka集成,包括集成概述、步骤、注意事项等,通过KafkaConnect,D... 目录一、集成概述二、集成步骤1. 准备 Kafka 环境2. 配置 Kafka Connect3. 安装 D

TP-Link PDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务

《TP-LinkPDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务》近期,路由器制造巨头普联(TP-Link)在用户群体中引发了一系列重要变动,上个月,公司发出了一则通知,明确要求所... 路由器厂商普联(TP-Link)上个月发布公告要求所有用户必须完成实名认证后才能继续使用普联提供的 D

Oracle数据库如何切换登录用户(system和sys)

《Oracle数据库如何切换登录用户(system和sys)》文章介绍了如何使用SQL*Plus工具登录Oracle数据库的system用户,包括打开登录入口、输入用户名和口令、以及切换到sys用户的... 目录打开登录入口登录system用户总结打开登录入口win+R打开运行对话框,输php入:sqlp

深入理解Apache Airflow 调度器(最新推荐)

《深入理解ApacheAirflow调度器(最新推荐)》ApacheAirflow调度器是数据管道管理系统的关键组件,负责编排dag中任务的执行,通过理解调度器的角色和工作方式,正确配置调度器,并... 目录什么是Airflow 调度器?Airflow 调度器工作机制配置Airflow调度器调优及优化建议最

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

Apache Tomcat服务器版本号隐藏的几种方法

《ApacheTomcat服务器版本号隐藏的几种方法》本文主要介绍了ApacheTomcat服务器版本号隐藏的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1. 隐藏HTTP响应头中的Server信息编辑 server.XML 文件2. 修China编程改错误

SpringBoot使用Apache POI库读取Excel文件的操作详解

《SpringBoot使用ApachePOI库读取Excel文件的操作详解》在日常开发中,我们经常需要处理Excel文件中的数据,无论是从数据库导入数据、处理数据报表,还是批量生成数据,都可能会遇到... 目录项目背景依赖导入读取Excel模板的实现代码实现代码解析ExcelDemoInfoDTO 数据传输

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

vue2实践:el-table实现由用户自己控制行数的动态表格

需求 项目中需要提供一个动态表单,如图: 当我点击添加时,便添加一行;点击右边的删除时,便删除这一行。 至少要有一行数据,但是没有上限。 思路 这种每一行的数据固定,但是不定行数的,很容易想到使用el-table来实现,它可以循环读取:data所绑定的数组,来生成行数据,不同的是: 1、table里面的每一个cell,需要放置一个input来支持用户编辑。 2、最后一列放置两个b