HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

独家专访 ASF 董事会主席 Craig Russell:Apache 之道——ASF20 年成功秘诀丨二叉树视频

  • 2019-11-22
  • 本文字数:3728 字

    阅读完需:约 12 分钟

独家专访ASF董事会主席Craig Russell:Apache之道——ASF20年成功秘诀丨二叉树视频


视频丨二叉树团队


编辑丨王文婧


对于尊崇开源文化的人来说,“Apache 之道”让人既钦佩,又好奇。“社区重于代码”的核心准则为何能够历经 20 年的发展被遵守、延续至今,并坚持初心?今年是 ASF(Apache 软件基金会)成立 20 周年,不久前 InfoQ 记者对 ASF 董事会主席 Craig Russell 先生进行了一次独家采访,从他在 ASF 工作十多年的感受、ASF 在开源社区治理上的成功经验、ASF 未来发展计划等方方面面进行详细了解,此次采访也让我们对“Apache 之道”有了更加直观、深刻的认识。


00:00 / 00:00
    1.0x
    • 3.0x
    • 2.5x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.75x
    • 0.5x
    网页全屏
    全屏
    00:00


    极客档案人物专题纪录片


    InfoQ 二叉树 出品


    InfoQ:请您和我们分享一下在 ASF 工作十多年的感受,Apache 之道这种文化是吸引您加入 Apache(社区)的原因吗?


    Craig Russell:2004 年 Sun 公司决定将 Java Data Objects(JDO)项目捐献给 ASF,正是那个契机让我有缘结识 Apache(社区)。后来,JDO 项目进入 Apache 孵化器,并于 2005 年以数据库项目顺利毕业。


    在 JDO 项目进入 Apache 孵化器的同时,我成为该项目的 committer(代码提交者)。2005 年 12 月,我入选 Apache 数据库项目管理委员会。2007 年我被评选为 Apache 成员。


    2009 年,我开始与 ASF(Apache 软件基金会)秘书处协作,从 2010 年至 2019 年,我一直担任 ASF 秘书一职。2019 年,我正式进入董事会,并于 5 月被任命为董事会主席。


    Apache 社区是一个平等交流的平台,这里没有职级和特权。虽然我是因为项目加入到社区,但是我被 Apache 社区的运作方式深深吸引,于是决定留在 Apache 软件基金会尽我所能做出更大贡献。


    InfoQ:今年是 ASF 成立二十周年,您认为 ASF 在这二十年间取得的最大成果是什么?


    Craig Russell:ASF 收录了数百万行代码,汇聚了数以千计的代码提交者,软件的市场价值更是高达数百亿,而这些资源无需购买,也不需任何许可费用,便可向公众开放。


    InfoQ:ASF 的开源项目一般要经历准备、孵化和毕业三个阶段。在这一过程中,企业或个人项目如何才能顺利毕业?


    Craig Russell:孵化器用于帮助新社区在 Apache(软件基金会)建立自己的社区治理体系。其主要作用是帮助社区了解 Apache 之道,包括社区发展;开放、协商一致的决策方式;确保代码以可靠的许可发布,使下游用户可以安全地使用。


    在项目孵化过程中,导师帮助项目遵循 Apache 之道,确保项目的独立健康地成长。孵化项目根据是否能够遵循 Apache 之道独立运作进行自我评估,由大家投票决定是否能够从孵化器毕业成为顶级项目。


    InfoQ:现在许多企业利用开源软件实现商业化。开源路径一般有两种:一种是从创建之初就开源,等到有了一定的技术和用户积累,开始做商业;另一种是本来已经是比较成熟的商业产品了,之后再开源。这两种不同路径的开源项目在商业化时,各有哪些优劣势?


    Craig Russell:每家企业选择发展方向时都有自己的理由,ASF 不会去评判哪种方式“更好”。我们的使命是向公众提供软件:我们充分尊重个人开发者、团队和组织选择他们何时以及何种方式构建他们的软件,也充分尊重他们选择哪种软件许可的权利。


    我们相信 InfoQ 读者们会很想了解我们的成功精髓——Apache 之道,这是 ASF 总结的开源可持续成功的秘籍。


    https://blogs.apache.org/foundation/entry/the-apache-way-to-sustainable


    InfoQ:开源软件追求的是不断创新,而用户追求的是稳定版本,这两种需求其实是矛盾的。如何平衡这种矛盾呢?


    Craig Russell:我们的开源项目与其他项目有很大不同。倾向于稳定性的用户可以使用更加稳定的软件版本,而偏爱最新版本的用户则更愿意在确保核心功能可以满足其基本需求的前提下,通过自行测试来体验更多的功能。


    大多数发布了一段时间的 Apache 项目都会为用户提供多种版本,这些版本有时会被宣传为“最新版、最新稳定版和开发版”。Apache 之道中最重要的一点就是透明,这样用户在做出选择时拥有充分的知情权,这包括在稳定性和新特性之间做出选择。


    InfoQ:最近一段时间,一些开源软件公司纷纷收紧授权许可。目前我们了解到的比较流行的许可包括 SSPL、AGPL、BSL、CCL 等等,您认为什么样的许可最有益于开源项目的发展?


    Craig Russell:Apache 许可 2.0 版经受住了时间的考验。Apache 的所有软件都是基于 Apache 许可 v2.0 发布的,它已成为全世界无数项目和企业首选的开源许可证。Apache 许可 v2.0 以其商业友好和宽松准入的特点成为了开源业界的典范。Apache 许可 v2.0 的广泛应用不仅拉动了企业对开源的贡献,促成了几十家市值数十亿美元的公司的创立,同时还促进了许多像 Android 这样全球规模最大、发展速度最快的开源项目在百度、淘宝网、以及其它公司的使用。


    在使用 Apache 许可时,贡献者可以按照自己的意愿来自由地使用他们(参与贡献)的软件,而且当为 Apache 项目做贡献时,毋须放弃任何权益。


    项目的下游消费者,无论是最终用户还是合作伙伴,都有依照 Apache 软件许可 v2.0 授予的权利,按他们自身需求使用、修改和分发软件。


    InfoQ:ASF 有一句格言叫做 “社区重于代码” 。在这二十年间,ASF 是如何做好社区维护的?为什么说 ASF 是一个值得参与的社区?


    Craig Russell:二十年来,“社区重于代码”这一理念鼓舞了成千上万个提交者以“Apache 之道”合作开发软件,无论他们处于何种就业状态、企业关系,以及个人背景。


    在 ASF,你的成长速度远远超出你的想象,你可以通过自己的努力去影响项目的走向。这里并没有自上而下的决策制定方式,社区里的人共同做出决定,每个人的意见都能得到尊重。


    社区驱动开发是 ASF 之所以能够成为世界最大的开源基金组织的核心原因之一。


    如果这种协作式的软件开发方式能够让你着迷,那么接下来,你还可以选择多种方式来为 ASF 的项目和社区做贡献。


    InfoQ:由于以邮件列表为代表的异步通信的形式在中国的推广难度较大。随着中国项目逐渐加入,ASF 是否会采用类似微信的方式来进行沟通和做出决策?


    Craig Russell:作为一个世界性组织,ASF 为了让所有的社区成员都能够参与到讨论和决策中,采用了异步通信的方式来沟通,这样就避免了人们在睡觉、度假或在飞机上时错过重要的决策。另外,为实施必要的监管,沟通内容要永久留存。


    但是 ASF 也知道,很多中国程序员提出了使用像微信这种更为实用的社交网络沟通工具的需求。我们也在积极地探索以哪种方式来满足这方面需求。


    而且也有多个项目的主要参与者是来自中国,他们也使用 GitHub 来进行项目的日常沟通,他们通过让 GitHub 的日常沟通可以转发到开发的邮件列表中,从而达到满足所有人的需求。


    所以,我们也没有说一定不能使用微信这样的即时通讯工具。但是任何实质性的内容还是要回归到异步通信工具中以便阅读和归档。


    InfoQ:您可以简单介绍一下 Apache 董事会是如何运作的吗?


    Craig Russell:ASF 是一个自下而上的组织,我们的关注点主要集中在项目上。我们的所有工作都服务于项目,这样我们才能为公众打造出更加优质的软件。


    我们的基础设施团队,包括网站服务器、存储库、持续构建平台,以及测试平台等,都是服务于项目的;营销团队是要让人们了解我们的项目,并知道如何参与进来;筹款团队则专注于获取资源,以保障项目的持续运营;财会部门主要负责支付一些账单来保障我们的供应商能持续不断地支持我们。


    董事会的存在是为了让基金会持续地为项目提供支持。它主要起到了监管的作用,确保项目遵循 Apache 之道,而包括基础设施、营销、筹款、法务、品牌在内的运营层面也都服务于项目。


    董事会每月都会召开一次会议,会上他们将审查 200 个顶级项目的发展情况和进度,同时也会监管非项目性运营的相关工作。董事会鼓励所有成员和工作人员监督其工作。


    InfoQ:作为一个厂商中立的非营利机构,ASF 的资金来源是什么?为什么 ASF 能成为世界上最大的开源组织?


    Craig Russell:ASF 完全依赖于个人和企业的赞助,为此我们深怀感激。


    ASF 的成功得益于我们始终遵循的“Apache 之道”。我们的治理模式让每一位贡献者在项目开发中都能够自由地表达,我们的许可模式也给贡献者和用户在法律层面上吃了一剂“定心丸”。


    InfoQ:作为新一任主席,您能介绍一下基金会未来的发展规划吗?


    Craig Russell:董事会最主要的职能是确保基金会能为社区提供源源不断的支持。基于此,我们的首要目标是为未来而谋,这里可以看到我们制定的五年计划。


    https://www.apache.org/board/plan.html


    InfoQ:下一个三年,ASF 在孵化项目方面会重点关注哪些领域的项目?


    Craig Russell:ASF 并不会主动征集项目,我们对所有想为 ASF 贡献力量的项目、代码库和社区开放。目前,Apache 孵化器中还有很多来自不同领域的项目,包括数据分析、数据库、深度学习、流计算、云计算、物联网、区块链和网络监控等。我们期待随着新技术的开发,这些领域中的一些项目能纳入 ASF。


    InfoQ:LinuxCon/OSSummit 已经进入中国好多年了,Apache 计划什么时候来中国举办一场 ApacheCon?


    Craig Russell:我们已经和中国的一些机构合作举办了两场小规模 Apache 路演,也期待未来能探索出更多举办活动的可能。


    InfoQ:对于刚开始接触开源项目的开发者,您有哪些建议?


    Craig Russell:我能给出的最好的建议就是要遵循黄金法则:你待人当如人之待你,恭谦有礼,达诚申信,虚怀若谷,敢于担当,求同存异,同心协力、共创未来。


    感谢姜宁、李建盛、刘天栋对本文的贡献。


    2019-11-22 19:392370

    评论

    发布
    暂无评论
    发现更多内容

    Mybatis开发要点-resultType和resultMap的区别?

    Java 程序员 后端

    MyBatis逆向工程Generator和IDE Plugin

    Java 程序员 后端

    MyCat:第四章:Mycat中的概念(1)

    Java 程序员 后端

    MySQL 5

    Java 程序员 后端

    MYSQL 分组排名

    Java 程序员 后端

    MySQL 千万数据量深分页优化

    Java 程序员 后端

    MySQL基础总结

    Java 程序员 后端

    MySQL基础学习手册

    Java 程序员 后端

    MyBatis的Mapper接口以及Example的实例函数及详解

    Java 程序员 后端

    MySQL没有RowNum,那我该怎么按“行”查询或删除数据?

    Java 程序员 后端

    mysql用户&权限总结

    Java 程序员 后端

    mybatis常用注解(绝对经典)

    Java 程序员 后端

    mysql分表spring拦截器进行日志采集

    Java 程序员 后端

    MySQL原理 - InnoDB引擎 - 行记录存储 - Off-page 列

    Java 程序员 后端

    MySql数据引擎简介与选择方法

    Java 程序员 后端

    MyCat1

    Java 程序员 后端

    MySQL入门篇

    Java 程序员 后端

    MySQL没有RowNum,那我该怎么按“行”查询或删除数据?(1)

    Java 程序员 后端

    MyBatis详解(二):mybatis开发dao

    Java 程序员 后端

    MySQL 千万数据量深分页优化(1)

    Java 程序员 后端

    MySQL最全整理,1200页文档笔记,从高级到实战讲的太清楚了

    Java 程序员 后端

    MyCat:第四章:Mycat中的概念

    Java 程序员 后端

    mysql-排它锁之行锁、间隙锁、后码锁

    Java 程序员 后端

    MYSQL-连接查询算法:JOIN语句在-MYSQL-内部到底是怎么执行的

    Java 程序员 后端

    MyBatis官方文档-XML 配置

    Java 程序员 后端

    MyBatis常用标签和注解(绝对经典)

    Java 程序员 后端

    mybatis映射器组件

    Java 程序员 后端

    MyCat教程【安装及配置介绍】

    Java 程序员 后端

    MySQL 事务隔离级别

    Java 程序员 后端

    MySQL 数据库开发入门(四):MySQL 的数据引擎

    Java 程序员 后端

    mysql常用函数,mysql进阶

    Java 程序员 后端

    独家专访ASF董事会主席Craig Russell:Apache之道——ASF20年成功秘诀丨二叉树视频_技术管理_二叉树视频_InfoQ精选文章