那么今天呢,我就来给大家介绍一下关于openEuler还有开源社区建设的一些事情。
这就是我今天分享的一个大致结构

PART ONE 开源社区简介
好,那么接下来呢,我们就从第一个部分开始,讲一讲什么是开源社区。
首先,有人可能会好奇,为什么有些公司要开源呢,自己写的代码自己偷偷藏着不好吗?其实并不是这样,我将开源的原因分为了两个层面,一个是无私的层面,一个是自私的层面,无私的理由无非是能够建立一个开源的社区,帮助他人,结交朋友,但是大家也都知道,如今我们做的一些事情多多少少都会带有一些目的性,开源也是一样。公司的开源可以帮助自身提高代码质量,挖掘潜力员工,夸大影响范围等等。
我们一般把一个开源软件的开发视为一个开源项目,或者说是一个工程项目。对一个开源项目来说,社区是至关重要的。活跃而强大的社区可以说是是项目的心脏。而如何建立一个成功的开源社区,是非常值得我们学习的事情。
那么到底什么是开源社区呢?
开源社区又称开放源代码社区,一般由拥有共同兴趣爱好的人所组成,根据相应的开源软件许可证协议公布软件源代码的网络平台,同时也为网络成员提供一个自由学习交流的空间。
其实,在我去详细了解什么是开源社区之前,我一直以为开源社区就是由一些开源代码构成的一个数据库,不会去更新,也没有人去管理。
但当我查阅了一些资料之后我发现,开源社区,需要很多人去参与开源社区的维护与建设,有管理者,也有提供帮助的参与者。大部分的开源社区建立的目的基本都是为需要这部分代码的其他人提供帮助。而管理开源社区,也是一件很复杂的事情,管理者需要去审核别人提交的代码,当然也可以自己写一些代码。与此同时,也有管理者选择放手,让其他参与者将在关键决策过程中发挥越来越重要的作用,从而增强社区的稳定性。
PART TWO 开源社区建设
大致了解了一些关于开源社区的背景之后,我们就来了解一下开源社区的建设
1.技术层面
在这个层面其实没什么好说的。因为大家也都知道,如今这个国际形势的问题,中国想要进步就必须搞一些技术突破。还有就是你作为一个开源社区,你必须得拥有一些独特的东西,这样才能吸引更多的参与者。
2.组织层面 (社区的开创者角度)

我之前上网也是找了一些相关资料,但是其实这个是一个仁者见仁智者见智的东西,不同的文章有很多部分都不一样。那我在这个层面我就按照自己的理解来构建了一个大致的脉络。
社区创建之初可能非常小,可能只有一两个开发者,几乎没有用户。根据项目的类型,这种情况可能会持续一段时间,甚至几年。这种时候就要耐得住寂寞。
我记得,Eric Raymond 在《大教堂与集市》中指出,成功的一个必要条件是,开发出可运行、可测试的东西,让游戏继续下去。但是,为什么我要强调尽早呢。主要是因为,我认为,即使你觉得你的代码不完整,有bug,也应该趁早把他们发布出去。因为这样做可以获得宝贵的早期反馈,帮助自己还有团队建立自信。
对于一个成功的开源社区来说,大量的用户和参与者十分重要。那如何能获得更多的支持者呢?首先是要对开源社区进行推广,并且体现出一些与竞争产品相比的优势,这样才能引起用户的兴趣,在这些用户之中,必然会有些用户提出一些宝贵的意见或者是贡献代码,这个时候,我们要给积极参与的支持者以奖励,这样就会有越来越多的人参与到社区建设中来。
然而,随着参与者逐渐增多,若不进行进一步的管理,代码就会越来越碎片化,社区就会变得不稳定。面对这样的情况,我们在社区初期可以只由一个人负责开发主要新功能并审核 贡献的代码。但是随着社区逐渐发展壮大,我们需要尽快构建出一个治理体系。就像国王身边一定要有大臣一样。而每个社区的管理方式多多少少都有所不同,比如裴老师之前在群里发的文章里面的洋葱模型,或者是一些其他的模型。
当然,管理开源社区是一门很深的学问,光有这些主线问题是不可能完全一言以蔽之的,在真正的管理过程中,还会遇到各种各样的小问题。比如如何调动参与者的积极性,避免其产生厌倦情绪,或者如何理智地听取参与者的意见等等,因为这些东西非常的繁杂,我就不在这里赘述了。
3.经营层面
如何形成一种良性循环呢?这就要看我们开源的目的是什么了。站在openEuler社区的角度上,开源的目的是吸引更多的参与者和用户,进而达到扩大影响力以及优化代码的结果。所以我认为应该去构建开源生态。生态是什么,生态就是一种生态系统,我们都知道,生态系统在生物学上是由群落间的相互作用以及周围环境所构成的。那么我们再来看开源生态,我认为,形成开原生态就是形成了一种自给自足的关系,也就是我们所说的良性循环。对于向openEuler这样的操作系统来说,在开发的过程中应该努力让自己与更多的应用程序兼容适配,扩大影响力,这样在操作系统产生技术创新后,就会吸引更多的用户,除此之外,基于该操作系统的应用程序也能更快速去创新,这也反过来刺激了开源社区本身,使其尽快进行技术突破,形成一个良好的生态环境。
PART THREE 开源社区实例
接下来,我们通过一个开源社区的实例来帮助大家更好的了解有关开源社区建设的知识。
大家刚刚也都看到了,我今天的这个分享的主题是从openEuler项目看开源社区建设,那么肯定得讲一些关于openEuler社区的事情。为了确保内容的真实性还有就是严谨性,这部分分享的大致内容我也是去向openEulerTC委员会委员咨询了一下,就是技术委员会。
开源社区OpenEuler是2019年华为成立的一个开源社区,仅用一年即成中国最具活力的开源社区。openEuler最早可以追溯到2010年开始研发的操作系统Euler,后来Euler开源后改名为openEuler,成为了一个开源社区。
对于操作系统来说,以前我们国内通常是把人家建好的房子整体拿过来,重新刷上油漆,打上自己的logo,openEuler的做法则是直接从森林里伐木头,自己设计、打磨、组装,从底到上完全是自己设计和构建的。
组织结构
作为一个成功的社区,openEuler社区的组织结构是非常合理的。
openEuler 开源社区秉持“共建、共享、共治”的理念,社区治理组织架构包括秘书处、安全委员会·技术委员会和 SIG,


除此之外,openEuler还十分注重生态的作用。技术创新带来商业的成功,商业成功就会反哺生态,生态就会繁荣起来。技术、商业、生态,是一个持续的循环。openEuler社区理事长江大勇从全产业链的角度提到:openEuler 作为一个生态的核心,对下连接多样性计算,让更多硬件厂商可以灵活地接入 openEuler 操作系统;对上适配行业多场景,形成统一的技术软件生态,让更多的应用能够敏捷地创新,最终“百花齐放”。
除了组织结构还有生态,其实我特别想在今天的分享中讲一些例子,就是像openEuler这样的大型的社区,在面对社区中出现的一些重大问题的时候,是怎么操作的,怎么转危为安的。所以我最近一直在搜索这件事情,但是不出意料,我啥都找不到,首先是因为现在openEuler社区已经相对稳定,不容易出现这种事情,再说退一万步讲,就算有这种重大问题发生,负责人也是不会将这种事情放到网上去的。我查询了openEuler社区历次TC会议的会议记录,其中的议程大部分都是新成立的一些sig组的申请,或者是一些小软件的升级。大家如果对这个感兴趣的话,我可以以后把网址发给大家。
PATR FORE 理论知识
最后,我们来分析一下开源社区建设背后的理论知识。
其实开源社区建设这件事情涉及到的深层次的理论知识很多,因为它并不是一件很容易的事情。比如,开源社区在某些方面和公司这种体制很像,那么公司在一般的日常中需要去做的事情,社区也需要去做,公司需要管理,社区也需要管理,这个时候管理者就可以应用到组织心理学。
那么什么是在组织心理学?组织心理学是一门研究组织管理中人的心理现象及行为规律的学科。它强调以人为中心,协调组织中的人际关系,改善组织的环境和条件,调动人的积极性、主动性和创造性,从而实现组织目标,达到个人和组织共同发展。简而言之,如果我是社区的管理者,那么我就可以通过研究其他参与者的心理还有行为,从而得出结论,并且做出行动。比如我发现,我手底下有一个委员会的成员,他这两天非常的消极,朋友圈都阴沉沉的,那我能看出什么,他要不就是遇到了什么不好的事情,要不就是嫌弃我给的工资太少了。不能让他继续这样下去啊,因为社区还有替他的人,他要是再一直这样,那不把社区的风气都影响了?所以我知道,我得采取一些行动,要么就是发邮箱私信聊一聊,要么就是看看他的工资是不是配得上他最近贡献的代码。
除了组织行为学,开源社区的建设也离不开计量经济学。计量经济学,这个名词一听就差不多和钱有关。其实大家可能有一个误区,就是开源社区他到底赚不赚钱。有很多不了解的人可能觉得他是不赚钱的,毕竟软件都免费了。但是其实并不是这样。大部分的开源项目是赚钱的,除非就是纯粹爱好,或者是造福大众。因为我的软件虽然免费,但是我的服务可以收费呀,我软件里的附加功能可以收费呀。其实拿游戏来做比喻很合适,虽然下载游戏是免费的,但是你会忍不住去往里面氪金,而且游戏本身是有广告位招租的。除此之外还会有一些基金会的参与。这就和我们之前说到的开源生态有关了。
大家可以看一下这张图片,这个就差不多是能囊括大部分开源社区情况的一张图片了。

大家可以把开源软件基金会设想成公司,开原社区则扮演了项目开发团队的角色。既然很多开源没社区都是盈利的,那里面一定会用到计量经济学的知识。我个人感觉计量经济学这门学科与我们身边接触到的数学建模比较相似,只不过问题都是和经济有关,也有一些固定的模型。虽然计量经济学用在股市预测上比较多,但是并不仅仅限制于此。
因为我最近两天在看计量经济学的书,所以正好,我想通过一个例子来给大家讲一讲社区建设的过程中到底在什么地方应用到了计量经济学。这个例子比较浅显易懂,就是作为一名社区的管理者,如何根据一些个人的情况来判断应该给固定参与社区管理的人员多少工资,其中应该考虑到相同背景人员在不同社区所得到的工资应该是差不多的,以及水平不同人员在同一社区所得工资应该是不一样的。如果一个社区可以将分析得出的最终工资结论展示给社区人员,并且承诺,社区人员可以得到高出这一数据的工资,那么人自然是都能留住了。这是一个典型的横截面数据的回归分析。基本的经济常识就是我们认知到所受教育经历,工作经历,培训,贡献度因素会影响社区人员的工资。那我们就可以得到如下模型:
wage=f(educ,exper,training,contri);
这个就是一个经济模型,但是光知道他们与工资有关还不行,我们还需要知道具体的关系,以达到预测的目标。所以我们猜想

这就是一种计量经济模型
接下来我们就需要通过一些数据来进行回归分析,从而拟合出那位未知数。那首先我们要
收集数据

类似于此
最后将数据输入到一些专门用于计量经济模型的软件就可以得出最终系数。当然也不知道大家了解不了解,用excel啊用python啊也可以实现这一步。只不过可能过程略显繁琐。
其实计量经济学除了我刚才讲的横截面数据的回归分析,还有时间序列数据的回归分析,就是大多都用在股票预测上,当然除此之外还有很多复杂的问题,比如先导和滞后问题,就是可能让你研究两年之后的事情。或者是根本不回归的问题,大家都知道回归不就是研究一组随机变量(Y1 ,Y2 ,…,Yi)和另一组(X1,X2,…,Xk)变量之间关系的统计分析方法,但是如果当一组变量之间不存在协整关系了,那就容易出现假回归。这个也需要一些特定的方法去解决。
好,那么我今天的分享也差不多该结束了,希望可以对家大有帮助,感谢阅读~
本文介绍了开源社区的概念、重要性和建设过程,以openEuler为例,探讨了开源社区从初创到成熟的技术、组织和经营层面的策略。开源社区的建设需要独特的技术特点、合理的组织结构和有效的经营管理。openEuler社区的成功在于其‘共建、共享、共治’的理念,以及对生态建设的重视。文章还提到了开源社区管理涉及的组织心理学和计量经济学知识,以及如何运用这些理论进行社区建设。
2400

被折叠的 条评论
为什么被折叠?



