写点什么

当开源遇见 KPI,全球化 VS 本土化,开源的理想与现实该如何和解?

  • 2022-05-11
  • 本文字数:3873 字

    阅读完需:约 13 分钟

当开源遇见 KPI,全球化 VS 本土化,开源的理想与现实该如何和解?

最近几年,开源在全球蓬勃发展:一方面,越来越多人投身于开源生态中,除了开发者,不懂代码的人也能为开源社区做贡献;另一方面,开源贡献的形式更多元,不再拘泥于写代码,文档贡献、开源布道也是建设开源生态的重要动作。


开源生态日渐庞大的同时,也给开发者和企业带来了新的思考:「KPI 开源」是不是错的?做开源,企业和个人谁主导更具有优势?开源协议能不能保护好开发者或者开源项目的权益?开源「本土化」应该怎么理解、怎么做?……


本期《WeOpen Talk》,腾源会与 InfoQ 共同邀请中国信通院云大所云计算部副主任,腾源会导师郭雪、清华大学软件学院助理研究员,Apache IoTDB  PMC Chair,腾源会特聘专家黄向东以及 SphereEX 公司创始人兼 CEO,Apache ShardingSphere PMC Chair,腾源会导师张亮三位老师,共同探讨这些问题。

00:00 / 00:00
    1.0x
    • 3.0x
    • 2.5x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.75x
    • 0.5x
    网页全屏
    全屏
    00:00

    一、「KPI 开源」真的一无是处?


    企业越来越重视开源了,最明显的一个表现是,将开源项目相关的指标列入到 KPI 的考核中。同时,「KPI 开源」一度成为程序员「口诛笔伐」的对象,其主要原因是:其不符合开源精神,而且对企业的资源造成了严重浪费。那么,「KPI 开源」真的一无是处吗?


    首先,KPI 开源仅是一种考核的形式,而其中的考核指标是什么,更为重要。如果只是将 Star、Fork 等数量列为考核指标,极有可能只得到这些数据的增长。「如果能定义出更加理智的考核标准,比如将英文文档的覆盖率由原来的 60% 提升到 80%,我相信这是一个很好的 KPI」清华大学软件学院助理研究员,Apache IoTDB  PMC Chair 黄向东表示。


    「开源最大的难度不在于上述的那些指标和数据,而在于项目有多少人使用;公司的决策者也应该认识到,开源项目不是一天就能建成的,而是需要一段静默期去成长。正确的认识开源项目的意义和成长路径,才能避免盲目制定 KPI 指标。」SphereEX 公司创始人兼 CEO,Apache ShardingSphere PMC Chair,腾源会导师张亮总结道。


    其次,企业对 KPI 开源的重视,对行业而言,也释放出积极信号——企业正在重视开源。中国信通院云大所云计算部副主任,腾源会导师郭雪表示,制定 KPI 之后,可能不会使开源项目成为高质量或者有技术创新的项目,但会提升行业对开源的认知度。


    如今,「KPI 开源」已经不是企业的专属,开源社区以及个人也都可能是「KPI 开源」的实施者或助推者。黄向东老师回忆:「去年有段时间,国际上有一个『Give me a T-shirt』的活动,只要给开源社区贡献代码,就能收到一件 T 恤。活动期间,我在社区(IoTDB)中注意到,一个外国人在某一个文件的末尾加了一行回车,然而这个回车没有任何的意义。所以说,这样错误的做法也会干扰开源社区的正常运转」。


    总的来说,「KPI 开源」在为团队制定目标、集中资源进行开源上,是有正向作用的,但如果将其做成只看 Star、Fork 数的「表面开源」,盲目制定 KPI,那么即使投入人力与时间,也无法打造出一个优质的开源项目。

    二、开源该由个人驱动还是企业驱动?


    企业做开源可能会出现「KPI 开源」,而开源项目中,很少有专职做开源项目的开发者,更多人是为企业的开源项目做贡献,或者在工作之余出于兴趣做开源。那么,企业驱动和个人驱动的开源优劣势体现在哪,谁的优势更大?


    作为开源生态中两个重要的参与主体,个人和企业在开源中都有明显的优势。「企业侧参与开源,能够给开源提供长期稳定的支持,而个人侧的开源项目,则充分调动了个人的参与,更容易产生技术创新」郭雪解释道。


    但是,企业对开源项目的支持,也是一把「双刃剑」。开源项目需要避免对企业的过度依赖。黄向东举例说:「Apache 有一个项目叫作 PLC4X,该项目需要从工业设备上采集数据,在工业设备非常昂贵而且没有企业支持的情况下,就需要个人解决这些事情,但如果是企业侧发起的项目,这些问题就很容易解决了;但是如果开源项目不够开放,只有一个企业来主导,那么在企业面临战略转型时,项目就会面临很大的风险」。


    总的来说,个人和企业在开源方面的优势是互有补充的:在开放的开源项目中,企业能给项目提供更多的支持,使个人能探索更多的技术突破,形成良性循环。「当企业由于商业原因,不再对开源项目投入时,开源项目会面临危机;但是当企业的开源项目在商业计划中时,那么将给开源项目提供底线保障」张亮总结道。


    因此,对于开源项目的创始人来说,参与别人的开源项目,同时也允许其他人来共创自己的开源项目,这一点非常重要。从某种意义上,这样能够同时接纳个人和企业的智慧和长处,让开源项目和社区更有生命力。

    三、开源协议对开发者是保护还是限制?


    开源让大家免于「重复造轮子」,但由于开源大多数情况下是偏个人的行为,而且每个人对于开源的认知也不完全统一,因此,开源的发展也伴随着争议和纠纷。开源工作者的利益谁来保障?开源与商业化如何平衡?……目前已经有一些开源协议供开发者选择,其实际使用情况如何?是否真的有用呢?


    「由于开源协议是偏法律的语言,所以它不是很好理解,而且不同协议的条款乍一看非常相似。」谈到开源协议,黄向东是这样评价的,同时他也表示,目前大家普遍不关注开源项目的许可证,开发者需要一个学习开源协议的入口,以提升他们对开源协议的认知。


    但是对于开发者而言,大家更加关注技术,学习开源协议是一件「可以但没必要」的事情。再加上,在开源项目初期大家很难预测项目未来的发展,认真研究开源协议之后选择与盲选一个短期看差别并不大。


    那么在初期,开源项目应该如何选择协议?张亮为不了解开源协议的开发者们提供了一个思路。他认为,开源协议的选择可能与人的性格有关,有的人很极客,讨厌商业,那么选择 GPL 就好了;有的人希望给项目提供更多的可能,那么可以选择宽松的协议,例如 BSD;有的人比较中立,希望对商业和开源都有一定程度的保护,那么像 Apache 这样的协议更合适。


    事实上,为了保险起见,在选择开源协议时,大家更倾向于能同时保护开源和商业权益的中立协议。郭雪说,信通院曾经调研过全球的开源项目,开发者们更愿意选择友好型的协议,在国内,Apache License 是最受欢迎的许可证之一,一方面是如前文所说,其具有中立性质,而另一方面,与其他的许可证相比,Apache License 在在专利授予等方面的规范性上更强,能帮助开源项目规避更多的坑。


    除了开源协议之外,政策规范也是让开源生态更好的一种方式。去年,人民银行办公厅、中央网信办秘书局等五部门联合发布了《关于规范金融业开源技术应用与发展的意见》,促进开源技术的健康可持续发展,这不仅是传统行业正在进入开源生态的信号,也对规范开源、合规使用提出了更高的要求。


    除了开源协议与政策之外,还有一些机制也需要补足,例如开源领域的合规性维权。黄向东讲述了一个真实的案例,由于每年的毕业生都要写毕业论文,而毕业论文的格式的要求又很严格,因此清华内部有一个团体维护了一个 Latex(一种排版软件)模板,大家只需要在这个软件中写文档就不会出错了。然而前不久,另外一个团队说他们自己开发了一个开题报告模板,而实际上这个模板仅仅是对 Latex 进行了删减改动,因此,Latex 的维护成员在朋友圈发起了维权。虽然 Latex 在清华的学生中使用很广泛,但是其作者只能通过朋友圈和 GitHub 库中发声。


    「我们需要一些维权或者咨询的渠道,帮助开源工作者在遇到不合规事情时,有保护合法权益的途径,这对开源生态也会是一个好的增益」黄向东强调。

    四、「本土化」违背开源精神了吗?


    在开源生态中,出于开放分享的共识,「本土化」成为了一个颇具争议的话题。一部分开源人认为,「本土化」和开源精神相悖;也有人认为,无论是项目本土化还是社区的本土化,都是有一定意义的。

    针对前一种说法,其实开源的「本土化」和「全球化」不是非此即彼的矛盾状态,因此和「本土化」与开源精神也并不相悖。黄向东提到,开源项目坚持本土化的同时,也要坚持国际化即技术输出,形成国际的实施标准比成为国内的实施标准意义更大。


    针对后一种说法,项目本土化及社区本土化都是有意义的,尤其后者对开源的发展意义更大。「社区的本土化能够帮助本地人减少语言层面的障碍,拿到更易懂的资料」黄向东表示。张亮进一步补充了自己的看法,他表示:「一个全球化的项目在本土化之后,大家能够拿到它的源代码、使用所有的文档来 Quick start,这是一件非常好的事情。开源项目的本土化不是按地域隔离,而是为开源项目在每个地域的成长创造更便利的条件,像 Apache Local Community(ALC)就能够帮助本地人接触开源项目」。


    所以说,跨语言的沟通和交流,是开源工作者面对的共同问题。目前支持跨国沟通的方式已经有很多了,作为 IoTDB PMC Chair,黄向东观察到,目前在 IoTDB 中,国际上的交流经常使用 Slack、MailList 等方式,对于国内用户而言,大家会更习惯用微信群和 QQ 群进行交流,而外国用户也能通过微信自带的翻译功能,用他们的母语与国内用户交流,让开源社区滚动得更大。


    当然仅仅依靠工具交流是不够的,社区中也需要能够翻译的文档贡献者,把中文的材料翻译成其他语言,或者将其他语言的材料翻译成中文。黄向东强调:「本土化这件事应该是双向的,而不应该是单向的,文档语言的快速迭代,能够让更多人参与到开源社区中」。这样的开源生态将容纳非代码贡献者,让更多人可以了解开源,成为开源贡献者。


    「开源的本土化,最终还是会走向全球化的发展趋势」郭雪总结说。

    写在最后


    开源领域虽存在争议,但开源精神所带来的价值难以估量。如今,开源协议与法规正在完善,除了代码贡献者之外,文档贡献者、布道师等越来越多角色也可以通过开源项目、组织和社区,加入到开源生态中。未来开源生态中的不同角色会碰撞出怎样的火花,带来哪些技术创新,我们正翘首以待。

    2022-05-11 16:183476

    评论

    发布
    暂无评论
    发现更多内容

    小度搭载AI技术进军手机市场:AI技术会是手机市场的一剂强心针吗

    石头IT视角

    数据不只是数字:描述、分析、展示呈现数据的故事

    Data 探险实验室

    数据分析 数据 数据可视化 数字 可视化分析

    QUIC协议在天翼云CDN全站加速产品中的应用

    天翼云开发者社区

    云计算 QUIC

    C++异常和错误处理机制:如何使您的程序更加稳定和可靠

    小万哥

    c++ 程序员 面试 后端 开发

    直播预告 | 博睿学院:全面升级自适应AIOps

    博睿数据

    可观测性 AIOPS 智能运维 博睿数据 博睿学院

    OpenVINO: 一款全面的深度学习应用程序优化工具

    IT蜗壳-Tango

    三周年连更

    飞书深诺电商广告素材搜索实战

    飞书深诺技术团队

    向量检索 Milvus 以图搜图

    Shell脚本中的echo命令

    芯动大师

    echo Shell命令 三周年连更

    解析内存中的高性能图结构

    NebulaGraph

    数据结构 图数据库

    可计算存储技术全面升级CSD 3000存储体验

    ScaleFlux

    人工智能 机器学习 计算与存储 数据压缩

    开源家装小程序

    源字节1号

    开源 软件开发 前端开发 后端开发 小程序发开

    解决easyswoole的swServer_start_check: onTask event callback must be set at报错

    北桥苏

    php swoole

    解决Centos7 yum 出现could not retrieve mirrorlist 错误

    北桥苏

    Centos 7 linux\

    RDMA网络实践

    天翼云开发者社区

    云计算 存储 RDMA

    linux上SVN出现 "Unable to connect to a repository at URL 'svn://xx.xx.xx.xx/xxx' 和 No repository ...

    北桥苏

    svn linux\

    【涨知识】PCB板为什么多是绿色的?

    华秋PCB

    PCB PCB电路板 电路板 PCB设计 显影

    急吗?光急可没用呀!满满干货,两小时速成,别搁那干瞪眼了!

    加入高科技仿生人

    低代码 数字化 OA 数字转型

    今天开讲,6 大演讲主题、5 位技术大咖!龙蜥大讲堂 5 月精彩直播预告抢先看

    OpenAnolis小助手

    开源 操作系统 内核 龙蜥社区 龙蜥大讲堂

    一文读懂 DNS 解析

    火山引擎边缘云

    DNS 域名解析 火山引擎 边缘云

    开源赋能 普惠未来|统信软件寄语2023开放原子全球开源峰会

    开放原子开源基金会

    PostgreSQL-HA 高可用集群在 Rainbond 上的部署方案

    北京好雨科技有限公司

    postgresql Kubernetes 云原生 rainbond 企业号 5 月 PK 榜

    基于 TiDB + Flink 实现的滑动窗口实时累计指标算法

    PingCAP

    MySQL 数据库 开源 分布式 TiDB

    天翼云“息壤”荣膺第六届数字中国建设峰会“十大硬核科技”称号

    天翼云开发者社区

    云计算 算力 超算

    长三角生物医药产业加速跑,飞桨螺旋桨为创新药企、医药技术伙伴装上AI大模型引擎

    飞桨PaddlePaddle

    飞桨 科学计算 飞桨螺旋桨 文心生物计算大模型

    滋灌中小企业,分销伙伴和华为来做“送水人”

    脑极体

    分销

    大咖说丨云计算:数字世界的“中枢神经”

    天翼云开发者社区

    云计算

    「MIAOYUN」:降本增效,赋能传统企业数字化云原生转型 | 36kr 项目精选

    MIAOYUN

    云原生 数字化转型 智能运维 降本增效 36氪

    今日分享丨5分钟快速了解Containerd

    inBuilder低代码平台

    云原生

    二层交换机和三层交换机到底区别在哪?

    wljslmz

    交换机 三周年连更

    为什么ChatGPT用强化学习而非监督学习?

    OneFlow

    解决nginx配置负载均衡时invalid host in upstream报错

    北桥苏

    nginx

    当开源遇见 KPI,全球化 VS 本土化,开源的理想与现实该如何和解?_文化 & 方法_任传英_InfoQ精选文章