全球最顶级的AI开源项目之一是如何炼成的?

2021年,“鼓励企业开源代码”和“完善开源知识产权和法律制度”写入国家“十四五”规划。

开源,在这一刻,已经提到了真正意义上的“国家战略”高度,成为未来科技发展中不可忽视的一环。

所谓开源,是指软件开发完成后公开分享其源代码的行为,任何人都可以查看、修改和分发开源代码。

它是一种“集市文化”,任何人在这个“集市”中都可以对代码提出自己的意见,共同进入软件开发的过程。在中国互联网发展初期,开源迅速填补了中国技术与世界的差距,推动了互联网的蓬勃发展。

从开源的历史上不难发现,那些被认可和掌握了最流行的开源项目的人,后来成为了新标准的制定者,在未来技术标准、系统框架、和品牌效应。

如今,顶级互联网公司都在积极拥抱开源。

阿里开源贡献者超过20000人,开源项目超过1700个,在GitHub总企业贡献榜中排名第12;腾讯首个AI开源项目Angel于2019年12月顺利通过LF AI基金会,毕业后为Linux基金会旗下AI领域顶级基金会。此次顺利毕业,意味着它得到了全球技术专家的认可,成为了全球顶级的AI开源项目之一。

蚂蚁在云原生、数据库、前端、移动端等领域开源了800个项目,成长为国际范围内20个顶级社区明星项目。

百家争鸣,共同繁荣,中国也逐渐壮大了越来越多耀眼的开源项目。

近年来,中国开发者已成为全球开源系统的重要力量。公开资料统计显示,中国代码约占全球开源社区的40%。目前,全球6000万以上的开发者中,至少有2000万以上来自中国。

但我们也很好奇。与国外相比,中国的开源历史只有30年。这30年,有哪些人在默默推动开源环境的变革?

而从“一无所有”到“百花齐放”,中国又是如何逐渐走出自己的技术独立之路的?

本期微观故事找到了那些默默为中国开源进程做出贡献的程序员。我希望从他们身上看到中国开源30年的风风雨雨。

以下是关于他们的真实故事:

为了打造中国自己的数据库,赌上最宝贵的十年

让我们时光倒流到21世纪的第一个十年。

2010年,中国互联网迎来蓬勃发展,团购网站走红,网络游戏方兴未艾,中国网民规模首次突破4亿。

正是在那一年,国务院新闻办公室首次发布了《中国互联网现状》白皮书,互联网从此越来越走进公众视野。

展望今年,开源与开源带来的开放共建的“芭莎文化”在很大程度上助力了中国互联网的建立;3亿中国人带来的各种不同于西方互联网的诉求,暗中推动着技术独立的诉求。

这两种趋势的暗流在2010年看似平静的水面下汹涌澎湃,在看似平静的水面下已经开始浮现。

首先让人们感知到的是自建“数据库”的必要性。

在计算机领域,数据库是最基本的设施之一。任何软件的操作和用户的访问操作都会涉及到数据库的信息存储和操作功能。

它就像一个基础,为计算机上的软件使用提供最基本的底层架构。但当时顶尖的数据库来自美国,甲骨文的甲骨文数据库是使用最广泛的。

当年,网购平台淘宝网的同时访问量达到了100万。海量数据需要购买甲骨文庞大的数据库,支出惊人。

当时的阿里CTO王健算了一笔账,将1万亿GMV换算成数据量,再换算成IBM小型机、Oracle数据库、EMC存储所需数量,再换算成具体价格. 另外,为了拿到他们每年需要给IOE的200亿元采购费。

这笔钱甚至超过了他们每年赚取的利润。

从那一刻起,数据库的自建就被提上了日程。杨振坤奉命开启自建数据库OceanBase项目之路。

当时,业内五个领先的数据库中有两个是开源的。更简单的方法是直接修改和使用开源数据库的代码。但作为OceanBase的创始人,杨振坤拒绝这样做。

在加入阿里之前,杨振坤从事分布式系统的研发工作。加入阿里后,摆在他面前的有两条路:一是加入快速成长的淘宝业务团队,并负责技术。不过,杨振坤选择了另一条路:从零开始组建团队,搭建技术平台,搭建OceanBase数据库。

一方面,当时的主流数据库都是集中式和分布式的数据库,无法适应大规模、同步的数据访问。然而,当时淘宝的并发用户数已经达到了百万级。继续使用集中式分布式数据库将难以承载,而且成本非常高(集中式和分布式数据处理和存储通常位于高端服务器和高端存储设备上,成本非常高);另一方面,杨振坤也想做中国自己的数据库。

他提出了分布式数据库的想法:将数据库中的数据切成小块,放在多台计算机上。只要大多数计算机运行正常,数据就可以得到保护。

同时,由于硬件使用PC,成本也会降低。另一方面,他结合了数据库的两大功能:会计和数据分析。以往由两个不同的数据库系统来满足的功能,在杨振坤的建设中成为了一站式服务。型解决方案。

当然,这个想法很好,但要真正建立起来,至少还需要几年的时间,生意不等人。

杨振坤只能在这个系统的概念下,每次迭代一点点功能,一步步搭建整个系统。

他一个个跑业务部,终于找到了收藏夹数据库的需求。

用户在淘宝上输入收藏后,将检索数据库。收藏夹是用户常用的功能。以当时淘宝的用户数量来看,收藏涉及的数据非常庞大,使用Oracle的成本非常高。因此,它成为了业务部门的烫手山芋,而杨振坤可以证明OceanBase的开始。.

杨振坤接手这个需求,2个月做出模型,6个月投入使用。

此后,杨振坤的OceanBase逐渐证明了自己。从基本宠需求到2014年双十一甲骨文倒闭,OceanBase被勒令承担支付宝10%的交易流量,再承担支付宝100%的交易。杨振坤用了十年时间,终于建成了中国人自己开发的数据库。

这些数据的基础确实得到了巩固。

“在5大主流数据库中,MySQL是最新出现的。1996年,数据库领域这么多年都没有大的更新,因为数据库本身很复杂,需要很长的时间来构建,所以需要一些非常好的人。需要十年才能看到结果。

2012年,杨振坤来到蚂蚁集团。在支付宝海量数据应用场景的锤炼环境下,正式开启了OceanBase分布式数据库开发替换Oracle的长征。

但这不是故事的全部。数据库中的所有内容都必须用数据进行验证。只有验证越来越多的业务场景,大家才能理解和接受这个新的数据库。

经过十年的研发,至少需要十年的时间才能被市场接受。

2021年,OceanBase将开源并发布其内核。对于OceanBase来说,开源带来的越来越多的用户和越来越多的业务场景,可以帮助它更健壮地迭代,让大众更容易接受。

对于杨振坤来说,他还是有一点自己的“私心”:他希望中国的开源能够更加独立。

“开源意味着人们来去匆匆,才能建立社区。如果我们只是使用别人的东西,形成惯性,我们可能不想自己开发东西,这会导致我们没有自己的技术,成为我们的自己的。“由他人开源”。

我们在软件领域使用的很多核心东西,比如数据库、操作系统等,都来自美国。底层基础设施我们没有做太多研究,大部分开源应用都在上层应用系统上。这是不平衡的。我希望我们的开源能够逐步向产业链上游移动,走一条更艰难,但更有价值,更可持续的道路。”

在开源市场,完善一个新领域的底层设计

杨振坤搭建了原生分布式数据库,让数据库等基础软件可以承载中国10亿网民。

但互联网的繁荣,不仅需要基础,更需要适宜的土壤,还有可以在土壤上生长的五彩缤纷的花园。

合适的土壤,正是卡塔集装箱创始人、蚂蚁集团高级技术专家王旭想做的事情。

王旭很早就接触到开源,学生时代Linux被引入中国,自由软件运动也为这些学生所熟知。Source”,提出了自由软件的概念,进而逐渐演变出“开源”的概念。

Richard Stallman (RMS) 创立了自由软件基金会 FSF,主张软件是人类共同的精神财富,与牛顿定律一样,不应被公司圈套。

今天我们担心的是“具有传染性”的 GPL,这是 RMS 精心设计的永久保护开源代码的法律依据,开源社区正是在这种保护下逐渐发展壮大的。

可以说,开源从一开始就充满了理想主义。对于王旭来说,他的第一印象就是“好玩”。有了裸机,他就可以玩上几天再上网,反复尝试各种代码,在浩瀚的代码世界中遨游。

随着对开源的接触越来越多,王旭发现开源本身就是免费的、开放的、共建的,可以让软件迭代的更好。

作者 Eric Raymond 在开源著作《The Cathedral and the Bazaar》中指出:世界上有两种建筑。一是市场,每天开放linux下c实现的聊天室,从无到有,从小到大;这是一座大教堂,历时数十年建成并投入使用。

毫无疑问,开源是一种“集市”。当更多的用户参与其中并继续对其进行审查时,开源软件可以由于更多的用户反馈而获得更好的迭代。

王旭喜欢以开源为代表的“市场文化”。他撰写了有关玩 Linux 的电子书并翻译了许多文章。那时,他在心里种下了一颗种子,要创建自己的开源软件。

这个机会出现在 2015 年。

2014年,Docker(容器技术)逐渐被人们所认识。过去,在计算机上运行应用程序时,不同机器环境的差异总是一个非常棘手的问题,在程序中会发现一些或大或小的行为差异。

对于大型系统的运维来说,维护环境的一致性和保证应用行为的可预测性已经成为一个非常复杂和技术性的问题,自然是一个有价值的课题。

但 Docker 一口气从源头上解决了这个问题。它使用一个容器来封装代码、运行环境、系统工具、系统库和设置,就像一个jar,拿着这个jar,程序可以在任何操作系统上流畅运行。

图片[1]-全球最顶级的AI开源项目之一是如何炼成的?-老王博客

当时,Docker 喊出了一句口号:“Build once, RunAnyWhere”。它完全忽略了不一致的开发、测试和生产环境的干扰。

程序编写完成后,打包成镜像,可以在任何地方部署和运行。这对于当时总是要考虑运行环境、修复bug的程序员来说,是一个巨大的诱惑。

毋庸置疑,Docker 技术在当时的代码圈和程序圈都非常轰动,而王旭正是瞄准了这个机会。

同样在 2010 年代,随着互联网的发展,大量的程序正在走向云端。当大家都在尝试在云上部署应用,为云开发代码时,一个直接让软件不管运行环境如何运行的容器化环境,无疑会让软件开发更加强大。

如果将容器化与云结合起来,以后的应用开发者和用户将不再需要考虑从集群硬件管理到维护操作系统环境的一系列麻烦事。他们只需要确定需要哪些服务以及如何定义应用程序。就是这样。

底层的所有抽象都被剥去,成为园底适合所有植被生长的土壤。以后的人不用考虑土壤的问题,只需要考虑自己想要什么花草树木,就可以直接种了。这就是所谓“云原生”的初衷。

虽然这必然是未来的趋势,但是容器化和云的完美结合自然会导致一个矛盾:容器技术的安全隔离还不够,与云的结合需要很多额外的保护才能破坏简单。的美丽。

传统操作系统容器技术的隔离是指管理隔离。这并不意味着它运行时不会相互干扰,也没有安全风险。相反,由于同一操作系统上的容器共享大量状态,安全隐患难以消除。

在云上,它特别注意用户之间的隔离。它会假设每个人都是陌生人。不同的用户必须相互隔离,不能互相侵犯。

这不仅是一种趋势,而且由于孤立而面临困难。因此,王旭等人认为可以做一个软件来增强容器的安全隔离,做一个“安全的容器”。

但实际上,操作系统容器的安全性很难提升,学术界也有一些研究证明,容器和安全性之间存在着一个不易解决的死结。

当然正如 David Wheeler 所说,“在计算机科学中,所有问题都可以通过添加一层间接来解决”,容器安全也不例外。

但David Wheeler也表示,“这并不能解决间接层太多的问题”,增加一个额外的间接层会带来复杂性,不仅影响美观,还会带来滋生虫子的土壤。

后来,王旭等人想到了在主流云主机上使用并且早已被证明是安全的虚拟机技术,于是他们反过来思考了虚拟机技术是否可以定制成容器等轻量快速的结构,并基于这个想法,他们推出了 runV 。

这与英特尔的透明容器理念相同。两者使用完全不同的代码,以同样的方式解决云上容器的安全问题。这两个项目于 2015 年 5 月发布。

2017 年 9 月,王旭和他的团队与英特尔开源技术中心共同决定将两个容器合并,并放入 OSF 基金会进行管理。

2017年12月,Kata Containers项目正式发布,成为OSF基金会自2012年以来第一个新的顶级项目。作为联合创始人之一,王旭成为该项目Kata架构委员会的创始成员。谷歌半年后发布的 Kata 容器和 gVisor 被称为两种开源安全容器技术。

开源,对于王旭来说,是一件令人愉快的事情。这意味着在开源市场上,他不仅根据别人的代码进行迭代,还做出了自己原创的贡献。而且,由于安全容器是一个新的方向,需要更多的关注和更多的人参与。

“对我们来说,开源的好处远大于挑战。安全容器并不是一个强项,越来越多的竞争对手参与进来,被看到,让大家知道这个方向确实可行。,谷歌开发gVisor半年在我们开源之后,又过了半年,AWS(亚马逊云)也开源了一个新的安全容器相关的鞭炮项目,这些“竞争产品”对我们来说更多的是压力而不是竞争,但它更容易在云原生生态中获得上下游支持。”

对于王旭来说,开源不仅代表了软件的共建,还代表了一些文化属性。这是一个关于“人”的活动。

现在我们的开源产品越来越多,但是开源文化还处于比较早期的阶段。王旭还以TOC成员的身份与其他单位的开源工作者一起打造中国自己的开源社区——木兰开源。来自北京大学的周明辉,木兰开源许可证的作者等。木兰社区通过导师、项目孵化等多种方式帮助国内开源人士成长。

他希望通过自己的努力,中国的开源会越来越好。

2021 年,全球顶级开源基金会 CNCF 中国前 10 名贡献者中有 4 名来自蚂蚁集团,均为王旭团队成员。这四名技术学生主要参与了两个相互关联的开源项目,Dragonfly 和 Nydus。

从第一行代码开源,让中后台也能有不错的体验

当地基和土壤都准备好后,再往上走,你会发现花园里的花草。这些植被对应的是计算机领域,也就是上层应用系统。

应用系统五花八门,但如何让应用系统体验更好是一个普遍的问题。

这就是蚂蚁集团前端工程师Yian Right(花名)想要解决的问题。他专注于中后端体验领域。

2015年,开源社区出现了中后端设计系统的开源代码。这是一个“写第一行代码就开源”的项目。后来成为设计交互领域的顶级开源软件——Ant Design。

右边的印象是,前端开源界举足轻重的Sea.js项目核心开发者余波(花名)来到支付宝时,不仅带来了前端模块化开发框架SeaJS,同时也开启了开源项目运营的研发模式。

从 Sea.js 开始,所有代码、项目管理、问题跟踪、发布甚至文档都在 GitHub 流程下完成。这给右边带来了非常新鲜的体验。

当一个软件完全开源,吸引了很多开源社区的同学一起讨论和构建时,右边的人发现他对整个项目的理解通过小组讨论得到了扩展。

渐渐地,除了完善Sea.js整套项目外,他们还扩展了一套基于Sea.js生态的开源项目,尝试搭建自己的前端生态,也登陆了支付宝内部的早期业务.

开源从此烙印在支付宝前端团队的DNA中。

2014年,支付宝业务全在无线,前端团队解体。当时linux下c实现的聊天室,整个团队都面临着一个选择:转战移动端开发,还是留在PC端做前端开发。后者被选在右边。

中后台的前端,在当时是一个“不在聚光灯下”的概念。前端大部分专注于To C业务,前端大部分时间是艺术家和实现者。前端放在中间和后端。机会在哪里?

正是在自我反省和猜测的那一刻,负责支付宝中后台前端的宇博找到了前中后台结合,面向To B业务的方向。中后台庞大的业务量也迫使宇博从单点展示向系统化建设发展。

事实上,从当时的整个行业环境来看,前端也处于单点向产业化演进的过程中。

此前,前端多为小型零星项目,但在 2014 年前后,一些前端技术框架开始出现或流行,比如目前的三个框架 Angular.js、React、Vue。当时大家都在讨论前端会往哪个方向发展。

内部需求和外部需求的结合,让宇博、Right等人重新审视了前端的价值。他们找到了“体验”的方向,系统梳理了整个前端的呈现方式。

FaceBook 的 React 框架出来后,他们押注 React 并基于它开发了前端组件库,成为后来 Ant Design 项目的核心内容。

从这一点开始,他们所做的已经从工具转变为整个前端的体验和实践。

在此之前,前端一般都是做组件库、UI等功能性内容,但是从Ant Design开始,他们在设计软件的时候就整合了整个设计规范,并且高高在上,这样做出的设计就可以至少保证经验的下限。

纳入设计规范,直接改变了整个中后台的设计逻辑。

过去,支付宝没有统一的设计规范,他们根据要实现的功能制作功能组件,并将组件放入页面设计稿中,这使得这些组件通常不会被再次使用。

Ant Design 出现后,用户无需从头构建技术套件,即可拥有这些基本的套件体验,可以满足用户的基本需求。

Ant Design 提出了几个关键词:默认可用、默认好看、默认好用。功能简单易用,界面美观,提升用户体验。

“很少有人关注中后台的体验,但是中后台的体验同样重要。有设计规范,别说什么都90分,但能做到60、70在省时省力的情况下加分。分。”

想法很好,但是要实施起来,我发现有很多挑战:

当时他们是前端工程师团队,没有设计师。宇博为此成立了设计团队。

他们押注的React生态并不完善,工程环节也不完善,但业务将在下个月上线。时间不多了,Ant Design团队会深入业务,提供贴身服务和编写业务代码,最后把这块硬骨头在大量中后台设计需求进来后,还会涉及到设计要求的边界在哪里的问题,很多设计规范都设定了权利,以使设计行为系统化和标准化。

就这样,逐渐迭代,Ant Design终于成型,并且在开源到互联网后,也在一定程度上引领了业界对中后台体验的重视。

右边给我印象最深的是有一个See Conf会议,还有一个德国小哥的邮件想过来看看。在德国的时候,他看到了 Ant Design 的开源项目,对此非常感兴趣。他还帮助翻译和提出错误。后来得知他们在杭州,他还来杭州求学。他甚至不会中文,但他对科技的热爱把他带到了这个国家和杭州。

正是在那一刻,权利感受到了开源的力量。

“在做开源的过程中,我真的觉得地球是平的。Ant Design背后有一两千个贡献者,而这些ID背后可能是完全不同的文化、不同的公司、不同种族、不同的人我们的小众语言、键盘交互、残障人士友好的内容都由这些人补充,也正是他们的存在,让 Ant Design 能够适用于这个世界上更多的人,帮助更多的人。”

“在开源的过程中,感觉地球是平的”

自Richard Stallman提出开源概念以来,开源具有反抗权威的特点,体现了中国传统的侠义文化,成为开源在中国扎根的基础。

2010年前后,开源本身已经成为一个可以帮助商业化的渠道。一个公认的产品,积累了一定的用户和市场份额,会更容易向商业化过渡。

开放自由的氛围,反权威的侠义精神,商业化的道路,让越来越多的人愿意开源自己的产品,开源也越来越蓬勃发展。

从1995年清华大学成立的“水木清华BBS”,到1999年成立的CSDN论坛,再到讨论逐渐兴起的各种项目,MiniGui、SmartBoot Manager、LVS,再到开源大厂. 各种节目:

从杨振坤做的底层基础数据库,到王旭把握时代潮流解决难题的安全容器,再到宇博团队做的上层体验创新,每个时代的开源人都有拿出自己的精彩表现。

在中国开源20多年,我们从“取人”到“自己创造”。正是一个又一个技术人员的无声贡献,使我国走上了技术逐步独立的道路。

目前,开源已被提到国家战略的高度,技术改变世界,开源在其中不可或缺。

在中国的开源中,有杨振坤这样的科学家,也有王旭宇博这样的开源前辈。也需要无数像右边这样的后来者。每个人都在开源市场上集思广益,共同构建。只有这样,中国开源生态的百家争鸣。

【本文由投资界合伙人微故事授权发布。本平台仅提供信息存储服务。] 如有任何问题,请联系投资界(editor@zero2ipo.com.cn)。

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论