内容来源:2021 年 6 月 5 日,由 SegmentFault 思否主办的 2021 中国开发者生态峰会圆满落幕。会上,Amazon Web Services 首席布道师王宇博发表了《从亚马逊的实践看云与开源和社区的融合》的主题演讲。
分享嘉宾:王宇博,Amazon Web Services 首席布道师。
速记整理及发布:SegmentFault 思否编辑部
大家好,今天我的分享是关于亚马逊在开源领域的一些贡献与实践。
我相信大家对开源会有一些自己的理解和考量。那么今天我想从云计算厂商的角度来给大家介绍一下,我们是如何让更多的开发者能够在云上能够更快速、更方便、更安全的使用开源软件,并且帮助他们进行一些应用和部署。
其实不管是对于我们的客户,还是合作伙伴,或者是开发者,大家很多时候都是在关心我们如何把开源软件更快更好的应用起来。首先只有把我们这些开源工具应用好,我们才会在后续的实践中考虑如何向开源做进一步的贡献,如何向社区做一些贡献。
谁在关注开源?
作为亚马逊云科技这样一家云计算的云厂商,其实在背后做了很多工作。对于开发者来讲,关注开源的因素有很多,个人的兴趣爱好、个人品牌的宣传,以及职业生涯的发展。其实开源对于不同的开发者来讲有很多的吸引力,也促使很多的开发者能够围绕在开源和社区周围做很多的贡献。我们能看到很多的开发者在自己的职业生涯中,通过开源获得了很多影响力,从中使得自己,包括他所在的公司和他所在的社区都获得了不断的、茁壮的、蓬勃的成长。
对于企业来讲,也有很多企业在做进一步的开源。我这里有一组 Black duck 在前些年做的数据。目前在企业使用软件环境中,其中有 96% 的软件包含着开源相关的代码或者项目。开源已经越来越成为企业核心软件架构中非常重要的组成部分。而且使用开源也可以使我们企业能够进行快速的开发,快速的实践、快速的迭代,可以快速使我们产品面向市场为我们客户做出更好的使用和更好的帮助,让我们企业的创新能够进一步提高。
我们从开发者和企业的角度都能看出,企业和开发者都在不断的使用开源、拥抱开源,那么对于云计算厂商来讲,我们可以看到包括亚马逊云科技在内的很多云厂商都在积极的拥抱开源。其实云和开源,云和社区的融合也是非常大的趋势。这里我想引用一组数据,目前在全球前五家开源厂商之中,其中有四家是云计算的厂商。前十家中,占了七家之多。可以看到现在随着云计算和开源的不断发展,越来越多的云计算厂商也在拥抱开源使得我们在云上能够让我们的开发者能够越来越快速、便捷、安全的使用服务。
对于我们的客户和我们的开发者来讲,他们是怎么样看待云厂商的开源领导力的,这是我们做的一组调查:
其实这组调查不仅仅是针对亚马逊云科技的客户,同样也针对了很多没有使用亚马逊云科技服务的客户。从我们的调查结果来看更多的客户跟我们之前谈的一样,也是希望能够在云计算的环境中快速便捷的部署开源软件,使得开源软件能够迅速为企业、为个人提升生产效率带来实际的结果。当然还有很多我们的开发者也希望云厂商能够帮助他们提供一系列更好的途径来使用开源,同时也希望能通过云计算为开源做出更多的贡献。
其实从开发者和云厂商两个角度看,他们的目标大体上还是一致的,都是希望能够在云的环境中使得我们的开源软件快速、便捷的使用起来。
对于亚马逊云科技这种全球领先的云计算厂商来讲,其实也一直在关注开源领域。当然我们在开源领域的声音,相对于其他一些厂商来讲,似乎并不是非常强有力的声音。但是我们在背后做了很多努力来帮助我们的客户,来帮助开发者在云上进行开源软件的使用和部署。
亚马逊有一条非常重要的领导力准则,叫做客户至上,我们代表客户做了很多的创新。我们把一些非常难于在生产环境中进行扩展的开源软件在云上进行了便捷的部署。这使得我们的开发者只需要通过简单的云服务就可以在云端,快速便捷构建起来一套能够进行快速扩展的开源环境。同时我们亚马逊云科技也发起了很多一系列的开源项目来帮助开发者解决他们在生产过程中遇到的实际问题。
同时我们也构建起来一整套的社区体系,通过我们、社区的布道师和一些我们叫做‘hero’的朋友们一起来推动我们云服务和开源的进一步融合的同时也向社区做进一步的扩展。我们公司内部也有很多员工在参与开源,我们非常鼓励员工来进行相关开源软件的贡献、参与。当然,有些是项目相关,有些是员工的一些个人兴趣爱好。在亚马逊,贡献开源的工程师数量在逐年的提升。我们贡献的开源仓库数量目前在 Github 已经有 2500 个之多,涵盖的领域遍及基础的计算、容器、无服务器到数据、人工智能、机器学习、机器人等等。
我们在众多领域都在向开源社区作出不断的贡献。那么这里是亚马逊参与的开源项目的一些示例,这仅仅是我们参与项目的一小部分。
我们对很多的开源项目都做出了贡献和参与,我们也通过不同的途径来支持一系列的开源的技术项目。比如说,通过一系列的资金支持和云服务的使用支持来帮助我们的开发者、帮助社区,快速的在云上构建起来种参与应用,同时我们也通过一系列的招募人员、开发项目的方式来增加我们对开发者,对构建者的支持,使得整个亚马逊云科技构建一个开发者开源体系。
亚马逊云科技对于开源的领域贡献主要集中在两方面。第一方面,我们希望通过亚马逊云科技提供一系列的云服务来帮助开发者在云上快速的、安全的、便捷的使用开源软件。第二方面,我们也发起了一系列众多的新开源项目来解决客户的实际问题。这张图阐明了我们面向第一个领域,为大家如何在云上快速实现开源构建的一系列努力。
大家知道亚马逊云科技目前提供了 200 种全功能的服务,其中很多的服务都是跟开源相关的。我们帮助开源软件在云上进行安装使用部署,这让我们的开发者可以在云上进行便捷的开发和实践。例如说,在云上面,我们可以便捷的使用像 Cassandra,FreeRTOS、Kubernetes 等软件,同时我们向其中增加了大量的可观察性,可管理性以及安全监控措施,这使得我们在面向生产的环境中可以利用开源进行方便快捷的生产及部署。另外,我们也把很多全新的开源项目,以云服务的方式包装并且发布,这使得更多的客户可以在云中的快速体验相关开源带来的优势。例如说基于 FireCraker 的 Lambda 是我们非常领先的无服务器计算的能力,通过云服务让最新的开源能力在云服务上有更好的体现。
我们参与并且贡献了哪些开源项目?
第一个当然是 Rust,它是目前非常流行的一门编程语言。其实我们早在 2019 年就开始赞助 Rust 开源项目,目前的很多的 Rust 主要贡献者都在亚马逊云科技工作,包括我们在去年招募Rust团队编译器的主要的负责人之一 Felix Klock。他也加入了亚马逊云科技。目前我们很多的云服务包括包括 Amazon S3, Amazon EC2, Amazon Route53 等,都开始加大用 Rust 进行构建的比例,同时我们也用 Rust 构建了很多的新服务。通过一系列的人员配备和产品提升来 Rust 产品在云服务的使用,同时也为丰富社区提供了更多的帮助。而对于开发者来讲的话,我们今年推出的亚马逊云科技的 sdk for Rust 方便更多的 Rust 开发者可以使用原生的 Rust sdk 来进行云原生应用程序相关的开发与实践,这是我们在 Rust 领域相关的一系列的贡献和使用。
第二个是图计算领域。那么图计算在开源领域有 Apache TinkerPop,它是开源的图计算框架。目前我们亚马逊云科技的工程师在 TinkerPop 中是担任 PMC 主席,这为社区的发展的提供了很多能量,同时我们还不断的跟开发者社区进行互动。我们有工程师几年来在持之以恒的为社区的图计算进行多种布道工作,包括 Practical Gremlin 在线资源来帮助更多的开发者使用图计算框架 Tinkerpop。同时,我们亚马逊云科技也推出了一款云端全托管的服务,叫做 Neptune。它本身与开源的 Tinkerpop 兼容,同时借助云服务为大家在云端构建图应用提供了非常便捷的能力。另外我们也收集到了很多开发者对产品和领域的反馈,我们也在通过我们的云服务不断向我们的开源社区进行反馈,进行错误相关的修复,同时增强相关的功能,通过云进一步向开源社区进行相关的产品反馈,这让云和开源社区的互动越来越多,越来越好。
第三个是搜索领域。多年来,我们在不管是亚马逊电商平台,还是搜索平台,都使用了很多的开源技术,Apache Lucene 是使用非常多的搜索技术之一,现在在亚马逊的电商平台,或者在 Alexa 的语音引擎中,很多搜索技术都是使用开源的 Lucene 进行构建的。当然在 Lucene 的构建中,其实我们也增加了很多的新的功能,包括如何在面向大规模并发的复杂情况下,使得搜索更加有效。我们也不断的在这个层面向 Lucene 的进行代码的更新和底层更改,使得 Lucene 成为繁重工作的理想选择。另外,我们也向 Lucene 的开源平台中提供了一系列的新功能,比如说把行为信号纳入搜索排名,就是在搜索到一个产品之后如何进行下一步操作,这也是 Lucene 社区多年以来关注的问题。因此,我们向 Lucene 社区中的提供的叫做索引自定义术语频率的这种能力,使得我们向开源的贡献进一步的提升,使不同的开发者获得更好的使用。
第四个是 Redis 领域。我们在 Redis 也有很多年的贡献,目前来讲 5 个 Redis 维护者之一是在亚马逊工作的。在 Redis 中,我们贡献了很多跟加密相关的功能。多年以前,Redis 本身不支持加密,当时亚马逊的工程师提出了 PR,希望能在 Redis 里加入了一系列的 TLS,包括 SSL 加密功能。我们添加了这些功能并且获得了批准,使得 Redis 安全性有了进一步的提升。通过我们开源和云服务的结合,也使得越来越多的公司能够使用开源和云进一步融合来帮助他们大规模的部署 Redis 解决方案,如我们典型的客户 Airbnb,它本身是有非常庞大的 Redis 集群。但是从自建的数据中心向云服务进行迁移的过程中其实有几个不同的过程。首先他从本地的数据中心先迁移到了 EC2 平台之上,希望能够借助本地工程师的管理经验,迁移到云端利用云服务的弹性资源扩展优势,来扩展的缓存的架构。但是随着缓存集群的进一步扩展,它发现对集群的管理配置操作是一件非常耗时和耗费人力的过程。因此,他把所有的缓存应用最终迁移到了托管服务叫做 ElastiCache上。通过托管服务,不仅仅能够使用到众多的开源项目带来的优势,和开源完全兼容,同时也极大的解放了生产力。使得管理维护的工程师再也不需要对底层的架构进行安装,维护和管理,能够解放精力,把上层 Redis 应用做得更好。也是云能够帮助客户在开源领域中能够进行进一步提升的很重要的体现。
当然了,包括 Amazon Hudi,它本身也是在我们的托管产品中 Amazon EMR 中的功能。目前的我们的工程师也是其 PMC 的成员。我们也在 Hudi 中进行很多的贡献,包括 Hudi 的引导支持,Hudi 的文件列表和查询规划等等。通过 Hudi,来极大提升读取 S3 文件列表能力。
对于机器人行业来讲,ROS 是非常重要的机器人软件,用开发框架 Amazon RoboMaker,会帮助很多的开发者在云端的进行 ROS 扩展,方便他们进行构建更好更快的机器人的应用。目前亚马逊是 ROS 技术指导委员会以及 ROS 2 的相关工作组的成员。而且我们在 ROS 最新版本 ROS 2 中贡献了很多新的特性,错误修复和可用性的改进等等,同时提供了更多的安全功能,使得开发者可以更快速,便捷,安全的来开发机器人相关的应用。
以及在 Kubernetes 领域,我们本身是 CNCF 的白金会员,对很多的 Kubernetes 的项目进行了贡献,例如说在 Kubernetes 的容器网络接口 CNI。在 SIG Security中,我们是第二大的贡献者。另外,我们还为很多的安全性、可观测性和可管理性做了很多的贡献。Kubernetes 已经在很多的生产环境中,进行了众多的部署。但是生产环境如果进行 Kubernetes 环境的部署构建其实要考虑东西很多,并不仅仅是平时更关注的一些功能特性和改进,另外安全性和管理性,也是非常重要的话题。
因此,我们在托管服务 Amazon EKS 中为这些安全管理功能做了极大的增强,同时也把对安全性的一系列功能反馈到社区中,这让我们开发的代码和功能能够为众多的 Kubernetes 客户得到应用。不管使用了亚马逊云科技的托管服务,亦或是在其他的云厂商,或者是在本地环境中的都可以使用到这一系列增强的安全性、管理性相关的更新,这帮助了客户能够在生产环境中进行更好的开发部署。
我们在其他领域也有很多贡献,包括在网络领域、自动化的分发收集领域、度量领域,我们也都有众多的贡献。我们在 Kubernetes 领域也有很多的创新。例如说,
- 如何在基于 Arm 的架构上来运行 Kubernetes 集群,优化成本
- 如何在 Kubernetes 集群中进行快速的、机器学习模型的部署和调用
- 如何进行一系列虚拟机,gpu 和 Kubernetes 集群的兼容性插件互操作
在这些领域,我们也做了很多代码贡献。通过对 Kubernetes 一系列不断的更新使得在 Kubernetes 在易用性,安全性有了进一步提升,也使得亚马逊云科技能在 Kubernetes 领域获得了核心的领导地位。
刚才我们谈到的是第一部分,我们如何通过云服务来加速开源软件的使用,安装,部署和管理。下面,我们来看一些亚马逊发起的开源项目。
我们很多的开源项目并不是凭空设想或者发明出来的,它们都是源于客户的需求。但是有的时候客户只知道远景的目标,并不知道具体需要什么相关的开源产品。因此亚马逊就会代表客户进行创新,推出一系列的新开源项目,来满足客户不断增长的开源产品需求。我们发起的开源项目遍及众多领域,涵盖从数据库,数据分析到机器学习,从计算到前端开发,从无服务器到开发工具以及安全等等。我们在众多领域都发起了一系列的开源项目来帮助我们的开发者解决更实际的问题。同时也吸引开发者来进行进一步的互动来推动云计算,开源和社区的融合。
其中最新的项目的叫做 Babelfish for Aurora PostgreSQL。这是在去年年底的亚马逊 re:Invent 2020 发布的新的开源项目,它其实是解决很多客户从传统的商用数据库向云端的开源数据库进行迁移的问题。大家知道,迁移是非常复杂的过程。除了要迁移底层的数据库之外,另外的也要考虑到上层的应用最好能够在不改变,或者是极少改变代码情况下进行一次性的迁移,Babelfish 就是这样的开源产品。通过 Babelfish 提供了透明的转换层,来帮助应用向 PostgreSQL 上进行便捷性的迁移,帮助客户在云端甚至是在本地更好更快的使用开源数据库来降低成本,提升易用性并且向开源社区做出全新的贡献。这个开源项目会即将在今年下半年的正式在 Github 上上线,除此之外还有一些其他项目。
第一个是亚马逊推出的 JDK Amazon Corretto。众所周知,Java 目前在许可证领域有一系列问题。因此我们推出了 Amazon Corretto 产品来参与到 OpenJDK 社区中。我们目前也是 OpenJDK 社区的领导者和合作方。在 Amazon Corretto 之上我们也提供了很多的新能力,包括增加 Java 上加密事物的性能,为 Arm 体系架构优化来帮助开发者使用开源 JDK 来构建更好的商业应用,或是开源应用等等。同时我们也在不断的为 Amazon Corretto 提供无限量的免费安全补丁。我们在 Java 领域也有很多的投入。Java 之父 James Gosling 目前也是在亚马逊云科技担任杰出工程师,负责包括很多产品相关的开发。包括 Corretto,甚至是包括也是在去年年底发布的 Greengrass 2.0 等一系列开源软件,为我们一系列的开源开发提供了非常宝贵的指导意见。
其实对于开源项目来讲,人员始终是非常重要的因素,我们亚马逊云科技也非常重视对开源领域人才的招揽,我们有很多的工程师和合作伙伴是非常非常优秀的开源专家和人才。
另外一个开源项目是 Firecracker。它是基于 Apache2.0 许可证的开源虚拟化技术,兼容多种能力。一是容器化的安全管理能力,另外是容器的速度和性能。在 Firecracker 之前,在容器领域,如果要兼容两方面能力其实是非常困难的。而通过 Firecracker,可以兼顾两方面,为容器虚拟化,包括无服务器的应用都提供了非常良好的帮助。刚才谈到了我们目前的云服务,也使用了很多种 Firecracker 相关的技术,使得大家可以直接使用我们的开源产品来构建应用。
对于 Firecracker 来讲,我们并不是仅仅把它作为开源项目,而是希望打造包括开发者,包括合作伙伴一整套生态体系,来方便社区,方便开发者来快速便捷的使用。例如说,在北美地区我们有合作伙伴叫做 Weaveworks。它本身也是在容器、无服务器领域非常知名的创业公司。他们基于亚马逊的开源产品做了很多开发,比如说他使用了开发的 eksctl 工具,目前的成为我们 Amazon EKS 官方的接口;构建了基于 Firecracker 的 Ignite 产品,来进一步进行无服务器和容器化的开发和管理。同时通过生态合作扩大了开发者的使用范围,使得我们的开源产品有更好迭代的同时,也不断扩大了朋友圈。
另外还有我们在 Linux 操作系统领域的 Bottlerocket。通过 Bottlerocket,专门构建的 Linux 开源操作系统来进一步提升系统的安全性和灵活性,帮助开发者来处理不同的事务。在 Linux 领域,我们贡献了的开源产品有很多,除 Bottlerocket 之外,还有 Nitro Enclaves,来进行更安全的虚拟化的隔离,为各个行业,比如说金融行业等一些典型的数据敏感领域也提供了更好的安全体验。它可以跨多个操作系统和处理器的体系架构,进行虚拟机的 hypervisor 管理,同时它建立开放的标准和接口之上,在一系列的环境中可以构建标准接口来进行环境的重建和部署。
我们也希望能够为开发者提供更多的工具。在之前推出 CloudFormation 的基础上推出了全新的工具,叫做 CDK, Cloud Development Kit,它是百分之百的开源,可以帮助开发者利用基础设施即代码的方式来进行动态部署和资源的可重用。通过一系列的工具可以帮助开发者来自由的查看使用分发相关的代码。同时,这个项目其实是有众多的工程师,尤其是社区的工程师进行贡献的。项目 48% 的贡献是来自于社区驱动的,使产品从设计之初就获得了众多社区合作伙伴的认可。也使得产品在众多开发者中的得到了非常良好的认可。
另外是 OpenSearch,这个开源产品其实是在上个月刚刚推出的,基于 Apache2.0 的开源搜索和分析套件。因为大家知道 Elasticsearch 在今年年初的时候改变了 license,从 Apache2.0 改成了 SSPL。这对众多的开发者在云端使用 Elasticsearch。其实提供了非常不友好的协议体验。因此我们决定重新使用 Apache2.0 来构建一套开源软件。因此我们 Fork 了 Elasticsearch,继续使用 Apache2.0 来进行相关的开源的分发和部署。同时,我们也增加很多的新功能和核心能力。目前 OpenSearch 已经正式开源出来,也希望我们的社区和开发者能够参与进来为更加开放的搜索平台提供更为良好的成长氛围以及环境。
对于一系列的可观测性,我们也发布了自己的发行版,Open Distro for OpenTelemtry。来进一步为上游的可观测性,增加一系列相关的功能,提供一系列的 API 和 SDK 的规范。同时为上游提供众多贡献。
亚马逊云科技是 CNCF 主要的合作伙伴,在很多层面都有合作,包括Kubernetes、Prometheus 和 Envoy 等等。同时我们也希望能够把更多的 CNCF 开源项目带到云环境中来为开发者更多的使用的提供可能性和便捷性,同时我们也为CNCF项目进行了很多的贡献,包括 etcd nanny,cdk8s 等等。同时,我们也在持续的为一些 CNCF 的上游项目进行贡献。刚才也谈到了,包括对 Kubernetes 做的很多的贡献。
亚马逊云科技在开源领域做出了很多的贡献,我们的驱动力其实是来源于最终客户的。我们是秉持的客户至上理念,客户希望在云环境中快速便捷的使用开源软件,客户希望在开源领域有产品创新。因此,我们代表客户进行创新来发起了更多的开源项目,以及更多的开源云服务。面向客户的需求使得我们能够更贴近市场,听取开发者的声音,开发出更好的云产品和开源项目来回馈给大家。
我们在内部有很多的开源贡献者,这里我举几个例子作为代表,可以看到我们的开源贡献者其实很多也是女性的开发者。通过一系列开发者的努力,亚马逊的开源贡献越来越多,越来越大,也吸引到更多的开发者来参与贡献到社区之中。
另外,我们也在不断帮助开源社区进行成长。Drupal 是非常流行的社区,目前已经支持了 55 万多个网站,有 130 多万社区和很多的开发者。目前它是构建在亚马逊云科技的平台之上,我们也为 Drupal 社区的蓬勃发展贡献了很多。回想到 20 多年前,当时开始创业的时候,它本身是使用开源的 MySQL 构建的,但是随着用户数量的不断提升,他发现进行 MySQL 的扩展是非常困难的。有很多选项需要调整,需要考虑到很多节点之间的通信,和很多的扩展细节。因此在不断发展实践过程中他们开始使用亚马逊云科技的服务,通过云服务快速弹性伸缩的特性,可以极大的节省成本,同时进行弹性的容量提升,使得云服务和开源软件强强联合来支撑起来目前几百万的用户,社区和几万个用户参与者的庞大开发者的生态平台。
我们也在不断的帮助开源公司进一步成长。大家知道亚马逊云科技有叫做 Marketplace 的第三方市场。很多第三方的开源公司都可以把他的开源产品在我们的 Marketplace 上线。我们可以和开源公司进行紧密合作来帮助他们进一步投向市场。因为不管是商业软件公司还是开源软件公司,尤其是开源软件背后的运营公司,肯定是需要有盈利手段的。因此,我们希望的能够把开源的市场做大做强,能够和众多的合作伙伴的来分享这方面的成果。通过 Marketplace 可以进行很好的合作,使得云和开源的强强联合有了更多的可能。
当然我们也帮助很多的客户来构建起一系列开源项目的优秀实践。例如 Lyft,众所周知他目前也做了很多的自动驾驶相关的工作。它背后是在亚马逊云科技的平台上构建起的 envoy 平台。亚马逊的工程师和他们做了很多合作来帮助他们如何在 EC2,包括 Kubernetes 平台上快速扩展 envoy 平台。我们和 Lyft 的工程师一起做了很多的贡献,包括 NETFLIX 也一样,他本身会有开源的 Spinnaker 产品。在和 NETFLIX 合作中,我们的工程师也不断发现 Spinnaker 中的错误,于是我们的工程师也参与到这个开源项目中,做出了很多的代码贡献和性能改进。
我们也有很多的资金支持的来帮助各种各样的基金会扶持开源和社区的成长。另外我们也希望有更多的产品来帮助客户使用开源。从传统的商业许可证的软件迁移到使用开源许可证的软件。例如,Database Migration Service 服务帮助向开源数据库进行迁移等等。不管使用开源的云服务或者在本地基础架构构建开源,我们都提供了相关的工具来帮助向开源的快速迈进。
我们也为开发者和社区提供了一系列舞台。亚马逊云科技也有开发者的专家项目,有两个等级,第一是 Hero,目前的我们在国内的 Hero 相对还比较少。我们也希望能够和众多的开发者合作在国内快速的构建起生态系统。如果大家对技术,对某个领域擅长,希望能够在更多的场合来公开演讲如何使用云服务产品,来构建开源或者使用开源进行解决方案落地的,都可以来报名参加我们的项目,在我们活动中的不断提升影响力。如果大家觉得 Hero 还是有一定难度,那么我们还有第二个项目,叫做 Community Builder。Builder 们在社区中和大家进行广泛的交流互动,为大家分享知识,提供相关的技术资源的指导,带动社区的蓬勃发展。
对于云服务和开源来讲,其实大家都可以看到目前是融合和发展的趋势。云计算进一步推动了开源的发展,而开源也使得越来越多的开发者的来使用云计算构建应用。云和开源,其实是一个非零和的游戏,我们共同的希望是能够把市场做大做强,使得更多的开源项目,开源厂商,更多的云服务商能够在越来越大的市场中都能够找到合适的定位,能够为开发者的提供更多的选择。因此,我们也希望能够和更多的中国开发者们一起把开源做得更好,做得更强。
最后我想说,开源不仅仅是中国的,它更是全球的。更希望开发者们能够站在全球的视野,来看待开源和贡献开源。希望能够通过我们的技术影响力来使得遍及全球的开发者都能够从中国开发者的贡献中获益,也希望中国的开发者能够越来越多,越来越好的把影响力来扩展全球。
谢谢大家。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。