老王 发布的文章

引言

最近,我听到了一个消息,蚂蚁金服将会开源 SOFA最核心的两个组件——分布式事务框架和服务注册中心

熟悉中间件的朋友们都知道,这两个组件都是针对当前最火的微服务架构。其中,分布式事物框架是解决数据一致性问题的关键。服务注册中心则是服务治理的基础。在这两块开源后,SOFA 将成为一套真正完备的分布式解决方案

作为开源人士,我对此消息深感兴趣,因此联系到了蚂蚁金服中间件团队的杨冰总监,就此消息向他求证。机缘凑巧之下,杨冰花费了宝贵的时间,和我深入讲述了 SOFA 开源的思考,以及近期的规划。

通过这次交谈,也让我看到了一个成功的商业公司是如何拥抱开源、并将开源作为其根本战略来撬动技术红利,支持其急速发展的业务需求的

以下是正文,我将它分享出来以飨读者。


如今,开源已经成为主流,可以说,整个信息产业已经从过去的闭源模式转换为现今的开源模式。各种开源公司纷纷创新不同的开源模式,其中以 RedHat、Google、Facebook 等公司所取得的成绩最为耀眼。2018 年的时候,我曾经参与“开源社”主持的《2018 中国开源年度报告》的撰写工作,并建立了一个数学分析模型,以此来对中国的互联网公司的开源项目分析其活跃度和健康度。让我既感意外,也不意外的是,阿里系的开源项目占据了活跃度排行榜前五的第一、第二和第四;甚至在前五十个项目中,阿里系的开源项目占据了超过一半的份额!我不意外的是,业界一直对阿里在开源方面的动作和力度颇有感受;意外的是,这种力度还是超乎了我的想象。这其中包括阿里巴巴集团和蚂蚁金服等都贡献了相当可观的开源项目。

因此,这次遇到杨冰时,我就开源方面和他深入聊了几句,想了解一下蚂蚁金服是如何思考开源和践行开源的,是如何将开源与公司的商业价值有机地结合起来的

缘何开源

作为一家商业公司,宣称自己开源,甚至也形式上开源一些代码,其实已经是很常见的事情了。但是,真正能将开源与公司的技术演进相融合,并能有效地助推公司业务发展的,却并不太多。这件事其实并没有那么简单——远非只是上传到 GitHub 那么简单。

根据业界的经验,在公司的技术产品开源方面,要将现有场景的代码开源,至少需要在已经运行稳定、结构清晰的现有代码基础上多付出 30% 的技术投入,对代码进行梳理、完善和通用化,才能做到初步的代码开源;而进一步要将这些开源代码维护下去,乃至于和公司业务线上的产品代码保持同步发展,多付出的技术成本还远远不止这些。作为一个互联网技术老兵,我对此深以为然。

那么,蚂蚁金服是如何说服公司决策层在尚未看到开源回报的前景下,同意付出这么多的额外代价来支持开源的呢?推动开源的力量是因何而来的?

“首先,开源是个共赢的模式,对于蚂蚁金服来说,开源可以扩大技术服务场景,为支付、金融等更多的客户提供服务,提升合作伙伴的效率。”杨冰说,“虽然,蚂蚁金服已经有很多的业务场景,也在很多场景下取得了超大规模的实践经验,但是,依然存在没有覆盖到的金融服务场景。而将技术开源出来,可以供更多的客户应用到其自身的场景下——这些场景有效的补充了蚂蚁金服的技术应用面,也为更完善的技术框架奠定了基础。因此,我们选择将 SOFA 中间件框架逐步开源出来,在贡献给社区的同时,也期待社区、合作伙伴甚至客户,都能够一起参与共建,形成行业标准和最佳实践。

“其次,对金融服务来说,监管和自主可控的要求更多,”杨冰接着谈到,“客户也希望可以对其所采用的技术有更多的掌控。”开源是一种可以使客户和上下游产业共同参与和发展的可行模式。

“所以,其实并不是技术部门去说服公司决策层去开源,而是业务发展的自然选择,这也是一种合理的发展方向。”他总结道。这样的结果,其实是和当前流行的开源商业模式所暗合的。

“另外,如你所说,确实在开源时,我们做了很大的改造。以可扩展化的方式来层层构建 SOFA 框架的能力,保证 SOFA 的内部版本和开源的版本采用的是同一个内核。在开源时,剥离了特定业务的逻辑,而保持了公司内部的业务线上的代码和开源代码的核心是一致的。这样,只要公司的业务在持续发展,开源的代码就会一直维护和演进下去。所以 SOFA 的内部版本就是在开源版本之上扩展了内部逻辑和历史版本的兼容逻辑。开源版本的核心逻辑,内外是一致的,并在蚂蚁金服的生产环境中被广泛使用,同时会随着蚂蚁金服自身业务诉求的驱动不断的演进。”杨冰补充道,“但这是值得的,在为开源代码做改进时,也是为公司自己的业务做改进,这是双赢且可持续发展的。”

很多公司在初涉开源时,常常有疑虑,将核心技术开放出去,会不会导致竞争对手的技术提升,会不会造成更大的技术竞争压力?

“事实上,我们在最初准备开源时,也有讨论过这个方面。技术要被更多人用、更多场景用,才会有发展。而开放的技术才能带来团队的发展,因为技术是动态发展的,作为开源的一方,事实上在技术上是相对领先的。开源和掌握是两码事,掌握和用好又是两码事,所以,因开源而带来的竞争,其实是助推整个开源体系的发展的,是良性的、有益的。”杨冰说,“而从社区和行业现状看,大家都在开放,封闭的技术体系会逐渐落后。只有开放才能求同存异,共同发展。”

花絮

我问蚂蚁金服的朋友,在你们开源中有什么有趣的“段子”吗?可以讲来听听。

我朋友过了几天后,给我发来了这样一段文字:

“参与双十一的中间件团队的常态是什么呢?

当晚,团队的常态大概就是喝着茶等零点高峰,高峰期过了之后,当然就是参与买买买啦。

我们很多的一些事情的初始的想法都是来自于双十一当天的夜聊,似乎在经历了紧张的零点高峰之后,脑细胞特别活跃。

对于基础设施团队来说,双十一算是一次大考的结束,考完成绩出来了,我们就想琢磨一些有挑战的事情,于是我们会天马行空地聊一聊对于下一年在技术上需要去做的事情。而在 2017 年的双十一当天,SOFA 的几个同学就围在一起聊了 SOFA 能不能开源?为什么要开源?开源和商业化之间的关系?开源后要做哪些事情等等,这个算是 SOFA 开源的第一次内部讨论。

从这次内部讨论之后,经过了大约半年的准备时间,我们在 2018 年 4 月份正式宣布开源并一直在逐步开源的进程中。”

他说,这就是他们憋了半天想出来的“段子”,哈哈哈,这群可爱的技术人啊。

SOFA 的演进和开源之路

SOFA 中间件框架是蚂蚁金服自主研发的金融级分布式中间件,包含了构建金融级云原生架构所需的各个组件,是一套分布式架构的完整的解决方案,也是在金融场景里锤炼出来的最佳实践。

SOFA开源全景图,涵盖了微服务领域的各个方面,同时也积极和业界流行的开源组件结合,包括阿里巴巴集团开源的Nacos、Sentinel等,为用户提供更加广泛地选择。

SOFA 作为一个演进了几年的框架,也一定程度上代表了蚂蚁金服的技术体系的演变,并且现在形成了开源核心、开放式(组件式)开源的模式。SOFA 从 2018 年开始开源,但是我比较好奇 SOFA 开源之前的发展旅程是怎样的。

杨冰说,“最早的时候,在蚂蚁金服还没有从淘宝分拆出来时,公司内使用过一个名为 Webx 的框架,但是随着业务的发展和技术的演讲,这套框架已经不太适应淘宝的需求。那个时候胡喜(现蚂蚁金服副 CTO)就重新创建了一个新的框架——SOFA 中间件框架。”

SOFA 中间件在蚂蚁内部经历了十年的发展和五代架构的演进,被广泛应用在包括支付、借贷、信用、基金、保险等全金融场景,支撑着蚂蚁平稳度过历次双十一、双十二、新春红包等大考,创造了 25.6 万笔每秒的交易记录,并还在不断刷新这个记录。

“SOFA 的版本迭代和公司的架构发展是密切相关的。比如说我们从 SOFA1 刚刚开始的时候,会做模块化的事情。到了 SOFA2 开始引入整个微服务的体系。到 SOFA3 我们希望能够在微服务体系下,能够把一些服务聚合在一起,组成一个链路出来,这就是我们说的合并部署。”

“随着每年的交易量的不断上升,让我们必须从单体架构转到服务化架构,然后演进到单元化架构、弹性架构。SOFA 大部分的功能升级都是伴随着整个公司的技术架构目标上的更大挑战进行的。”杨冰说,“我个人是经历了 SOFA1 到 SOFA2 开发过程,从 SOFA1 整体完成落地,到 SOFA2 引入了服务的架构。到了 SOFA3 我们把 Tomcat JBoss 那层替换掉,变成自研的应用服务器,解决了我们内部系统做类隔离、模块隔离以及合并部署的问题。”

SOFA4:迈入开源

正如前面所谈到的,开源既有的代码是需要做许多繁重的工作的,所以, SOFA 直到发展到第四代才为开源做好了准备,并将开源作为 SOFA4 的核心目标。

“SOFA 发展了这么多年,是有非常重的历史包袱的,这也是我们为开源准备了非常长时间的原因。在从 SOFA3 到 SOFA4 的整个过程当中,在把整个 SOFA 做轻量化的过程当中,其实就是在为开源做准备。有一些公用的能力(和蚂蚁金服的整个架构或业务没有强相关的部分)我们都希望可以开源出来。我们做开源这件事情不会把我们代码分为完全两套东西,然后两个分别演进,我们觉得这不是开源的正确做法。”杨冰说,“另外,开源对我们整个团队的消耗是非常大的,我们希望用同一套代码来实现内部的兼容和外部的开源,我们会在开源的代码当中留一些比较好的扩展点,这也是对我们本身代码架构可扩展性的挑战,目前我们做到的程度就是这样的。”

SOFA 从 2018 年 4 月开始对外开源,得益于社区和开发者的认同,在经历了半年多的时间,SOFA 所有相关的开源代码,获得了累计 10000+ 的 Star和 80 多个代码贡献者

在线上社区方面,SOFA 开源的站点(https://www.sofastack.tech/)也是在不断沉淀相关的文章和文档。

杨冰说,“原先我们觉得开源就是最好的,然而在 SOFA 演进的过程中,我们发现我们的场景足以构建出来比开源软件复杂度更高、能力更强的体系。我自己也在参与这个的过程当中收获了很多。这件事情也是从一个侧面反映了蚂蚁金服技术演进的历程。我们从最早的 IOE 架构,到部分采用开源软件,再到逐步开始全套自研。在自研过程当中,拥抱部分开源软件,并且去做深度的创造,做一些自己的创新。整个过程其实是一条非常艰难的路。”

杨冰说,“我认为整个基础设施是应该走开源化道路的,因为从 Linux 到 Kubernetes,已经被一次又一次地证明。越底层的基础代码,包括 SOFA 中间件这样的东西,看起来逻辑没有业务系统那么复杂,然而其实它考虑的一些细节、设计的优雅性、架构的健壮性其实是非常强的。而且,它一旦要去支撑那么多业务系统,整个工程的复杂度也是非常高的,很难用一家公司的程序员去搞定整个技术栈。SOFA 也是一样的,我们越来越发现这方面的一些趋势。我们靠一己之力去做是很难的,再加上我们既要对内支撑又要对外支持。现在明白了这样一个趋势,因此我觉得应该回馈社区,和社区共建才是比较好的一条路。以 Linux 为代表的疯狂发展,以及伴随着而来的商业化生态的繁荣,是一次又一次向世界证明,开源和商业化的结合是可以非常完美的。”

SOFA5:拥抱 Service Mesh

从多年前的 SOA 架构,到现在的容器化、微服务的技术演变,我们可以看到虽然技术在逐步变化,但是其主体指导思想还是一脉相承的。蚂蚁金服在微服务方面已经走到了探索的前沿,那么,当前的 Service Mesh 技术在 SOFA 的发展过程中会起到什么作用?

“这两年我们在积极拥抱、布局 Mesh,在演进方向上,我个人比较关注 Mesh 这个方向,因为我个人认为这是把基础设施沉淀到我们整个技术平台当中非常关键的一环。这也是我们 SOFA5 的主要目标。”杨冰说,“随着容器技术的兴起,可以将以往的中间件组件拆分的更细、更灵动,而资源利用率和运维效率也得到了进一步的改善。”

近年来,随着 Kubernetes 确立了其在容器领域的统治地位,以及Serverless 模式等不可变基础设施的架构进一步成熟,可以将服务在上层进一步进行抽象,为现在大规模的容器化、微服务化奠定了坚实的基础。

也有一些业界的意见认为,Service Mesh 将会取代中间件。

杨冰认为,“蚂蚁金服已经在中间件方面探索的比较深远,规模也相当的大,为拿到业务红利做了很多优化,这些能力还是会存在,只是通过换了一种跟应用集成的方式,让 SDK 变得更轻。随着基础技术平台逐步走向云化,我们认为 ServiceMesh 将会是连接现在这个时代和云原生时代的桥梁,而且无论中间件还是很多基础技术组件都将走向 Serverless。Serverless 对开发者而言将是一种全新编程模型,对运维人员而言则是颠覆性的运维模式,甚至是一种 Opsless,我相信广义的 Serverless 模式会成为云原生时代的主角。”

Service Mesh 这个新兴领域是很大的一个热点。蚂蚁金服和社区一起共同发起了 http://www.servicemesher.com/ 这样一个针对中国的Service Mesh 领域开发者的社群,有很多的志愿者,蚂蚁金服是其中之一。

在蚂蚁金服的Service Mesh领域,涉及两个开源项目SOFAMesh和SOFAMosn。这两个项目的定位是这样:

  • SOFAMesh 项目:是蚂蚁金服 Service Mesh 的控制平面,分支自 Istio 项目。在Istio体系和框架内进行了功能补充、扩展、增强和改进,立足于探索并解决 Istio 生产落地,尤其是大规模落地中遇到的实际问题,在充分验证之后贡献回 Istio 上游。
  • SOFAMosn 项目:蚂蚁金服新型的基础设施和中间件的底层网络通用解决方案,可以有多种产品形态。在蚂蚁金服 Service Mesh 中承担数据平面的角色,和 SOFAMesh 项目配合使用,兼容 Istio 体系。此外 SOFAMosn 还将用于 Ingress / API Gateway / Serverless Function Gateway 等场景。

目前蚂蚁金服开发团队已经和 Istio 开发团队建立联系,在 Istio 大规模落地方面进行合作和探索,相关实践和创新会在生产验证/代码稳定之后会贡献出来。

Service Mesh 是一个非常新的技术,Istio 也是一个新兴的项目,在生产落地上存在很多需要了解的细节和可能遇到的各种问题。而且有些需求是有共性的,如 RPC 协议的支持,旧有非微服务应用的支持, 现有应用升级 Istio 的平滑迁移等。

“我们开源 SOFAMesh 和 SOFAMosn,一方面是希望可以将我们在 Service Mesh 和 Istio 落地的知识和经验分享出去看,另一方面希望通过开源共建的方式一起来将这个两个项目做的更完善。”杨冰说,“我们虽然现在开源出来的版本还不多,但是未来我们会把整个金融分布式云原生架构的领域补齐,一方面会把内部同领域产品更完整的开放出来,另一方面和每一个领域的社区实现都做到兼容和可互相集成。”

NEXT:分布式事务以及服务注册中心开源

蚂蚁在 2007 年就开始在核心的业务中去使用自研的分布式事务框架去解决服务化以及数据库拆分后的数据一致性问题,经过 10 多年的演进,SOFA 的分布式事务框架得到了蚂蚁内部业务广泛地使用与锻炼,包括蚂蚁金服最核心的交易、支付、账务系统等,在期间,SOFA 分布式事务框架也演化出了针对不用的业务场景的使用模式,兼顾研发效率与性能。而阿里巴巴前几个月也开源了其分布式事务框架 Fescar,蚂蚁金服和阿里巴巴将在分布式事务这个领域上强强联手,SOFA 的分布式事务框架将与 Fescar 合并,为业界提供更加优秀,更加全面的开源分布式事务解决方案

服务注册中心是微服务领域的重要组成部分,SOFA 的服务注册中心最早源自于淘宝的初版 ConfigServer,在支付宝/蚂蚁金服的业务发展驱动下,近十年间已经演进至第五代,具备无限水平扩展,高效的推送以及基于 AP 架构高可用能力,同时结合 SOFARPC 具备异地多活单元化架构支撑能力,SOFA 服务注册中心的开源将会极大丰富整个 SOFA 开源的生态体系,也为微服务领域带来一个全新的服务发现解决方案。

总结

纵观蚂蚁金服的 SOFA 中间件开源的历程,我们看到了一个大型的商业公司是如何将开源核心模式和其商业模式紧密结合的;其走过的从采用专有软件、应用部分开源软件、演化自身的自研软件,到开源核心软件、全面拥抱开源世界的路径值得很多技术企业学习和思考

“穿山甲专访”栏目是 Linux 中国社区推出的面向开源界、互联网技术圈的重要领军人物的系列采访,将为大家介绍中国开源领域中一些积极推动开源,谙熟开源思想的技术人,并辨析其思考、挖掘其动因,揭示其背后所发生的事情,为关注开源、有志于开源的企业和技术人标出一条路径。

取名为“穿山甲”寓意有二:取穿山甲挖掘、深入之意来象征技术进步和表征技术领袖的作用;穿山甲是珍稀保护动物,宣传公益。

学习和使用 Linux 时,你是否觉得 Linux 命令的 man 手册过于冗长,不能及时告诉你所需要的命令该怎么写?其实,遇到这种苦恼的不是你一个人,往往在你突然想不起某个命令参数时,你需要的就是一个简单的命令提示。所以,针对这种情况,有人开发出了 info 命令来补充丰富的命令案例,也有人觉得 man 手册实在太长了,开发出了 tldr (太长不看)命令来提供更简洁的最常用命令用法。

就如我们之前介绍过的,tldr 有很多客户端,支持命令行、Web、iOS、安卓等等。

经过一个春节的开发,在“编码使我快乐”的 Bestony 同学的努力下,我们基于 tldr 的数据推出了一款小程序版的 tldr,并且考虑到现有 tldr 数据以英文为主,还提供了由社区驱动的开放式翻译模式来改进内容。

下面我来介绍一下。

Linux 命令速查小程序

请用微信识别如下小程序码,找到小程序 “Linux” ——没错,这个名字就是这么直指人心 :D,你也可以在本公众号的菜单中找到它。此外,以后我们也会在推送的文章中,对出现的 Linux 命令直接链接其这个小程序。

扫描或长按识别

首页就是一个简洁的输入框,显然,输入你要查找的命令就行。目前我们已经收录了 TLDR 数据库中上千条命令的数据。

Linux 命令速查小程序 首页

Linux 命令速查 ls 页面

开放式翻译贡献

你可以看到,命令页面的下方,列出了对该页面做出了翻译贡献的贡献者头像。

这其中大部分命令还没有进行翻译。你可以长按待翻译的文本,跳到翻译输入页面。在输入框中,可以输入新的翻译。第一次提交会请求你的微信授权,只是为了显示你的名字和头像。

提交翻译贡献

下方还列出了历次翻译的历史,所以你的贡献是所有人都看得到的 —— 切勿胡乱提交。输入翻译提交之后,会返回该命令页面,你可以下拉该页面强制刷新,即可看到翻译效果。

为什么采用开放式翻译贡献模式呢?我们希望社区的项目,由社区来驱动,通过社区的自我进化能力来完善。这也是我们为之后的社区驱动项目做一个尝试。

希望这个触手可及的小程序可以帮到你。好了,这篇 TLDR 的文章就这么短吧~

最后,致谢 TLDR 项目,感谢 Bestony。另外,能够快速开发此小程序也要感谢腾讯云开发所提供的快捷开发支持。

荏苒时光,又是新的一年。

这一年,我们在微信公众号(Linux中国)上的更新无日或断,也涌现了一批不错的文章。作为一年的总结,我特此将这一年的文章做一个排行总结,以飨诸位读者。(注:统计范围严格来说是 13 个月,包括春节前的这一个月)

阅读排行榜

以下是阅读数超过 5000 的文章:

排名阅读好看评论打赏转载发送时间标题
11619859240112018-01-25与 C 语言长别离
21492610021002018-09-18Linus Torvalds 宣布无限期休假,开始自我反省……
3124125120092018-04-30假装很忙的三个命令行工具
4104482937032018-08-30逃离 Google,重获自由(与君共勉)
5103743916232018-02-192018 年度最佳 Linux 笔记本电脑:来自一位 RHCE 的选购指南
69808429032018-01-06绝不要用的 Linux 命令!
79660407012018-11-07对 C++ 的忧虑?C++ 创始人警告:关于 C++ 的某些未来计划十分危险
895161954062018-10-242018 年最好的 Linux 发行版
994214210052018-07-20macOS 和 Linux 的内核有什么区别
1092607212032018-02-24Kali Linux 是什么,你需要它吗?
118751428062018-02-02当 CPU 空闲时它都在做什么?
128608608012018-12-23树莓派在办公室的 11 种用法
1385943690122018-04-02计算机语言的巨变
1485552423002018-04-27Ubuntu 18.04 LTS(仿生河狸)发布!
1584515413012018-01-22Debian 取代 Ubuntu 成为 Google 内部 Linux 发行版的新选择
168154711102018-10-06WinWorld:大型的废弃操作系统、软件、游戏的博物馆
1777214619042018-01-12在 Linux 的终端上伪造一个好莱坞黑客的屏幕
187639422152018-10-27为什么 Python 这么慢?
1975471640012018-07-01让我们从 GitHub 中迁移出来
2073187721072018-12-30救命!我的电子邮件发不到 500 英里以外!
2172751813082018-06-21为什么 Linux 比 Windows 和 macOS 更安全?
22708864162122018-03-17用 Python 构建一个极小的区块链
2370102210202018-08-12比特币是一个邪教
2468234539012018-04-13我的冒险旅程之迁移回 Windows
2568211013022018-06-28让孩子爱上计算机和编程的 15 本书
266710199022018-09-28你没听说过的 Go 语言惊人优点
276672249012018-04-05Oh My Fish! 让你的 Shell 漂亮起来
286615265002018-07-14TrueOS 不再想要成为“桌面 BSD”了
2965523926002018-01-11在 2018 年最值得去学习的编程语言
306489378012018-01-18树莓派 3 新手指南
3164522623012018-01-05哪一种 Ubuntu 官方版本最适合你?
326436389052018-09-23增强 Vim 编辑器,提高编辑效率
336433312172018-02-23每个系统管理员都要知道的 30 个 Linux 系统监控工具
346372311022019-01-14JSON 的兴起与崛起
3563331036002019-01-16将旧的 Linux 台式机变成家庭媒体中心
3662441223062018-08-26对比 Ubuntu 18.04 和 Fedora 28
3761944631012018-01-28无需 root 实现在 Android 设备上运行 Linux
386183308012019-01-26Bash 5.0 发布及其新功能
3961781812012018-07-23搭建属于你自己的 Git 服务器
406157449012018-02-21用一些超酷的功能使 Vim 变得更强大
4161054210022018-01-21如何配置一个小朋友使用的 Linux
4260962470012018-02-256 个 Liunx 平台下最好的替代 MS Office 的开源办公软件
4360871914032018-11-21Lisp 是怎么成为上帝的编程语言的
4460651716012018-03-26可以运行在 Windows 10 中的最实用的 Linux 命令
456060116002018-03-31你没听过的 10 个免费的 Linux 生产力应用程序
466042397012018-01-1312 个 ip 命令范例
476039142012018-02-22Telnet,爱一直在
4859462861032018-10-20Linux vs Mac:Linux 比 Mac 好的 7 个原因
495895397052018-10-09Linux 开发的五大必备工具
5058222013002018-11-23顶级 Linux 开发者推荐的编程书籍
515774155072018-09-11深入理解 ext4 等 Linux 文件系统
525773486142018-10-30命令行:增强版
535744234012018-07-28使用 Xenlism 主题对你的 Linux 桌面进行令人惊叹的改造
545679433022018-10-1075 个最常用的 Linux 应用程序(2018 年)
5555802519032018-11-172018 年 5 款最好的 Linux 游戏
565573197082018-06-06Linux vs. Unix:有什么不同?
5755593312032018-01-30迁移到 Linux:图形操作环境
585546502122018-09-06极致技术探索:显卡工作原理
5955342414002018-11-30Android 9.0 概览
6054721516012018-01-1710 款 Linux 平台上最好的 LaTeX 编辑器
6154282313022018-04-17面向企业的最佳 Linux 发行版
6254083014002018-10-075 个很酷的音乐播放器
6353492614112018-02-27五个值得现在安装的火狐插件
645303319042018-03-20Linux 新用户?来试试这 8 款重要的软件
655261241022018-10-02如何在 Linux 中查看进程占用的端口号
6652433124012019-01-23你(多半)不需要 Kubernetes
675018127012018-06-19我正在运行的 Linux 是什么版本?

好看/点赞排行榜

排名阅读好看评论打赏转载发送时间标题
147089683112018-07-30Streams:一个新的 Redis 通用数据结构
217502140012018-07-25对数据隐私持开放的态度
313321110002018-07-26如何强制用户在下次登录 Linux 时更改密码
41492610021002018-09-18Linus Torvalds 宣布无限期休假,开始自我反省……
573187721072018-12-30救命!我的电子邮件发不到 500 英里以外!
639347417622018-08-01Linux 中国开源社区正式发布社区通证 LCCN
792607212032018-02-24Kali Linux 是什么,你需要它吗?
88154711102018-10-06WinWorld:大型的废弃操作系统、软件、游戏的博物馆
9708864162122018-03-17用 Python 构建一个极小的区块链
108608608012018-12-23树莓派在办公室的 11 种用法

评论排行榜

排名阅读好看评论打赏转载发送时间标题
160962470012018-02-256 个 Liunx 平台下最好的替代 MS Office 的开源办公软件
259462861032018-10-20Linux vs Mac:Linux 比 Mac 好的 7 个原因
395161954062018-10-242018 年最好的 Linux 发行版
475471640012018-07-01让我们从 GitHub 中迁移出来
568234539012018-04-13我的冒险旅程之迁移回 Windows
6104482937032018-08-30逃离 Google,重获自由(与君共勉)
763331036002019-01-16将旧的 Linux 台式机变成家庭媒体中心
849331933022018-12-06如何实现 Linux + Windows 双系统启动
961944631012018-01-28无需 root 实现在 Android 设备上运行 Linux
1044663428022018-09-03Linux 用户应该换到 BSD 的 6 个理由

打赏排行榜

排名阅读好看评论打赏转载发送时间标题
113925271302018-09-10LCTT 2018:五周年纪念日
239347417622018-08-01Linux 中国开源社区正式发布社区通证 LCCN
3437593312018-07-02Python 调试技巧
49372412302018-03-04纪事:Linux 中国 2018 首次线下联合沙龙
53108382202018-12-24量子计算的开源框架 Cirq 介绍
63128145212018-12-05学习 Linux/*BSD/Unix 的 30 个最佳在线文档
770102210202018-08-12比特币是一个邪教
8708864162122018-03-17用 Python 构建一个极小的区块链
92314213212018-03-15440+ 个免费的编程 & 计算机科学的在线课程
1019312211202018-03-02使用“微信读书”来订阅《Linux中国》公众号更爽

转载排行榜

排名阅读好看评论打赏转载发送时间标题
125782100132018-07-02Linux 文件系统详解
285943690122018-04-02计算机语言的巨变
3708864162122018-03-17用 Python 构建一个极小的区块链
41619859240112018-01-25与 C 语言长别离
5124125120092018-04-30假装很忙的三个命令行工具
64770164192018-03-13Linux 启动过程分析
7171660082018-11-125 个适合系统管理员使用的告警可视化工具
872751813082018-06-21为什么 Linux 比 Windows 和 macOS 更安全?
95573197082018-06-06Linux vs. Unix:有什么不同?
1073187721072018-12-30救命!我的电子邮件发不到 500 英里以外!

内容平台

最后,或许有的朋友还不知道,我说明一下。我们现在主要维护的内容平台如下:

  • 主站:https://linux.cn/
  • 微信:

    • 主号:Linux中国(微信 ID:linux-cn),逐篇同步发布我们主站的文章。
    • 小号:Linux(微信 ID:cn-linux),如果感觉主号内容推送过多,可订阅此号,每天只精选一篇,不是最好的文章不好意思发。
  • 今日头条:

    • Linux中国Linux技术(镜像号)
  • 微博:Linux中国
  • 知乎:Linux中国
  • 网易号:Linux

希望大家可以在常用的平台上关注互动。

感谢大家的支持!

我是老王,可能大家有不少人知道我,由于历史原因,我有好几个生日(;o),但是这些年来,我又多了一个生日,或者说纪念日——每过两年,我就要严肃认真地写一篇 LCTT 生日纪念文章。

喏,这一篇,就是今年的了,LCTT 如今已经五岁了!

或许如同小孩子过生日总是比较快乐,而随着年岁渐长,过生日往往有不少负担——比如说,每次写这篇纪念文章时,我就需要回忆、反思这两年的做了些什么,往往颇为汗颜。

不过不管怎么说,总要总结一下这两年我们做了什么,有什么不足,也发一些展望吧。

江山代有英豪出

LCTT,如同一般的开源贡献组织,总是有不断的新老传承。我们的翻译组,也有不少成员,由于工作学习的原因,慢慢淡出,但同时,也不断有新的成员加入并接过前辈手中的旗帜(就是没人接我的)。

加入方式

请首先加入翻译组的 QQ 群,群号是:198889102,加群时请说明是“志愿者”。加入后记得修改您的群名片为您的 GitHub 的 ID。

加入的成员,请先阅读 WIKI 如何开始

比如说,我们这两年来,oska874 承担了主要的选题工作,然后 lujun9972 适时的出现接过了不少选题工作;再比如说,qhwdw 出现后承担了大量繁难文章的翻译,pityonline 则专注于校对,甚至其校对的严谨程度让我都甘拜下风。还有 MjSeven 也同 qhwdw 一样,以极高的翻译频率从一星译者迅速登顶五星译者。当然,还有 Bestony、Locez、VizV 等人为 LCTT 提供了不少技术支持和开发工作。

硕果累累

我们并没有特别的招新渠道,但是总是时不时会有新的成员慕名而来,到目前为止,我们已经有 331 位做过贡献的成员,已经翻译发布了 3885 篇译文,合计字节达 33MB 之多!

这两年,我们不但翻译了很多技术、新闻和评论类文章,也新增了新的翻译类型:漫画,其中一些漫画得到了很多好评。

我们发布的文章有一些达到了 100000+ 的访问量,这对于我们这种技术垂直内容可不容易。

而同时,Linux 中国也发布了近万篇文章,而这一篇,应该就是第 9999 篇文章,我们将在明天,进入新的篇章。

贡献者主页和贡献者证书

为了彰显诸位贡献者的贡献,我们为每位贡献者创立的自己的专页,并据此建立了排行榜

同时,我们还特意请 Bestony 和“一一”设计开发和”贡献者证书”,大家可以在 LCTT 贡献平台中领取。

规则进化

LCTT 最初创立时,甚至都没有采用 PR 模式。但是随着贡献者的增多,我们也逐渐在改善我们的流程、方法。

之前采用了很粗糙的 PR 模式,对 PR 中的文件、提交乃至于信息都没有进行硬性约束。后来在 VizV 的帮助下,建立了对 PR 的合规性检查;又在 pityonline 的督促下,采用了更为严格的 PR 审查机制。

LCTT 创立几年来,我们的一些流程和规范,已经成为其它一些翻译组的参考范本,我们也希望我们的这些经验,可以进一步帮助到其它的开源社区。

仓库重建和版权问题

今年还发生一次严重的事故,由于对选题来源把控不严和对版权问题没有引起足够的重视,我们引用的一篇文章违背了原文的版权规定,结果被原文作者投诉到 GitHub。而我并没有及时看到 GitHub 给我发的 DMCA 处理邮件,因此错过了处理窗口期,从而被 GitHub 将整个库予以删除。

出现这样的重大失误之后,经过大家的帮助,我们历经周折才将仓库基本恢复。这要特别感谢 VizV 的辛苦工作。

在此之后,我们对译文选文的规则进行了梳理,并全面清查了文章版权。这个教训对我们来说弥足沉重。

通证时代

在 Linux 中国及 LCTT 发展过程中,我一直小心翼翼注意商业化的问题。严格来说,没有经济支持的开源组织如同无根之木,无源之水,是长久不了的。而商业化的技术社区又难免为了三斗米而折腰。所以往往很多技术社区要么渐渐凋零,要么就变成了商业机构。

从中国电信辞职后,我专职运营 Linux 中国这个开源社区已经近三年了,其间也有一些商业性收入,但是仅能勉强承担基本的运营费用。

这种尴尬的局面,使我,以及其它的开源社区同仁们纷纷寻求更好的发展之路。

去年参加中国开源年会时,在闭门会上,大家的讨论启发了我和诸位同仁,我们认为,开源社区结合通证经济,似乎是一条可行的开源社区发展之路。

今年 8 月 1 日,我们经过了半年的论证和实验,发布了社区通证 LCCN,并已经初步发放到了各位译者手中。我们还在继续建设通证生态各种工具,如合约、交易商城等。

我们希望能够通过通证为开源社区转入新的活力,也愿意将在探索道路上遇到的问题和解决的思路、工具链分享给更多的社区。

总结

从上一次总结以来,这又是七百多天,时光荏苒,而 LCTT 的创立也近两千天了。我希望,我们的翻译组以及更多的贡献者可以在通证经济的推动下,找到自洽、自治的发展道路;也希望能有更多的贡献者涌现出来接过我们的大旗,将开源发扬光大。

wxy
2018/9/9 夜

如今区块链技术伴随着大众关注而席卷全球,抛开各种炒作和投机,其底层的区块链技术已经日益得到了技术领域、经济领域乃至于国家层面的强烈关注。作为一个技术专业社区,我们也对区块链及相关的技术非常关注。因此,我们也将编发更多的区块链技术方面的内容分享给诸位读者。

而从即日起,Linux 中国也将同时入驻区块链垂直媒体「虎尔财经」 APP,将在虎尔财经同步发布区块链方面的文章。 关注区块链技术的同学可以在「虎尔财经」上获得更多的专业内容。

为回馈 Linux 中国的用户,从 3 月 17 日 — 3 月 24 日登录「虎尔财经」 APP 的用户,将获得 188FCB 的专属 Token 奖励。 同时,通过「虎尔财经」 APP ,你阅读、转发 Linux 中国任何一篇文章,都可以获得 Token 奖励,共享平台发展和内容流量收益。

通过微信扫一扫,扫码登录虎尔财经,即可获赠 188 FCB Token!

为何入驻「虎尔财经」

「虎尔财经」是专业的区块链内容平台,为投资者提供专业的研究型内容和及时、全面、准确的财经资讯。

「虎尔财经」运用区块链技术重新构建了内容生产关系,通过去中心化的内容生产方式重塑了生态价值分配机制,用户创作、阅读、转发都将获得 Token 奖励,激励优质内容创作和高效分发,真正实现用户共享平台发展和内容流量收益。

关于 FCB Token

FCB 全称为 Finance Content Bank,FCB Token 用于激励用户在「虎尔财经」 APP 平台进行财经内容创作、阅读及转发,虎尔财经将不定期回购 FCB Token。

FCB 获得方式

  1. 作为创作者入驻平台发布文章,文章每被 1 人阅读,则获得 0.4 FCB /人次的 Token 奖励,例如某篇文章获得 10 万阅读量,则获得 4 万 FCB 的 Token 奖励。(前 1000 名入驻发文并被阅读 100 以上,获 10000 FCB )
  2. 作为用户,每阅读一篇文章,或转发的文章被阅读,可获得 0.3 FCB /次的 Token 奖励,无上限。
  3. 参加平台不定期举行的 FCB 赠送活动。

时值年末,我们 Linux 中国在北上广成组织了一次线下沙龙,来自北上广成等多个城市的朋友们欢聚在这四个城市,成功地将友谊从线上连接到了线下。

这次沙龙,是分别在北上广成四个城市分别举办的,并在期间多个城市进行了视频互联。大家俨如多年未见的好友,畅聊了开源、Linux、互联网、区块链、运维、开发、安全等等各种话题。老王我这次参与了北京的沙龙,并全程口若悬河谈了许多话题;据闻上海、广州和成都也都聊得非常尽兴。

这次参与的人员当中,很多人都是 Linux 中国多年的成员,其中不少人是 LCTT 成员。当然,也有许多新朋友。其中据闻有一位最小参与者才上初二!

下面分享一些各地的沙龙精彩照片:

北京沙龙

北京沙龙,老王在说“其一”

上海沙龙

广州沙龙

巴适的成都沙龙

左一棣琦在给译作签名,北京沙龙是妹子最多的一处

上海沙龙,左一是上海召集人瑾萱

上海沙龙合影

北京沙龙合影——新 Linux 中国“黑帮”

北京沙龙在吃羊蝎子

总之,这次沙龙聚会,取得了超乎预期的成功,本次参会的很多小伙伴们也得到由人邮出版社傅主编赞助的书籍(其中有棣琦翻译的《Linux 二进制分析》,北京站更有荣幸得到译者亲自签名!)。

让我们期待,一个月以后的沙龙再次举办,也希望下次我们可以有更多的城市共同举办,并且让更多的同学来参与,并讲演自己的知识和见解!

欢迎希望参与线下沙龙的同学,加微信群助手 “#群主”(微信号:china\_linux)好友,并对她说“沙龙”,获得进入微信群的邀请。