对话庄表伟:开源第一课

c654fb1af8a1de96e74cfab38c0356c8.gif

230789cd16e5a3b93283aff3b5207ba0.jpeg

庄表伟目前就职于华为的开源管理中心。自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:四大使命就是开源治理、国际接轨、社区发展、开源项目。

开源治理分为内外两种。一个是开源社区的治理,另一个是开源使用的治理。我有一个开源项目并希望运营好,这是社区运营,是治理的一部分。如果制定一些规则,如使用条款、行为规范、小小群的管理规则,投票规则等,也是治理的一部分。再比如我希望项目能吸引谁来,发展什么样的合作伙伴,也是偏商业运营的部分,属于开源治理的范围。

另外一部分就是企业。我们用了成千上万款外面的开源软件,这些软件如何使用,就需要规范和管理。所有开源软件都可能有漏洞,甚至被恶意投毒,我们在社区里报告安全漏洞,及时通知团队尽快替换或修补,这就是开源治理的一部分。再比如开源软件声明,如果要发布,就要声明用了哪些开源软件,这本身就是法务合规的一部分,我们要保证软件在使用时、修改后、发售中都合规,这些都是开源治理的一部分,加在一起就是开源治理。而开源社的工作就是向整个国内所有开源领域的朋友们去介绍,而不仅仅只是写代码。想让开源项目发展的好就必须了解开源治理相关的知识,这就是开源的一大使命。

关于国际桥梁,回头看一路走来的发展历程,我们注重把外面的人“请进来”,如把外面的文章翻译进来,也希望我们的人“走出去”,知识和信息内外都有交流,这也是理念所在。

开源一定是全世界的,是全球化的。关起门来,闭门造车的中国开源是不可取的,一定要在全世界的范围内去做开源。我们会发现国际上有很多做开源社区的朋友,这些基金会大牛们的经验非常宝贵,所以我们每年年会,都会请他们来做主题演讲或技术分享。

社区发展,开源社在中国的一个重要使命就是我们希望发展中国大大小小的各种各样的开源社区,走出中国,走向国际。

如开源项目捐赠到阿帕奇基金会,在里面孵化的一些过程。在这样的过程当中,就会帮助阿帕奇的项目或是让中国的阿帕奇开源项目有所发展。

另外一方面是给开源社一个定位,就是“开源社区的社区”或“开源社区的联合国”。我们希望团结越来越多的社区,大家一起共享,共创一些工作来发展壮大,这是社区发展一个很重要的部分。

推荐阅读:

《干货分享|开源:献给世界的礼物》

《2021 开源社年度报告:开心开源》

| 出品:开源社编辑部

| 作者:高旖阳 张雨晗 和灿阳 

| 审稿:袁睿斌 聂子涵 

| 编辑:梅嘉宜

| 责编:钱睿

| 设计:张晨曦

| 视频:沈于蓝 张晨曦 陈轶姝 赵玭月

开源社简介

开源社成立于 2014 年,是由志愿贡献于开源事业的个人成员,依 “贡献、共识、共治” 原则所组成,始终维持厂商中立、公益、非营利的特点,是最早以 “开源治理、国际接轨、社区发展、开源项目” 为使命的开源社区联合体。开源社积极与支持开源的社区、企业以及政府相关单位紧密合作,以 “立足中国、贡献全球” 为愿景,旨在共创健康可持续发展的开源生态,推动中国开源社区成为全球开源体系的积极参与及贡献者。

2017 年,开源社转型为完全由个人成员组成,参照 ASF 等国际顶级开源基金会的治理模式运作。近七年来,链接了数万名开源人,集聚了上千名社区成员及志愿者、海内外数百位讲师,合作了近百家赞助、媒体、社区伙伴。

cfe28749b27c47fbca49e865361a09da.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/284232.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【FME实战教程】002:FME完美实现CAD数据转shp案例教程(以三调土地利用现状数据为例)

FME完美实现CAD数据转shp案例教程(以三调土地利用数据为例) 文章目录1. cad数据预览2. 转换过程3. shp数据预览1. cad数据预览 2. 转换过程 (1)打开FME Desktop2020中文软件,点击【新建】。 (2&#xff09…

【GlobalMapper精品教程】017:KML generator快速将坐标转为KML文件

本文介绍KML generator软件,并快速将坐标转为KML文件的使用方法,并用globalmapper中打开kml文件加以验证。本专栏配套完整的案例数据包,请打开data017.rar获取软件及数据。 文章目录 1. KML文件介绍2. kml generator软件介绍2.1 单点KML制作2.2 Excel数据KML制作2.3 文本文件…

模型验证组件 FluentValidation

FluentValidation 是 .NET 下的模型验证组件,和 ASP.NET MVC 基于Attribute 声明式验证的不同处,其利用表达式语法链式编程,使得验证组件与实体分开。正如 FluentValidation 的 介绍: A small validation library for .NET that u…

第二届中国PWA开发者日

点击蓝字关注我们活动介绍为加速推动渐进式 Web 应用 (PWA) 在中国的发展,微软与英特尔携手举办“第二届中国 PWA 开发者日”。本次活动邀请一众业界大咖围绕 PWA 展开分享,探讨最新技术进展,及 PWA 生态的实践与落地。期待与您线上相聚。活动…

【GlobalMapper精品教程】018:提取影像数据的范围生成矢量图层

文章目录 1. 加载影像数据2. 生成边界3. 导出矢量范围4. 背景影响边界解决办法1. 加载影像数据 以DSM为例,加载如下所示: 2. 生成边界 在影像图层上右键→图层→【边界框/覆盖-创建图层覆盖框/多边形区要素】,如下图所示: 选择【否】。 边界创建完成。 3. 导出矢量范围 …

在Leangoo里怎么设置看板周期?

设置看板周期有两种方式: 1)点击看板上的看板周期时间直接修改 2)通过菜单 设置看板周期 浏览器访问官网链接:www.leangoo.com 转载于:https://www.cnblogs.com/shineshine/p/5663104.html

consul部署多节点和consul-template部署

一.consul的介绍 1.1consul是什么? Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。 Consul是分布式的、高可用的、可横向扩展的。它具备以下特性 : service discovery:consul通过DNS或者HTTP接口使服务注册和服务发现变的很容易,一些外…

基于ABP实现DDD

什么是DDD呢?领域驱动设计[DDD]是一种针对复杂需求的软件开发方法。将软件实现与不断发展的模型联系起来,专注于核心领域逻辑,而不是基础设施细节。DDD适用于复杂领域和大规模应用,而不是简单的CRUD应用。它有助于建立一个灵活、模…

【GlobalMapper精品教程】019:基于DSM提取离散随机点的高程信息

本文讲解在globalmapper中,基于DSM提取离散随机点的高程信息,配套数据为data019.rar。 文章目录 1. 离散点创建2. 提取离散点高程信息3. 高程标注1. 离散点创建 本文在ArcGIS中,根据给定的范围,随机生成离散点,如下图: 拓展阅读: ArcGIS根据范围创建随机点教程:【ArcG…

shell脚本注意点

2019独角兽企业重金招聘Python工程师标准>>> 直接命令行写脚本的时候,可以用 ; 分割,或 也可以直接回车,然后在继续写脚本在使用 方括号[ ] 的时候,里面空格两边都必须要有空格,比如 [ $a -gt 3 ] 在方括号…

【GlobalMapper精品教程】020:Lidar点云数据分类(自动分类、手动分类)案例详解

航测点云通常跟DSM一致,即包含植被、房屋等信息,必须进行点云分类、过滤,才能生成准确的高程点、等高线和DEM等地形数据。本文以案例的形式详细讲解globalmapper23中点云工具及使用方法。 文章目录 1. 点云分类2. 创建地面高程格网3. 地形绘制4. 格网转点云5. 点云抽稀6. 点…

CSS3 nth 伪类选择器

考察下面的 HTML 代码片段&#xff1a; <div><section>section 1</section><section>section 2</section><ul><li>item 1</li><li><ul><li>sub item 1</li><li>sub item 2</li><li>…

RedisCluster的安装、部署、扩容和 Java客户端调用

Redis下载 官网地址&#xff1a;http://redis.io/ 中文官网地址&#xff1a;http://www.redis.cn/ 下载地址&#xff1a;http://download.redis.io/releases/ 安装 # &#xff08;三台&#xff09;安装 C 语言需要的 GCC 环境 yum install -y gcc-c yum install -y wget # 下…

【CloudCompare教程】001:CloudCompare中文版下载与安装图文教程

CloudCompare是一款功能强大的点云后处理软件,本文讲解CloudCompare中文版下载与安装方法。 文章目录 一、CloudCompare下载地址二、CloudCompare安装教程三、CloudCompare中文设置一、CloudCompare下载地址 官方下载地址:http://www.danielgm.net/cc/release/ 二、CloudComp…

ML.NET相关资源整理

在人工智能领域&#xff0c;无论是机器学习&#xff0c;还是深度学习等&#xff0c;Python编程语言都是绝对的主流&#xff0c;尽管底层都是C实现的&#xff0c;似乎人工智能和C#/F#编程语言没什么关系。在人工智能的工程实现&#xff0c;通常都是将Python训练好的人工智能模型…

JAVA学习日志(7-1-继承)

为什么80%的码农都做不了架构师&#xff1f;>>> 继承 1.提高代码复用性 2.让类与类之间产生关系&#xff0c;有了这个关系才有了多态的特性 **不要为了获取其他类的功能&#xff0c;简化代码而继承&#xff0c; 必须是类与类之间有所属关系才可以继承&#xff0c;所…

BZOJ 1370: [Baltic2003]Gang团伙 [并查集 拆点 | 种类并查集WA]

题意&#xff1a; 朋友的朋友是朋友&#xff0c;敌人的敌人是朋友&#xff1b;朋友形成团伙&#xff0c;求最多有多少团伙 种类并查集WA了一节课&#xff0c;原因是&#xff0c;只有那两种关系才成立&#xff0c;诸如朋友的敌人是朋友之类的都不成立&#xff01; 所以拆点做吧 …

常见Lidar点云数据处理及可视化软件汇总

常见的点云处理及可视化软件有&#xff1a; CloudCompare、Globalmapper、Pix4d、ArcGIS&#xff08;Pro&#xff09;、Lidar 360、PCL等等。 文章目录1. CloudCompare2. Globalmapper3. Pix4d4. ArcGIS&#xff08;Pro&#xff09;5. Lidar 3606. PCL1. CloudCompare CloudCo…

基于 HTML5 Canvas 绘制的电信网络拓扑图

电信网结构&#xff08;telecommunication network structure&#xff09;是指电信网各种网路单元按技术要求和经济原则进行组合配置的组合逻辑和配置形式。组合逻辑描述网路功能的体系结构&#xff0c;配置形式描述网路单元的邻接关系&#xff0c;即以交换中心&#xff08;或节…