当前位置:网站首页>Dialogue with Zhuang Biaowei: The first lesson of open source
Dialogue with Zhuang Biaowei: The first lesson of open source
2022-07-31 15:31:00 【dotNET cross-platform】
庄表伟目前就职于华为的开源管理中心.自2014年开源社成立之初,他便友情参与了开源社的筹办工作.2017年,开源社转型为完全由个人成员组成的组织,庄表伟就以个人身份加入了开源社.作为开源社理事,当被问到“为什么要参选”时,庄表伟说道:“因为义不容辞.我希望能够以开源社理事的身份,继续做更多开源相关的工作.这是我的乐趣所在,也是我的责任所在.”
乐趣、责任,两个词织就了庄表伟本职工作和业余生活这两块绚烂的画布.他曾经这样形容开源的内核——“开源能推动我走到现在是因为开源的内核就是好玩”.他喜悦于布道者的身份履行其职责,把这份好玩与喜悦传递给更多的人.
开源拥有巨大的价值,这一点他也常在布道中反复提醒人们善用这巨大的宝藏.在一次专访中,他提到,开源提供的开放环境能够让一个团队走出永远在加班的死循环,让团队抬头看到外面的新技术、新方向,最终使得团队创造更高的价值.
从开源文化到开源商业化,从开源技术专家到开源社理事,庄表伟接受开源社的专访,为开源"新手”进行了一场生动的开源科普.
庄表伟接受开源社专访相关视频
Q1:请简单介绍一下开源的历史及价值
A:开源大致可以分为三个阶段.
首先是前开源时代,当时能够使用计算机的人都是顶尖的计算机科学家,对于他们而言,源代码相当于是可以被公开发表的论文,因而那时候的源代码是共享性质的.
接着是闭源时代,由于计算机的普及导致盗版软件的泛滥,所以大量的公司和个人开始自己开发软件,且不再交流源代码.
接下里的是自由软件时代,当时的自由软件运动规范了用户获取、使用、修改和再分发源代码的权利.
在1998年,Free Software之外,Open Source运动兴起,开源从此有了正式的定义.
开源的本质是开放性的协作,这也是它的价值所在.一群互不相识的陌生人凭借自己的才干将一个更新的、更好的开源软件以更快的速度开发出来.这种协作模式颠覆了传统,使得世界正在加速变化.
正如有句话所言:“软件吞噬世界,开源吞噬软件”,开源是非常值得我们去了解和研究的对象,它将有助于我们去了解今后世界的变化.
Q2:开源的协作模式如何理解?
A:为了更形象地理解开源,我们可以打个比方.我们知道全自动料理机可以按照自带的菜谱做菜,其本质就是机器在执行代码程序.
而开源就是我们在能够看到每一道菜的制作方法的基础上,还能够对菜谱进行更改,之后我们还可以把新的菜谱分享出去,这样一个可编程、可分享代码的自动料理机就是一种开源模式.
我们还可以用另一种来解释什么是开源的协作方式.当我们公开一份作业给全世界,然后大家一起来改进,一起来完成全世界最好的作业,这也是一种开源的协作方式.
当然,在这个比喻中合理存在的只是协作方式,真正的开源不存在布置作业.在开源社区中第一个写代码的人不是在完成作业,而是他有一个好点子,并在落实后将其开源,在这个过程中没有人命令他去做,也没有谁让他去交作业.所以,开源不完全是大家一起做作业,但这个比喻可以让大家更好地理解何为开源的开放性协作模式.
Q3:“开源”仅存在科技世界里么?
A:我不这样认为,还是拿菜谱举例.有一个叫做《隔离食用手册》的在上海疫情封控期间流行起来的网站,其本身就是一个在GitHub上的开源项目,我们可以在网站里输入自己拥有的原材料和厨房用具,随后网站就会告诉我们应该做什么菜并且提供相应的菜谱链接.在这个开源项目里,每个人都可以参与其中,为网站增添更多的菜谱,为人们提供更多的选择,这个过程既是开源的过程,也是开放协作的过程.
因此开源对于我们每个人来说都有很大的作用和存在的价值.其实在生活中我们接触到的开源软件有成千上万种,包括学习类、工具类、游戏类、音乐类等.像我自己正在使用的在线写作工具Markdown、记事本软件Logseq还有视频播放器VLC Player,都属于开源软件.包括我们最常使用的微信,它的背后也有开源软件的支持.所以说开源和开源的开放协作方式充斥于我们的日常生活中.即便是非技术行业人员,也是每天都在接触开源.
Q4:如何甄别产品是否应用了开源技术?
A:首先我们其实基本可以发现我们使用的软件或多或少都有开源技术的存在.当然如果我们要进行甄别的话,当任意一个软件当中使用了或者修改过开源技术,那么都要做相应的开源软件使用声明.这是一个合规的声明,也是开源合规的一部分.
Q5:对于一些大学生和刚接触开源的爱好者来说,对开源很感兴趣,但是如何去做开源项目或者获得资金支持方面可能很难获取到相关的信息和资源.您可以分享一些您的经验么?
A:我给大家分享一个网站叫做coss community.
在这个网站中,它会收集并且分享所有它所能知道的商业化开源软件的信息.当开源企业或者开源项目获得了巨额投资,它也会陈列出来.我们在这个网站中,可以学习到很多商业化的案例.
另外,文章《DataBricks从开源到商业化踩过的坑》中可以看出作者对于开源商业化理解:它是一个非常庞大并且复杂的问题,且具有众多的商业模式,其中包括但不限于开放核心(有时被称为双重许可或多重许可)、软件即服务(不是对软件收费,而是对工具和平台收费,以消费软件作为服务,通常通过订阅)、免费、基于捐赠的资金、众筹和众包模式.几种不同类型的商业模式均可以通过开源软件(OSS)盈利,或者为开源的持续开发、维护提供资金.
当然作为大学生,我个人觉得没有必要考虑到那么多问题,在学生时代或者早期做一些开源项目,更大的动力来自于你个人的兴趣爱好以及那些和你一样对开源有兴趣的小伙伴们,享受这个过程是最重要的.
Q6:如何了解到最新的国内外的开源信息?
A:相对来说,国内的开源中国会有一些很不错的报道和文章,同时我们开源社也会对国外的好的文章和报道进行翻译.
在国外的话,基本每一家公司都会开通一个博客去介绍其公司的开源情况,例如谷歌、微软、亚马逊等都有自己开源相关的blog.
另外,例如自由软件基金会、开源基金会等,都会在他们的官网定期放一些开源相关的文章或者blog.
但是很多时候,泛泛的去找这些消息是非常困难的.所以如果你想要深刻地了解某一个领域的特定的最新的情况,还是要动用搜索,而且最好是在谷歌上搜索.除了在谷歌搜索外,Linux中国(https://linux.cn)这个网站的内容也是十分丰富的.
Q7:如何去寻找到更好的开源信息或者甄别信息的真伪?
A:其实在甄别信息这一方面,更多地还是要积累一定的经验.当你对开源这个领域越来越熟悉,那么你对于开源的信息也会越来越了解,在那个时候对于一条信息的真假,也能更好地辨别.还有一种甄别信息的方法,就是得到第一手消息.有一个信息源是邮件列表,如果你特别感兴趣某一个特定的开源软件的话,你就订阅那个开源软件的邮件列表,然后去了解他们那些人在邮件里面聊什么东西,这个也是一个第一手的信息.
在现阶段的情况下,我们需要多多交流,互相分享,让大家能够更快更好地熟悉开源.
Q8:开源社区本质是什么呢?
A:社区本质上就是一群人为了共同的目标走到一起.大家不断的去想为了实现这个目标可以做点什么,再把这个目标发展壮大.
我们一直在讲的“开源的本质是一种开放式的协作”.我们掌握了这种开放式的协作,就不仅是可以用来写软件,也可以用它来写文档、做视频、直播、音频等各种各样的输出,也可以一起来办活动和开会.
同理我们也可以用这种方法在其他的领域做运用.比如做一个舞蹈协会、象棋协会之类的一个团体.
当这个团体想要在一起做点事情的时候,他们完全可以把开源的理念应用到自己的这个领域去.当我们用某种开放性的思路去看,我们现在的工作,学习生活以及其他的领域的时候,做开源就不仅仅是局限在一个单纯的软件领域.大家通过相互信任,凭借着一种开放的心态,以及一种乐趣来做事,这样的模式是肯定可以推广出去的.
Q9:开源社成立、发展以及未来的规划是怎么样的.
A:开源社理事会最清楚这些,每次我们开会都会讨论今后的规划,除了每年我们会坚持开年会等,很多事情都是聊出来的.
第一是所有开源人感兴趣,第二就是有可能对中国开源有帮助,这些过程可以达成共识.我们认识了这么多在中国做开源的朋友,希望把这些朋友介绍给更多的人认识,也希望他们能够逐渐成为社区里面的意见领袖或者关键人物,于是,我们就开始做这样的一个开源先锋33人活动.在这个过程当中,我们也越来越明确了做这件事情是有意义和价值的.到今年,又聊出一个面向开发人员的项目,后来我就起了一个名字叫“开源码力榜”,就是开源代码能力的榜单,“码力”和“玛丽”很像,然后做出了这样的一个榜单.
同时,我们开源社近些年吸引了各行各业以及高校志愿者加入了我们,我们特别希望的是开源社这些志愿者能够积极参与进来,这些志愿者不仅仅是去完成分配的任务,还可以迸发出一些新的东西,把自己当成开源的推动力量,而不仅仅只是执行者.在这个过程当中,志愿者们不仅获得了乐趣,也收获了成长,更重要的是,如果我们的推动有有效,那将会对整个中国的开源有切实的帮助.
Q10:开源社是一个拥有"共享""贡献"精神的社区,对于参与到开源社的志愿者们来说,作为理事,您有什么期待么?
A:例如媒体组的同学,有兴趣的话可以看一看开源社原来的文章.在看的过程中分门别类,整理到我们开源的官网,变成官网文档库的一部分,这是第一步.
第二步是发现.我们媒体组或文案组会不断的编辑文章并发布,我最希望的是不仅是排版,而是去发现有没有改进的地方,形成更多自己的观点以此提高判断力.我们前面说到国外有很多新闻是与开源相关的时事报道,我们或许能从仅排版变成翻译,从翻译变成评论,甚至变成点评.这样一来我们就会有更多更深的了解.
我们在思考,有没有可能也培养出一些开源的记者,他们能够对这个领域有相当深入的理解,而且能够写出自己的东西来.有观察,有思考,有评论,这样的过程就会带来很大帮助,也是记者们一种成长的路径.像做动画、做动漫、写脚本其实也是一样的,都是输出内容,而这些输出的质量就取决于我们的创作者对于开源本身的理解.有深度,有广度,才能够做得更好.
Q11:您所在的开源社发布了四大使命,可以简单说说为什么开源社确立了这些使命么?
A:四大使命就是开源治理、国际接轨、社区发展、开源项目.
开源治理分为内外两种.一个是开源社区的治理,另一个是开源使用的治理.我有一个开源项目并希望运营好,这是社区运营,是治理的一部分.如果制定一些规则,如使用条款、行为规范、小小群的管理规则,投票规则等,也是治理的一部分.再比如我希望项目能吸引谁来,发展什么样的合作伙伴,也是偏商业运营的部分,属于开源治理的范围.
另外一部分就是企业.我们用了成千上万款外面的开源软件,这些软件如何使用,就需要规范和管理.所有开源软件都可能有漏洞,甚至被恶意投毒,我们在社区里报告安全漏洞,及时通知团队尽快替换或修补,这就是开源治理的一部分.再比如开源软件声明,如果要发布,就要声明用了哪些开源软件,这本身就是法务合规的一部分,我们要保证软件在使用时、修改后、发售中都合规,这些都是开源治理的一部分,加在一起就是开源治理.而开源社的工作就是向整个国内所有开源领域的朋友们去介绍,而不仅仅只是写代码.想让开源项目发展的好就必须了解开源治理相关的知识,这就是开源的一大使命.
关于国际桥梁,回头看一路走来的发展历程,我们注重把外面的人“请进来”,如把外面的文章翻译进来,也希望我们的人“走出去”,知识和信息内外都有交流,这也是理念所在.
开源一定是全世界的,是全球化的.关起门来,闭门造车的中国开源是不可取的,一定要在全世界的范围内去做开源.我们会发现国际上有很多做开源社区的朋友,这些基金会大牛们的经验非常宝贵,所以我们每年年会,都会请他们来做主题演讲或技术分享.
社区发展,开源社在中国的一个重要使命就是我们希望发展中国大大小小的各种各样的开源社区,走出中国,走向国际.
如开源项目捐赠到阿帕奇基金会,在里面孵化的一些过程.在这样的过程当中,就会帮助阿帕奇的项目或是让中国的阿帕奇开源项目有所发展.
另外一方面是给开源社一个定位,就是“开源社区的社区”或“开源社区的联合国”.我们希望团结越来越多的社区,大家一起共享,共创一些工作来发展壮大,这是社区发展一个很重要的部分.
推荐阅读:
| 出品:开源社编辑部
| 作者:高旖阳 张雨晗 和灿阳
| 审稿:袁睿斌 聂子涵
| 编辑:梅嘉宜
| 责编:钱睿
| 设计:张晨曦
| 视频:沈于蓝 张晨曦 陈轶姝 赵玭月
开源社简介
开源社成立于 2014 年,是由志愿贡献于开源事业的个人成员,依 “贡献、共识、共治” 原则所组成,始终维持厂商中立、公益、非营利的特点,是最早以 “开源治理、国际接轨、社区发展、开源项目” 为使命的开源社区联合体.开源社积极与支持开源的社区、企业以及政府相关单位紧密合作,以 “立足中国、贡献全球” 为愿景,旨在共创健康可持续发展的开源生态,推动中国开源社区成为全球开源体系的积极参与及贡献者.
2017 年,开源社转型为完全由个人成员组成,参照 ASF 等国际顶级开源基金会的治理模式运作.近七年来,链接了数万名开源人,集聚了上千名社区成员及志愿者、海内外数百位讲师,合作了近百家赞助、媒体、社区伙伴.
边栏推荐
- 微信聊天记录中搜索红包
- ASP.NET Core 产生连续 Guid
- The use of border controls
- R语言ggplot2可视化:使用ggpubr包的ggboxplot函数可视化分组箱图、使用ggpar函数改变图形化参数(caption、添加、修改可视化图像的题注、脚注内容)
- Why is the field of hacking almost filled with boys?
- 435. 无重叠区间
- Doing things software development - the importance of law and understanding of reasonable conclusions
- Synchronized and volatile interview brief summary
- What is the difference between BI software in the domestic market?
- QGIS 加载WMS数据,重新投影
猜你喜欢
随机推荐
Delete table data or clear table
Emmet 语法
ASP.NET Core generates continuous Guid
.NET 20周年专访 - 张善友:.NET 技术是如何赋能并改变世界的
R语言向前或者向后移动时间序列数据(自定义滞后或者超前的期数):使用dplyr包中的lag函数将时间序列数据向前移动一天(设置参数n为正值)
Kubernetes原理剖析与实战应用手册,太全了
01 Encounter typescript, build environment
Public Key Retrieval is not allowed error solution when DBeaver connects to MySQL 8.x
Unity中实现点选RenderTexture中的3D模型
JVM parameter analysis Xmx, Xms, Xmn, NewRatio, SurvivorRatio, PermSize, PrintGC "recommended collection"
工程水文学名词解释总结
多主复制下处理写冲突(4)-多主复制拓扑
TRACE32——常用操作
工程力学复习资料
update data table update
格林美瑞交所IPO:募资3.8亿美元 更多中国企业将赴欧洲上市
工程流体力学复习
修改SQL语言实现Mysql 多表关联查询优化
QGIS 加载WMS数据,重新投影
Female service community product design