国内外开源分析及实践

摘要



本文通过对国内外开源现状和趋势进行分析,引出开源基础设施在国内的现状和亟待解决的开源托管平台、开源许可证、开源社区、社区治理架构等目前国内尚待完善的方面。通过建木项目开源实践过程,详细地阐述了国内开源项目建设和运营期间遇到的问题及积极的应对方案。最后,针对国内开源文化、开源社区、开源商业化方面做出积极探讨。开源时机已来,国内开源从业者应抓住这个契机,摸索出一条符合国内开源切实可行之路。

国内外开源分析及实践

关键词

国内开源;建木;开源社区;社区治理;开源文化;开源商业化;开源基础设施



第一章

引言


开源软件正以不可思议的速度占领软件企业和用户的心智,在今后软件行业发展的道路上开源已成为软件从业人员绕不开的话题。开源从早期个体参与为主到目前全球知名企业大规模的参与,并通过Linux、Apache、OpenStack、k8s等成功的开源项目运营,被证明是软件行业有效达成业界标准的最有效途径。在近几年企业IT数字化转型的趋势下,开源软件作为底层基础设施正在大规模的被企业IT决策者接受并应用于实际生产。从软件生命周期来看,开源软件的开发模式和发展速度也颠覆了软件工程协同的认知。特别在疫情当下,跨地域、跨语言、跨学科、跨业务领域全球协作的开源软件在互联网全球化的当下正在以势不可挡的趋势占领基础软件领域。

1.1  开源国际现状和趋势 



开源软件兴起于国外,早期软件作为硬件的附赠品来分发,这个阶段主要以个人兴趣爱好和学术研究为主,影响范围较小。从上世纪90年代前后开始,开源发展得益于互联网技术发展,有效解决了软件分发的地域限制。在开源传奇人物Richard Stallman主导下成立了自有软件基金会,并发起了GNU项目,为开源软件得以发展构建了底层基础。Richard Stallman创造性地提出了GPL开源许可证,为后起之秀Linux提供了有生命力的开源基础设施。紧随其后的Apache项目在互联网大潮中脱颖而出,并最终占据了互联网服务器的统治地位。随着开源项目不断演进,Apache基金会(ASF)也成为专门为支持开源软件项目的全球影响力最大非盈利性组织之一。

2005年以来,云计算、移动互联网的发展,新一代互联网公司的业务喷井,云计算基础架构的开源项目应运而生。以OpenStack、k8s、Ceph等为代表的新生代开源技术栈催生了开源基础设施基金会(OIF)、云原生基金会(CNCF),并致力于云计算、边缘计算、云原生应用等领域开源项目的孵化和运营。

随着开源软件托管和协助平台的普及,开源全球化协作和共创的沟通成本急剧下降。根据欧盟委员会对于开源的调研,位于欧盟境内的公司于2018年在OSS方面投资约10亿欧元,这带来了对于欧洲经济650至950亿欧元之间的影响。该分析估计了超过1:4的成本效益比例,并且预测10%的OSS贡献增量将会每年产生额外的0.4%到0.6%的额外GDP,以及欧盟境内超过600家额外的ICT初创企业。全球开源项目数量持续提升,连续三年增长率超过40%。截至2020年底,全球开源项目数量已超过2亿,较上年增量6千万,同比增长43%。据Source Clear调查报告预测,2026年全球开源项目数量将超过3亿。

1.2  开源国内现状和趋势 



国内开源起源于上世纪90年代后期,随着国内互联网的建立带来了Linux和GNU周边的大量的开源软件。基于Linux的发行版本及其周边生态的开源软件被国人知晓并应用,在参与方面软件汉化和Linux核心贡献也有出现,例如:LVS。各地的Linux User Group在邮件列表也有一定的活跃度,之后很长一段时间国内开源还是围绕Linux及周边展开,但并未爆发增长。在2005年左右,特别是2008年金融危机之后,国内大型的互联网企业淘宝、网易、新浪、百度、华为等因自身业务发展使用开源基础架构栈并逐步发展自己主导的开源项目初现规模。

进入21世纪之后,互联网、云计算技术在国内的普及,以云计算、云原生为代表的开源软件在国内商业化的探索,涌现出了一批基于OpenStack、k8s、Ceph、Hadoop等分布式开源技术的初创企业。在国内新兴的互联网公司和初创开源技术栈的企业的共同推动下,开源软件在国内的应用得到了快速发展。在使用开源软件的基础上,国内企业也逐步深度参与了国际顶级的开源基金会和开源项目,从参与者逐渐变成项目的核心开发者。在近两年也涌现出了一批国内开发者主导的开源项目,从而更进一步成为开源项目的发起者,甚至有不少开源项目已逐渐获得国际开源从业者认可和支持。

根据中国信通院发布的《开源生态白皮书(2021)》,中国在全球最大开源平台GitHub上的贡献者数量已经达到了全球第二,仅次于美国。2020年,GitHub平台上中国贡献者的数量增加了37%;而在另一个开源平台Gitee上,中国贡献者的数量更是增加了50%,总量超过了600万人。另外第三方中立的支持开源项目孵化的组织和基金会在国内也开始兴起,例如:开放原子开源基金会、木兰开源社区、白玉兰开源、开源中国等组织。这些组织通过对开源技术、开源文化、开源社区治理、开源商业化等方面的探索,并引入一批有质量的开源项目孵化来支撑开源在国内的落地。

随着中国“十四五”已将“支持数字技术开源社区等创新联合体发展,完善开源知识产权和法律体系,鼓励企业开放软件源代码、硬件设计和应用服务”明确写入并作为加强数字技术创新应用的关键,进而工信部针对“十四五”开源生态规划中“建设2-3个有国际影响力的开源社区,培育超过10个优质开源项目”的目标。开源、开放已成为“十四五”软件的主旋律,但在看到开源国内发展机遇的同时,在实际落地过程中国内开源短板也十分明显,需要通过学习国际先进社区和项目的经验,结合国内现实情况有效地完善符合国情的开源治理和开源文化。

第二章

国内开源基础设施现状分析


国内开源起步相对较晚,整个开源基础设施针对个人和企业做开源相对友好性没有国际成熟社区完善。随着近几年开源软件在国内应用和国内一批参与国际社区的互联网企业和创业企业的发展,在应用开源技术的同时更加了解开源文化、开源治理框架和开源知识产权合规等问题。结合国内学术界对开源的研究,国内开源也也逐渐更清晰自己的位置和今后需要走的道路。启动一个开源软件项目还需要不少的集成设施,有了这些基础设施的土壤才能让开源软件这个种子发芽、生长。

2.1  代码托管平台介绍 



从开源软件代码托管平台来看,全球最知名有GitHub、Gitlab。其中GitHub被誉为程序员的交友平台,平台本身不开源,但托管着全球最多的开源项目源代码。平台为全球开发者提供代码托管服务,超过7300万开发者,6100万个仓库,其中700万开发者来自中国。另外采用开源模式的Gitlab作为后起之秀,在DevOps领域企业级私有化应用中也占有比较主要的市场,同时也提供开源仓库的托管。近期在美股上市,且增长势头迅猛,相信其今后在开源项目托管方面也会有一定的增长。

相较于国际,国内开源软件的代码托管平台相对比较滞后,2013年开源中国的Gitee(码云)是国内建立本土化的代码托管平台。目前大概有超过500万名注册用户,1000万个托管仓库,并在工信部主导下牵头基于Gitee建设中国特色的独立的开源托管平台。随着国内开源生态的逐步建立,Gitee也成为木兰开源社区、开放原子开源基金会等国内主要、开源社区推荐的代码托管平台。此外,还有兴起的CODING代码托管平台,也比较专注于DevOps和团队协同,对于开源协作和开源方面的支持目前不如Gitee友好。

从大的方面来看,国内开源时机的成熟涌现出Gitee、CODE.CHINA(CSDN)、CODING(腾讯)、效率云(百度)、云效Codeup(阿里)、CodeHub(华为)等一批开源代码托管平台,但除了Gitee相对中立的运营,其它相对来说对开源的友好度都不足。

2.2  开源许可证介绍 



对于创建开源项目来说,最重要的一个环节就是开源许可证的选择,也关系着开源项目发行模式和后续开源商业化的路径。目前国际上通用的开源许可证的数量众多,其共同特点是都允许用户在开源软件的过程中免费使用、修改、共享源代码。从许可证的使用条件上来看,主要分为:宽松式(permissive)许可证、Copyleft许可证。宽松式许可证就是对用户基本没有限制,用户可以修改代码之后闭源,常见这类的许可证有BSD、MIT、Apache2,相对来说对于开源商业话比较友好。另外一类Copyleft许可证,从许可证来看作为开源软件可以不经许可,用户可以随意复制,但增加了一个限制条件即修改后Copyleft的代码不得再次闭源。业界最知名的Copyleft许可证是由Richard Stallman发明的GPL,也是Linux得以成功的一个很重要的开源基础设施的支撑。随着云计算的普及,软件通过云市场的方式分发对开源许可协议范围也出现了一些争议,也出现了SSPL、BSL、Elastic License新型针对公有云厂商的存在争议的开源许可证。

随着国内开源软件行业的发展,近几年国内开源知识产权意识也不断提升。国内开源许可证也进入探索阶段,北京大学作为国家重点研发计划“云计算和大数据开源社区生态系统”的子任务牵头单位,依托全国信标委云计算标准工作组和中国开源云联盟,联合国内开源生态圈产学研各界优势团队、开源社区以及拥有丰富知识产权相关经验的众多律师,在对现有主流开源协议全面分析的基础上,共同起草、修订并发布了木兰系列开源许可证。其中以宽松式许可证为代表的木兰宽松许可证已经被OSI认证为第一个中文开源许可证,木兰公共许可证作为Copyleft类许可证也被用于国内的一些开源软件。

开源软件许可证是一个开源软件的基石,选择一个适合项目特点的开源许可证会是比较好的开始。除了考虑开源许可证本身授权方式之外也必须关注许可证的兼容性,特别是项目引入Copyleft类型许可证会有传染性,从而会引起法律风险。

2.3  开源社区介绍 



开源项目若没有社区的支撑,其发展会受到一定的制约。在国外由于开源软件有近60年的历史,开源基金会作为重要的力量推动开源文化和开源项目的发展。目前国际上影响力比较大的基金会有Apache基金会、Linux基金会、CNCF基金会、开源基础设施基金会(原OpenStack基金会)。这些基金会通过对开源项目的管理和推广,通过对所孵化项目提供公益性的项目运行所需要的基础设施、组织、法律、财务、市场等支持,从而激活组织和个人的参与度。尤其已近几年Apache基金会和开源基础设施基金会、CNCF基金会,孵化了一批十分有代表性的开源项目,从而为大家深度参与社区提供相对合适的开源生态,例如:OpenStack、k8s、Linux等。在全球顶尖IT企业共同努力下,几个重要的国际开源社区已经逐渐引领全球基础设施软件的标准建立和未来的技术发展。

在国内,开源社区建立相对来说规模和范围与国外差距还是比较大。早期开源社区以Linux Group、JAVA等这类比较松散的团队为主的一些围绕开源软件的线上、线下的讨论。之后随着论坛的发展出现了ChinaUnix、CSDN、Linux中国等围绕开源技术的线上论坛,聚集了一批开源爱好者参与开源技术的应用和互动,这个阶段主要还是以使用开源技术栈为主。随着开源技术不断在国内普及,国内开源社区也出现了新的变化,出现了以开源中国社区为代表的综合、开放、互动的开源社区,从而使更多人了解开源、使用开源、贡献开源,提供了一部分开源软件所需要的基础设施。近2年来,随着开源在国内基础软件的应用,国家层面也更加重视开源产业,出现了脱胎于国家重点研发计划的木兰开源社区。通过TOC评审方式重点孵化有潜力的开源项目,从而促进国内开源领域交流,推动企业和个人开发者在开源项目上的发展。另外,国内也成立了开放原子开源基金会,对今后开源项目提供知识产权托管,保证项目的持续发展不受第三方的影响,通过开放治理寻求更丰富的社区资源,推动开源项目运营。

2.4  社区治理框架介绍 


在社区治理架构方面,国际上成熟的社区随着60年左右的发展,各自形成了相对稳定的社区治理模型。最经典的Apache社区治理模型成为目前开源治理框架里面比较核心的一个流派。简要来说就是一个金字塔模型,最底端的是用户(User)参与开源社区的使用并提供问题和反馈。用户在使用过程中了解项目情况后贡献代码和文档就可以晋升为贡献者(Contributors),当贡献者提交一定数量贡献之后就可以晋升为提交者(Committers),此时你将拥有你参与仓库的代码读写权限。当提交者在社区得到认可后,由项目管理委员会(PMC)选举并产生PMC成员,PMC成员拥有社区相关事务的投票、提名和共同决策权利和义务。另外还有Team模型和SIG模型,以代码仓库为核心,相同兴趣的成员组成评审者(Review)、维护者(Maintainer)、提交者(Committer)。评审者没有对仓库写入权限,可以对PR进行评审,并计入评审者对PR评审数量要求。维护者在评审者的基础上拥有投票决策权,影响项目PR是否进入仓库。提交者在维护者的基础上具备代码仓库的写入权限,是仓库和项目的核心成员。多个Team或者SIG通过TC作为社区项目的技术管理机构,提供技术决策、指导和监督,目前OpenStack和k8s社区会参考此类模型运作。

国内不少开源项目在运营过程中,会借鉴国际社区的成功经验直接进入Apache基金会、Linux基金会、CNCF基金会、开源基础设施基金会等比较成熟的基金会孵化和托管项目,直接沿用国际比较成熟的社区治理框架。另外一个方面,随着国内企业更加拥抱开源,也出现了一些阿里、腾讯、华为等公司主导的开源项目和社区。这类开源项目的社区治理目前更多的还是大公司主导,相对来说贴上了不少公司的标签。由于以大厂投入为主,从而导致社区相对来说都是围绕的生态企业为主,个人贡献者相对比较缺乏,生态相对来说多样性待提高。随着开源创业在国内的普及,独立的项目也逐渐在往相对中立的开源治理框架转变。出现了在Apache基金会基础上结合ToC拓展的社区治理模型,例如:OceanBase的社区治理模型。也有基于SIG模型,结合TC构建的openEuler社区,在国际社区的基础增加了秘书处、安全委员会这样的公共组织。随着开源在国内的落地,可以预见今后也必将出现多种社区治理模型共存,相互促进也不断修订的过程。

第三章

开源建木社区实践


开源建木项目萌芽于九州云团队2015年在某征信业务的研发测试云咨询和落地实践。从底层基于OpenStack的IaaS私有云构建,到上层基于Jenkins的CI/CD流水线,在实践的过程中总结了DevOps的优点和不足,从开发者的视角来审视DevOps工具的落地。另外,2018年开始九州云团队从运维的视角接触并参与了某银行自动化运维项目的改造,从项目中提炼了从运维人员视角理解DevOps对运维人员的价值。团队不断在DevOps推广和实践的过程中更加了解金融领域对DevOps的诉求和管理者视角——稳字当头的“敏捷”。在团队的反复论证中诞生了用来构建针对IT领域的自动化集成平台——建木。

出于中国情节,在建木团队成员共同努力下,项目各方面充满了中国元素。“建木”取名于山海经·海内南经:“建木”是上古先民崇拜的一种圣树,传说建木是沟通天地人神的桥梁。伏羲、黄帝等众帝都是通过这一神圣的梯子上下往来于人间天庭。《淮南子·墬形训》亦曰:“建木在都广,众帝所自上下。日中无景,呼而无响,盖天地之中也。”

采用“建木”也满怀团队对国内开源的期待和为国内开源生态的逐渐完善贡献一份绵薄之力。在建木社区网站改版的过程中,团队一致认为要体现中国风。在团队和开源建木社区成员投票决策后建木网站整体采用水墨画为背景,用卷轴的方式打开。作为一种尝试,团队希望建木项目的画卷不断地为世界呈现国内开源文化的历史篇章。

3.1  背景及项目介绍 



为此项目命名为“建木”,希望本项目也可以成为不同业务场景下系统间相互沟通的桥梁。建木自动化平台以触发器、流程编排、任务分发等功能为平台核心,可以应用在各类使用场景下,包括但不限于,CI/CD、DevOps、自动化运维、多业务系统集成等场景的自动化。

国内社区选择方面,看到国内大部分开源项目都选择了国际的Apache、OpenStack、Linux、CNCF社区,团队经过审慎的思考,最终选择了有中国元素,并对国内开发者更友好的木兰开源社区作为首选的孵化场所。经过引荐和对建木项目整体情况的介绍,于9月15日在木兰社区TOC成员的评审下进入木兰开源社区孵化。作为发起单位九州云也始终秉承“开源*赋能变革“,持续的和国内开源社区深度参与,并以中立、开放的运营理念持续建设建木项目,并以中文友好的方式在国内开源生态中迈出一小步。国内开源社区尚不成熟,项目通过借鉴国际经验,结合在开源过程中的问题不断完善和提升开源软件在国内的运营。

3.2  核心架构及发展方向 



建木开源项目在原有金融领域DevOps项目实战的基础上对原有因业务引入的复杂组件进行了重构,建木核心框架主要分任务执行层、流转分发层、概念定义层、支持服务作为整个框架的支撑,如图3-1。

国内外开源分析及实践
图3-1 建木核心架构

  1. 概念定义层
    主要功能是通过流程的方式对执行任务的先后顺序和参数进行了定义,考虑到在CI场景中会比较多的采用pipeline的形式,也之支撑pipeline模式定义CI管道。在使用上,为了更加便于DevOps使用,建木项目定义了以YAML为基础的DSL语法,从而十分方便用git版本管理工具对流程进行统⼀管理,从而实现GitOps。在DSL的基础上,UI方面对DSL做了图形化的解析,通过DAG图的方式直观的呈现了DSL定义的流程和pipeline。
  2. 流转分发层
    主要核心功能是流程引擎,整个分发层会根据触发器来触发流程的执行和执行过程中的分发策略控制。通过这个层对所有的流程(或者pipeline)的任务根据任务优先级、任务类型、执行器使用率等情况进行合理的分发和调度。
  3. 任务执行层
    主要处理执行器和任务执行过程管理,建木项目本身会提供⼀些默认执行器,并提供执行器开发接口规范。在默认执行器无法满足需求时可以方便的扩展执行器。建木项目本身也会提供任务执行节点库,会以Hub的形式提供出来,从而丰富任务的多样性,更好对的满足不同的IT作业任务。
  4. 支持服务
    主要包含自动化集成会使用的统⼀认证、秘钥管理、SDK管理等基础支撑模块。通过基础支撑模块能让建木项目具备完整的独立运行和扩展能力,支撑服务部分也支持采用第三方服务或者框架集成。

3.3  社区治理及运营 



建木项目在最初探讨开源模式的时候,首先需要解决的是以哪个平台开放给社区。经过团队对开源理解和今后发展的考虑,在Gitee和Github之间做了横向的对比。从社区今后治理和运营来看,开发者数量Github大概是Gitee的10倍的用户体量。但建木发起之处还是面向中文友好的社区,随着国内大环境对开源的更加友好,最终选择了Gitee作为主代码仓库维护,Github作为镜像仓库。从目前运营数据以及开发者来看,Gitee相对来说没有Github优质,但随着国内开发者对国内开源社区的关注和新生代开发者的出现,趋势目前来看越来越值得做开源的项目回归国内代码托管平台。

在开源许可证选择方面,建木作为一个开源项目,开源许可证的选择十分重要,这关系到开源项目今后核心的发力方向和远景。在项目初期团队也对开源软件许可证也做了广泛的探讨,到底是该选择Free Software(文化)还是Open Source Software(文化)体系的开源许可证。在对开源许可证软件上下游应用规则熟悉之后,也梳理了建木项目直接使用和引用的第三方开源软件,从而规避直接引用具备强传染性的开源许可证兼容性的问题。考虑到中文友好性,选择了木兰开源社区成果的木兰公共许可证。该许可证比较接近GPL许可证,具备很强的传染性。从某种角度可以更好的保持开源主干分支的发展和代码的回归,但相对来说商业友好性欠缺。

在运营建木项目一段时间后,随着更多的企业、第三方、导师的参与,项目开源许可证的选择有了戏剧的反转。在国内开源社区导师和最终用户双重的影响下,最终通过投票变更采用了木兰宽松许可证。从原因上来看,在国内做开源软件最终应用落地实现上来看,大部分还是企业客户买单。在这个过程中,特别是大型央企、金融企业在信息化软件项目上,考虑到安全、知识产权等方面的问题,无法直接把项目上的代码回馈给社区。从这一点上对建木项目采用木兰公共许可证来看对最终用户不友好,并存在使用上的法律风险。短期内来看,国内企业级市场如果软件还是按照项目型或者销售许可证的方式运营对Copyleft类型的许可证的引入需要特别关注。

建木社区治理方面,建木团队初始希望构建一个完全对等的协作团队,通过各个团队自治的方式对团队内的决策形成闭环,如图3-2。

国内外开源分析及实践
图3-2 理想治理模型

在这种组织架构中,每个社区成员可以申请加入1个或者多个团队,并按照每个团队的权利和义务参与到社区的建设和互动中。团队成员拥有完全平等的投票机制来对每一项事务进行决议。在起始开源社区运作之初人员规模相对不大,相对比较容易达成一致。随着参与者的进入,完全平等的组织对商业的友好度和协调效率上就会出现一些短板。通过对现在主流的国内、国际社区的调研和探讨,结合Team、SIG模型,最终确立了建木社区基本的社区治理框架,如图3-3。

国内外开源分析及实践
图3-3 可扩展的治理模型

在原有基础框架的基础上对建木项目本身根据不同的场景建立了不同的小组,以便基于建木的应用场景而更好的通过小组的方式区分业务模块,打造不同业务领域的拓展功能。独立社区运营团队,从而更好的横向做好基于建木的系列的开源社区宣传渠道和资源的整合。在架构之上,构建了一个顾问委员会(形如公司董事会),从而便于后续更多第三方机构和企业加入社区共同运营。

在构建开源社区,让更多社区人参与共创的过程中,特别需要注意的是知识产权保护。开源不等于没有知识产权,参与方的知识产权如何界定,让第三方或者独立的个人参与开源的贡献不是一个把代码放到Gitee上就可以做的事情。其中特别重要的是贡献者许可证协议(CLA),在大部分国际知名社区在参与贡献之前都需要签署响应的CLA。针对大型企业参与开源社区的情况,除了企业要签署CLA,每个参与贡献的人也都需要签署CLA。通过CLA一方面避免了企业员工参与社区后涉及的公司资产流失方面的法律纠纷。另外一方面,开源项目中也避免引入一些未被授权的代码或者专利而带来不必要的法律问题。通过CLA可以更好的让开源社区更专注软件本身的价值实现,而避免深陷知识产权方面的纠纷。从这方面来看,目前国内这方面的法律、法规指导意见缺失,启动开源项目这块需要提前布局。

建木项目在沟通渠道的选择上,除了开源社区比较传统的邮件列表、RFC、PR、Issue等通过开源协作平台互动交流的形势。目前根据观察来看,实时在线的微信、企业微信、飞书也作为一个重要的沟通手段被国内大部分从业人员使用。在构建即时通讯为主的社区沟通渠道时,需要利用好即时通讯工具的优势和劣势,从而能更好的使不同类型的社区参与者能更高效的交流。微信作为国内主流的及时工具作为开源社区运营成为不可或缺的一部分,另外微信公众号、订阅也会作为一个比较核心的信息发布渠道推广开源社区的文章。不管通过何种渠道的沟通,最重要的是通过文章的方式记录并可追溯开源的整个过程。开源贡献不单单是代码的贡献,在一定意义上这是一个软件共创的过程。在这个过程上,需求、文档、问题记录、KB在一定程度上比代码对开源项目更具有价值。在建木项目的用户社区的运营过程中,也尝试了QQ群的建设和维护,从对现在群体的理解来看,新一代的大学生还更习惯于QQ这样的及时沟通,如何争取这部未来国内开源生力军也是一个有趣的话题。

第四章

国内开源未来


谈及国内开源的未来,长久来看还是不小的生命力和活力。从第一波以开源起家的公司、企业家和个人来看,其中不乏从应用或者基于开源软件商业化获得红利。随着这几年国家对开源的重视和战略布局,相信后续配套的相关政策和法律也会相对更加健全。开源商业化也会被更多的资本青睐,虽不想承认,但商业确实是一个加速推动开源的强大推手。通过开源创新的同时,资本也从其快速发展中获利,一定程度上是一个双赢的局面。但不的不承认,开源在国内还处于起步阶段,开源基础设施、开源文化、开源社区运营、开源商业化等领域亟待一批披荆斩棘的创业者们去开拓。

4.1  开源文化普及 

 

虽然开源软件进入中国有近60年的历史,在国内开源发展过程中也出现了几个小高潮,并且这个思潮也影响了一代互联网企业的走向。不得不承认,开源的引入加速了国内IT行业的发展和缩小软件行业国际差距。回顾这些年社区走过的路,Free Software文化已经逐步的消退,甚至国内大部分开发者都很难记得曾经的开源黄金时代。现在Open Source Software文化成为主流,并能很好的和商业结合,也符合时代发展的要求。

开源文化在不同时代、不同角色来看有着不同的解读。Free Software是属于开源理想主义时代,这个时代以技术为导向为全人类共同软件资产而奋斗,构建了全球的IT基础设施。Open Source Software是一种理想和商业不断驱动下软件模式,在商业化的过程中不断的反哺开源项目本身,并最终成就全球的开源共识。在国内投资人眼中,开源就是一种加速软件企业商业化软件的一种“催化剂”。通过软件开源的方式很容易判断一个开源软件是否可以在短期内被认同且病毒式以零成本的方式传播。在国内技术人的眼里,开源是一种高大上技术,认为自身可以贡献给开源社区代码是一件很牛的事情。

当下,国内对开源文化的理解还是比较浮于表面,没有通过开源的历史真正去了解开源的内涵。另外一个方面,开源文化本身也不断地在理想主义和现实主义之间切换。国内开源通识教育的缺失,让开源文化的圈子还是在很小范围的精英层才。开源如何大众化普及,让更多有理想主义的人参与开源社区、开源贡献,这样中国的开源事业才能有长足发展。在运营建木社区的这个过程中,接触下一代软件从业人员消费观念也发生了巨大的变化,更具有首创精神和独立思考的能力。高校及更加广泛的开源文化的普及,才是国内今后开源健康发展的第一要务。随着整个社会的群体认知和生活水平提高,没准开源历史还会反转,Free Software也会重新成为主旋律。当然当下还是“保持初心,商业上成功的开源软件才更具生命力!

4.2  开源社区运营 



国内开源社区运营方面,目前看到的主要还是效仿国外比较成熟的社区治理和社区运营模式,结合国内现状提升社区知名度和使用率。国内在开源政策和开源商业的推动下,必然会出现一批不同行业、不同领域的开源软件企业。结合现在出现的国内开源组织、开源基金会,也会更加清晰在开源社区运营过程中涉及的开源治理框架、开源社区宣传等方面突破。

从分析建木开源项目和国内开源社区的情况来看,建木开源社区和其它社区一样还处于比较早期阶段。国内开源社区如要较好的运营起来,还需要考虑如何通过开源的形式用户共创。目前来看未来可能会和大多数国外的社区一样会经历一个相对来说不那么短的共创的过程,以建木为引大概会经历如下过程:

  1. 消费者社区
    首先,需要通过更加易用的入门和为最终用户创造显而易见的价值,让相同兴趣的人们加入社区,并围绕建木展开讨论。在这个过程中分享使用体验和看法,并逐渐形成一定建木Hub节点消费和变成粉丝。利用建木Hub像组成物质的原子、组成DNA的基因、组成数字字节那样成为IT服务的最基础积木,开发者或者软件使用者可以像乐高积木一样组合创造自己都为止惊叹的“艺术品”。
  2. 拥护者社区
    其次,在用户消费建木的过程中得到切实价值,才能促使用户主动的帮助社区分享自己的心得体会和帮助开源社区成员。通过开源社区成员的成功来帮助建木Hub获得内容上的成功。拥护者可以不断的在自己有影响力的范围内为建木社区提供支持,实现内容共创。有切实价值且为最终用户自身内容共创,会让拥护者从中获利,进而投入自身更多的资源拥护社区。
  3. 协作者社区
    最终,建木项目在拥护者社区的基础上,就会出现协作者,他能主动的为自己的需求贡献自己的想法,并通过直接添加代码或者文档的方式社区协同,并完成产品共创。从而在获得自身价值在社区体现的同时也能获得产品共创的收益。

4.3  开源商业化 



国内开源商业化从起步来看,最早有基于CentOS、MySQL、Linux、JBoss、Hadoop等开源软件提供支持服务的团队和公司,通过IT服务的方式获得开源商业。早期这个商业模式相对来说是一个路径,很难持续更新和提升服务质量。随着国内软件开发人员的水平不断提高,开源从业人员成本也会逐年增加,很难持续的单纯靠开源软件服务能支撑团队。在近5年,基于开源软件封装企业自身的产品对外销售的模式也屡见不鲜。从目前国内来看主流的基于开源软件封装的产品多半的思路还是沿用原有IBM、Oracle等大型软件商业化之路。

从国际和国内互联网业务的趋势来看,开源软件的商业模式也在悄悄地变化。开源软件本身更关注用户群体的体验,原有开源软件作为一种软件资产的方式逐渐在变化。新生代的创业者、开发者逐渐被国际和国内的SaaS服务所吸引。这种模式就是不是单单的买软件许可证,更多的来看成为一个IT服务。从目前来看,随着云计算业务不断的普及,更多需要能落地打仗的团队。未来软件行业属于IT服务业,建木本要贴近最终用户以SaaS的方式验证商业价值才能更好的让“建木”项目持续有生命力的活下去。

在未来的软件及服务的新格局下,开源作为一个比较好的用户需求收集、用户反馈和多团队协同作业的模式。今后在大型客户那边是否有持续优化,通过提升用户免费试用、自身贡献等方式吸引并被教化符合了基本模型。

第五章

结语与展望


国内政策导向迎来了开源的春天,但开源培养体系、开源文化普及、开源基础设施亟待解决。国内开源基础设施还不完善,开源社区治理模型是否符合国内现状有待时间的检验。在运营开源项目的过程中,资本介入的时间和程度对项目运营团队会有很大的考验,开源是一个细水长流的事情,不要孤注一掷。

对于今后国内开源项目和开源社区,目前需要的是有一批满怀初心、耐得住寂寞、始终践行开源文化的实践者,共同实践并创造一个国内更大众化且符合中华文化的开源生态和开源商业模式。新生代在相对优越的条件下,期待爆发出更强的理想主义,从而让国内开源更具有想象力和生命力。

关于九州云:
九州云成立于2012年,是中国早期从事开放云边基础架构服务的专业公司。公司成立至今,始终秉承“开源·赋能云边变革”的理念,完成了从中心云到边缘云解决方案的拓展和积累,建立了完整的“云+边”生态体系和解决方案。九州云已先后为运营商、政府、金融、能源、制造业、商业、交通、物流、教育、医疗等各大行业的企业级客户提供了高质量的开放云边基础架构服务。目前拥有中国移动、中国电信、中国联通、国家电网、南方电网广东公司、中国人民银行、中国银联、中国人寿、中国资源卫星、eBay、国际陆港集团、东风汽车、爱立信等众多重量级客户。

国内外开源分析及实践