厦门网站建设 首选猴子网络,爱做的小说网站吗,百度广告点击软件源码,优质的菏泽网站建设文 | 一君出品 | OSC开源社区#xff08;ID#xff1a;oschina2013#xff09;上月底发生了两件开源语言相关的大事。一是 JetBrains 牵头成立 PHP 基金会#xff0c;希望能确保语言的长寿和繁荣。二是 Rust 审核团队集体辞职#xff0c;理由是 Rust 核心团队造成了“寡头… 文 | 一君出品 | OSC开源社区IDoschina2013上月底发生了两件开源语言相关的大事。一是 JetBrains 牵头成立 PHP 基金会希望能确保语言的长寿和繁荣。二是 Rust 审核团队集体辞职理由是 Rust 核心团队造成了“寡头政治”。近年来由于各个大厂的押注Rust 风头正盛但是由于其过高的学习成本、替换工程巨大等等原因实际上是叫好不叫座。再加之最近社区陷入混乱不免让人怀疑 Rust 是否真有其背后的“金主爸爸”们说的那么好反观 PHP虽然常常被唱衰但使用率基本稳定在前十而且随着新版本的发布、基金会的成立反倒是一派欣欣向荣之象。而单从社区治理的角度来看两个语言社区的风格与发展也是截然不同。本文分成上下 2 篇分别聊聊 Rust 和 PHP 的社区发展。Rust 救急2006 年编程语言界正是各个语言割据争霸的时候也有许多工程师抱着“自己写一个编程语言”的梦想进入战场。Rust 之父 Graydon Hoare 正是其中一位。Graydon Hoare 作为职业编程语言工程师工作日常是给其他语言开发编译器和工具集参与过 GCC、Clang、Swift、Tracemonkey 等许多编译器项目但他并没有参与这些语言的设计工作。这样的境遇让他萌生出开发一个属于自己的语言的想法。Graydon Hoare 认为那些为开发者所熟知的语言的优点并不能使其成为一门应用广泛的系统语言而且部署在语言中的内存模型也不够安全且非并发。在他看来环境已经发生变化互联网高度关注安全性和并发性所以那些青睐于 C 和 C 的设计方式也应该不断发生改变。他想做出一个能兼顾安全的、好用的语言。埋头三年最终他在 2009 年向上司展示了自己业余时间的研究成果——Rust。自然界有种叫做“锈菌Rust Fungi”的真菌寄生在植物中引发病害被称为“本世纪最可怕的生态病害”之一。锈菌的生命力非常顽强生命周期内可以产生 5 种孢子类型而且还能互相转化。Rust 语言 logo 上的 5 个小圆圈便是对应 5 种孢子指代 Rust 语言“鲁棒性超强”。此外“Rust”在字形组合上也糅合了“Trust”和“Robust”暗示了“信任”与“鲁棒性”。Mozilla 对 Graydon Hoare 的工作成果非常感兴趣对 Rust 寄予厚望希望它能比 C 提供更好的并发性安全性和易用性甚至将其作为浏览器堆栈重构长期项目的一部分。2010 年左右Mozilla 的研发团队在 Firefox 的开发过程中遇到了瓶颈。Firefox 底层实现主要用 C 编写尽管团队拥有最佳的实践经验和丰富的工程技术人才但是在编写浏览器内核这样拥有如此复杂的高性能、并行化和内存安全要求的代码时仍然很容易出错。据统计Firefox 中有超过 70% 的漏洞与内存安全有关。而 Rust 恰恰可以弥补这一漏洞。虽然 Mozilla 看重 Rust 在技术上的种种优势组建专门团队继续开发但这并不代表他们对于开源语言社区的治理有足够经验。据之前 Rust 核心团队成员、Mozilla Research 的资深研究工程师 Brian Anderson 透露他曾从事 Rust 编程语言方面的工作 6 年。在 Rust 团队时无论如何 Rust 总是人手不足“我记得当时对此很生气我们如何在如此少的全职工程师的情况下与 Google 和 Apple 竞争”解决问题有两个路径一是培养多元化的贡献者社区但用 Brian Anderson 的话来说“这是一个缓慢且不确定的过程”。另一个方式则是靠实习生。当时 Mozilla 内部负责 Rust 开发工作的核心人物还有戴夫·赫尔曼他是一名编程语言理论学者也是一名宏专家更是公司内部职位最高的 Rust 信徒。他曾为 Rust 团队向公司申请资源和人员同时还凭借自己在学术界的声望为 Rust 团队招到了许多实习生开发者。Brian Anderson 回忆道“一个值得赞赏的事实Rust 主要由学生创建其中许多人在 Mozilla 实习。”Rust 社区活动来源https://www.rust-lang.org/zh-CN/community然而实习生组成的团队虽然解决人手短缺的问题但随着实习期结束团队换血会更加频繁。并且在这一阶段Rust 的核心成员几乎都来自 Mozilla 内部这似乎也奠定了 Rust 团队“寡头政治”的雏形。Mozilla 断臂Rust 在 Mozilla 的滋养下成长了 11 年。直到 2020 年 8 月 11 日Mozilla 宣布将决定重组公司并裁员约 250 人其中就包括 Rust 项目和 Rust 社区的活跃成员。Rust Core 团队随后公开表示“Rust 项目没有危险”紧接着又发博客详细说明博客中承认了裁员风波对 Rust 是有影响的“可以理解的是这些裁员对 Rust 项目本身的影响产生了很多不确定性和混乱。”Rust Core 团队提到几点重要信息。一是 Rust 有来自不同背景和雇主的领导者和贡献者这种多样性是一种重要的力量。而且 Rust 团队的成员资格是授予个人的并且与雇主无关所以即便是被裁掉的员工也依然有 Rust 团队的成员资格。二是一个普遍的误解——所有参加 Rust 领导的 Mozilla 员工都把这个当做了他们工作的一部分。实际上Rust 领导层中的许多 Mozilla 员工都是在个人时间内为 Rust 做出贡献的而不是做为工作的一部分。但是 Rust Core 团队也提到有些人可能会选择减少他们的参与“我们了解并非所有人都能继续做出贡献我们将完全支持他们的决定。”为什么 Mozilla 会选择裁掉部分 Rust 团队员工或许从 Mozilla 的转型方向中可窥见一斑。在名为《改变世界改变 Mozilla》的公开信中Mitchell 透露公司在 2020 年之前已经做了很多规划包括对新产品的投资但 COVID-19 的全球大流行完全影响了他们的经济状况这些计划不再可行裁员也因此变得更加必要。与此同时在 Mitchell 看来Mozilla 的组织结构在过去很长一段时间以来都不是很恰当为了“创造新的产品创建更好的互联网”组织需要进行大的重组以确保财务状况的长期稳定。除了对产品对技术和对社区的更多关注外Mozilla 现在也强调 “focus on economics”。公开信指出“一切都是免费的”这种旧模式会带来不好的后果应尝试探索不同的商业机会做价值交换。“提倡为公共利益创造经济价值的模式”也正是 Mozilla 宣言里的一部分。Rust 作为 Mozilla 免费向外界提供的开源语言很难从实际上给 Mozilla 带来可观的经济收益。Mozilla 接下来的动作便是似乎希望 Rust 至少能通过社区自给自足。自省与求变在 Mozilla 裁员的催化之下Rust Core 团队做了两件事情。一是 2020 年 8 月 18 日Rust Core 团队宣布计划和 Mozilla 创建一个 Rust 基金会并称从 2019 年其实就已经开始调研有关 Rust 基金会的想法了。紧急成立基金会当然还是为解决燃眉之急“随着项目规模、采用率和成熟度的增长我们开始感受到成功的痛苦。我们已经制定了法律和财政需求而我们目前的组织缺乏能力来满足这些需求。虽然我们在 Mozilla 的帮助下成功了很长一段时间但我们已经到了一个很难在没有合法名称、地址和银行账户的情况下运营的地步。‘Rust 项目是怎么签约的’已经成为我们不能再拖延的问题了。”前期基金会的搭建工作是由 Rust Core 团队挑选出成员组成一个项目组推动成立基金会的工作。筹集近一年后2021 年 9 月Rust Core 团队宣布由华为、Microsoft、Google、AWS 和 Mozilla 作为创始成员的 Rust 基金会Rust Foundation正式成立并将于美国东部时间 2 月 9 日下午 4 点举行第一次董事会会议。基金会成立之后与 Rust、Cargo 和 crates.io 相关的各种商标和域名都将转移到基金会中基金会也将为它们所产生的费用承担财务责任。尽管 Rust Core 团队还表示他们不会过分依赖单一赞助商但基金会的成立反倒也引起了社区对于“大企业垄断”的担忧。此前在 Rust 社区有人推测AWS 在试图“接管” Rust具体表现在作为 Rust 基金会创始成员的 AWS 雇佣了多名 Rust 维护者和贡献者。但换句话说Rust 适用场景天生就是对安全性需求高而且完成 Rust 对 C 语言构建系统的替换并非易事这便使得其用户群本就集中在大企业。Rust 和大企业英雄惜英雄的情况下走得近些也就很自然了。另外Core Team 自身也在今年 9 月做了一轮小范围内的换血。 Core Team 发布了一篇博客坦诚在 Rust 项目的早期核心团队的组成几乎完全由 Mozilla 员工组成全职在 Rust 上工作。随着 Rust 的发展以前在 Mozilla 工作的人离开了新工作新人出现了。许多新人并没有全职从事 Rust 工作因此集体时间投入减少。目前Core Team主要由志愿者组成没有 Core Team 成员全职从事 Core 团队的工作。 迄今为止Core Team 本身的运作方式仍然是个大谜团。无论是在 Rust 的官网还是在基金会Core Team 的介绍只有短短几行权利描述成员如何选拔、责任如何等等都看不到。当然其他团队的介绍也同样简单。就连 9 月的 Core Team 换血也是未经公开决策的直接任命“今天宣布对 Core 团队的成员进行一些更改Ryan Levick、Jan-Erik Rediger 和 JT 将加入 Core 团队。”然而开发者对于近期 Rust 社区的改变并不买账。一位在 Rust 社区呆了 6 年的开发者发文痛斥 Core TeamCore Team 成员种种拒不配合、粗暴打压的态度证明他们完全是把 Rust 当成了自己的专属品、甚至是豢养的“宠物”。这是个完全自利的团体只会坚定维持自己的派系、实施自己的目标头脑中压根没有组织利益或者合作之类的概念。我个人希望 Core Team 的成员们辞职并彻底解散整个 Core Team。不过近日 Linux 内核正添加对 Rust 作为第二语言的支持。Linux 内核和 Rust on Linux 的主要开发者 Miguel Ojeda 近日向 Linux Kernel 邮件列表提交了一个新补丁 (v2)进一步推进了 Rust for Linux 的工作进展。Ojeda 透露继 Arm、谷歌和微软之后红帽方面也表达了他们对该项目的支持意向。可见Rust 的实力还是不容小觑作为语言界近几年的“新宠”也期待 Rust 的社区治理也能越来越好。