X-lab2017 / oss101-bok

https://www.x-lab.info/oss101-bok/
2 stars 4 forks source link

开源社区 #24

Open will-ww opened 1 month ago

will-ww commented 1 month ago

开源社区是开源创新的核心,一般是指由拥有共同兴趣爱好的人员根据相应的开源软件许可证协议公布软件源代码的平台,旨在为开发者提供一个自由学习交流的空间。开源社区在推动开源软件发展的过程中起着巨大作用,在整个开源生态体系中起核心作用。当前我们所身处的数字化时代几乎都是由开源社区孵化的开源代码作品所构建的,伴随着开源运动在中国的落地与发展,开源社区正处于从早期的无序发展向有序发展的过渡阶段,呈现出今天的开源社区百花齐放的繁荣景象。本章集中展现并总结了当前国内外各类社区的发展特点,并阐述了开源社区的运营和管理过程,同时结合中国时代背景和产业特点,提出了中国开源社区的几点未来发展建议。

开源社区的内涵

尽管“开源”一词最早出现于1998年,但开源的历史仍可再向前追溯三十载。20世纪80年代,围绕美国电话电报公司(AT&T)推出的操作系统Unix,来自世界各地的学者与开发人员通过不断的研究与交流,形成了成百上千个衍生版操作系统,以满足自身异质性需求。1991年,来自芬兰赫尔辛基大学的学生莱纳斯·托瓦兹(LinusTorvalds)开发出具有奠基作用的操作系统Linux,并公开全部代码,进而将自由软件运动推向顶峰。但随着运动的推进,人们越发感觉到“自由软件”(free software)一词不仅会产生歧义,更会阻碍企业、政府等主体的融人。为此,该运动的领导层于1998年在硅谷召开集会,一致决定将“自由软件”更名为“开源软件”,标志着自由软件运动正式过渡为开源软件运动。当时的Linux操作系统、桌面办公软件(GNOME、Open0fice)和浏览器(Mozilla)作为开源项目的主战场,掀起了第一波开源的浪潮随着开源项目规模的不断壮大,开源社区也逐渐形成。此后,围绕各类开源软件,来自世界各地的用户自发形成了数以万计的在线社区组织,旨在软件世界里构建起一个自由、透明的价值共创网络。

开源社区通常涉及参与者、项目与基础设施三个重要元素,其由参与者组成,围绕开源项目聚集,依托基础设施协同。当人们同意共同构建和改进开源软件时,开源社区就形成了。大多数开源软件社区没有正式的成员资格申请或批准流程。通常来说,人们参与项目的方式很简单,比如修复软件代码中的错误,为应用程序创建新功能,编写和完善文档,在会议和其他活动中宣传项目等工作。个人参与社区的动机各有不同,一部分人参与开源社区是因为软件工作是他们工作的范畴,或者是因为他们的组织雇佣他们来开发软件,又或是因为他们的工作依赖于软件的良好运行;一部分人参与开源社区为了学习和提高个人技能:还有一部分人是为了社交,或者为了一种认同感和归属感。开源社区围绕开源项目展开,因此社区发展需要依托一个好的项目,一个有发展潜力的项目可以吸引足够多足够优秀的人来一同建设。开源基础设施涉及开源代码托管平台、技术社区(包括网站、问平台、技术图谱)、工具产品(包括开发工具、代码安全工具等)。基础设施影响社区成员的活动方式。如在早期阶段,参与者仅能从文档了解项目,现如今介绍文档已经不仅限于文字形式,参与者还可以通过视频或即时通信技术直接了解项目的实际情况。

经过多年的发展,学界已对开源社区形成了具有高度趋同性的定义开源社区一般指围绕开源共识,受共同实践所驱动,以软件源代码为核心,由地缘空间分散但拥有共同兴趣爱好的开发者根据相应的开源软件许可证协议,以民主、合作的形式进行软件的共同开发、维护、增强等知识创造与传播活动的网络平台,同时也能为成员展开交流学习与共同治理的网络组织。

开源社区是一个以开源创新发展为目标,由共同身份和集体目标相联合,为广大开发者、测试者、捐赠者和用户提供集邮件列表论坛、互联网中继聊天(IntermetRelayChat,IRC)和各种会议的交流平台。在这个平台上,大家集众智、采众长,加速技术迭代升级,促进产品协同创新,为推动社区项目发展、完善社区管理体系贡献力量。

开源社区的分类

20年来,中国开源社区发展从无到有,欣欣向荣。中国的开源社区起初以 Linux爱好者为主导,最早出现于1998年。早期中国的社区多为个人爱好者兴办,社区的发展规模和影响力有很大的局限性,因此中国第一代社区的持续发展能力不足,大多销声匿迹。后来,随着互联网的兴起,开源的项目和技术呈现百花齐放之盛况,从数据库到中间件、从前端到后端、从编程语言到编译器、从物联网到微服务、从大数据到人工智能,开源的技术和项目越来越丰富和多样化。在此趋势下,自2008年起,中国第二代开源社区纷纷登场。近几年,随着移动互联网和云计算、AI在中国的蓬勃发展,中国开始涌现出大量开源项目的开发者,开源社区进入第三代。典型代表包括开源中国社区、木兰开源社区、GitCode、OpenI 启智开源社区等。第三代社区的典型特征是在社区运营和管理上更加中立和平衡,且社区内包含不同来源的众多开源项目。

目前中国的开源社区已经从第一代--启蒙、传播开源理念、推动开源使用,进入了第二代--积极参与代码贡献、影响开源,并逐渐向第三代发展--完善开源生态环境,形成开源生态链,做强做大、引领开源事业。根据中国开源软件推进联盟最新统计,截至2022年3月,中国各种类型开源社区已经超过500个,按照门户型社区、项目型社区和用户型社区三类进行归总,其中约85%为用户型社区,约11%为项目型社区,4%为门户型社区。

1、用户型社区

用户型社区主要是开源爱好者自发形成的小型社区,以知识分享、经验交流和传播开源文化为主要目标。其中最为典型的有开源社、GoCN社区、Python 中国社区、龙芯俱乐部等,多数仍然属于第一代开源社区。

2、项目型社区

项目型社区主要是指聚焦特定开源项目的社区,该社区一般包括代码贡献和协作、集成测试、应用实践、用户反馈等核心功能,大部分项目型社区由背后的机构或企业来资助或直接运营。其中最为典型的有欧拉(0penEuler)社区、0penHarmony社区、Apollo社区、Apache SkyWalking社区、华为MindSpore社区等,属于第二代开源社区的典型。

3、门户型社区

门户型社区平台是指具备开源代码、项目孵化、开源治理、媒体等多种服务功能的社区,其他垂直小众社区也在该社区平台构建自己的影响力。其中最为典型的有开源中国社区、木兰开源社区、OpenI 启智社区鹏城汇智平台等。其中部分具有第三代开源社区的特点,通常包含众多不同来源的开源项目,同时也接受开源项目的捐赠和托管。