NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

当开源遇见 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
    • 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:183257

    评论

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

    百度搜索展现服务重构:进步与优化

    百度Geek说

    重构 企业号12月PK榜 百度搜索展现

    网心科技出席2023(第二十一届)中国企业领袖年会,共话长期主义

    网心科技

    网心科技

    DataSpell for Mac:数据分析的得力助手

    iMac小白

    语音数据集在人工智能中的应用与挑战

    来自四九城儿

    小红书基于零信任 SASE 办公安全解决方案,斩获 “IDC 中国 20 大杰出安全项目”

    小红书技术REDtech

    大数据 网络安全 安全

    引迈信息-JNPF平台怎么样?值得入手吗?

    互联网工科生

    低代码 开发平台 JNPF

    语音数据集在智能语音助手中的应用与挑战

    来自四九城儿

    软件测试/人工智能丨为什么人工智能=大数据+机器学习

    测试人

    人工智能 软件测试

    大数据时代的数据治理!

    用友BIP

    数据治理

    测试用例设计方法六脉神剑——第四剑:石破天惊,功能图法攻阵| 京东物流技术团队

    京东科技开发者

    如何通过京东工业商品API接口获取商品详情

    Noah

    微店商品详情数据接口(micro.item_get)|微店API接口

    tbapi

    微店商品详情数据接口 微店商品API接口 微店API接口

    速卖通商品API接口的使用指南与示例

    Noah

    一文读懂低代码平台

    这我可不懂

    软件开发 低代码 JNPF

    AutoCAD 2024 for Mac:引领设计新潮流

    iMac小白

    一小时快速搭建网站:掌握SDK的秘诀

    TinTinLand

    区块链 编程 技术

    玩转 K8s 权限控制:RBAC + kubeconfig 搞定 kubectl 权限管理那些事

    EquatorCoco

    云原生 rbac kurbernetes

    关于C#反射概念,附带案例!

    不在线第一只蜗牛

    C# 后端 项目开发

    5分钟搞懂Kubernetes:轻松理解所有组件

    快乐非自愿限量之名

    云原生 项目开发 kubernetes 运维

    数字化转型对中小企业来说值得吗?

    天津汇柏科技有限公司

    数字化转型

    有意思!40小时工作制来了,996再见

    伤感汤姆布利柏

    特权账号管理误区

    尚思卓越

    网络安全 运维安全 特权账号管理

    年底换机的实力派选择:华为畅享70性能出色,体验超便捷

    Geek_2d6073

    JDBC ResulSet资源释放和Statement并发调用源码分析

    FunTester

    语音数据集:AI语音技术的灵魂

    来自四九城儿

    探索 Coinbase 二层链 Base 的潜力与风险

    Footprint Analytics

    以太坊 Base Coinbase

    TFTP服务器 Transfer免激活最新版

    胖墩儿不胖y

    Mac 软件 ftp传输

    mac电脑版spss专业统计分析推荐:IBM SPSS Statistics 激活中文

    mac大玩家j

    Mac软件 统计分析软件 统计分析

    Amazon CodeWhisperer:AI 编程助手

    亚马逊云科技 (Amazon Web Services)

    人工智能 Amazon Lambda 云上探索实验室 Amazon CodeWhisperer Amazon Cloud9

    Dynamic Wallpaper for Mac:让你的桌面更加生动有趣

    iMac小白

    为什么说代码注释是程序员必备的技能?

    小魏写代码

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