技术人聊开源:这并不只是用爱发电

2024-01-17 04:18

本文主要是介绍技术人聊开源:这并不只是用爱发电,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

17d109b0f448af83c55a2ae0cdd7120c.gif

近年来,中国开发者已经成为全球开源体系中的重要力量。据不完全统计,中国的代码在全球开源社区的比重已占 40% 左右,目前全球 6000 多万开发者中,至少有 2000 多万来自中国。

开源是一个公司技术影响力的表现之一,走向社区与其他生态合作,拓宽技术的应用领域,为外部需求贡献的同时也能让自身技术走向成熟。

过去的 2021 年,蚂蚁的技术同学和全球各地的开发者们,共同参与到开源社区的建设和维护。

2021 CNCF 中国区 TOP10 的贡献者中,有 4 位来自蚂蚁集团。过去的2021年,蚂蚁的技术同学和全球各地的开发者们,共同参与到开源社区的建设和维护。其中两位技术同学主要参与了 Dragonfly 和 Nydus 这两个互相关联的开源项目。

Dragonfly

Dragonfly 是一个开源云原生镜像分发系统,主要解决以 Kubernetes 为核心的分布式应用编排系统的镜像分发问题,2020 年晋级为全球著名开源社区 CNCF(云原生基金会)孵化项目。

Nydus

Nydus 是蚂蚁集团发起的 Lazy load 原理的镜像加速项目,配合 Dragonfly 做 P2P 加速,能够极大缩短镜像下载时间、提升效率,并提供端到端的镜像数据一致性校验,从而让用户能够更安全快捷地启动容器应用,目前是 Dragonfly 的一个子项目。

小编与这两位同学,以及他们所在团队负责人,聊了聊他们眼中的开源。

@ 百蓦参与 Dragonfly 开源一年

开源本身就是一种值得追求的奉献精神

我是 2020 年开始接触 Dragonfly 项目的,现在主要参与项目整体 2.0 升级。我们这个项目的维护者来自不同公司、不同团体,比如阿里云、字节跳动、去哪儿、Intel 以及上海交通大学等。

我认为项目开发过程中的首要工作就是制定标准,标准制定好了,结果就更容易达成一致。尽管大家来自不同公司,不论技术如何,对代码的理解有何分歧。

最终目的都是对项目质量负责,是一个合作和协作的关系。

目前来看,我认为开源在国内的情况大部分是偏实用,需要更多有奉献精神的程序员参与到开源工作当中。当然近几年国内也涌现了很多技术创业公司,开始投入到开源项目中,而非仅靠程序员自己的兴趣,利用业余时间投入。

8c94c8fc352efd460f94a6bef541ef57.png

开源本身就是一种值得追求的奉献精神

我做程序员的初衷是希望凭借自己的能力去改变一些事情,做开源也一样需要有一些技术信念。因为开源是个无偿的工作,不是商业化的东西,而是希望从中找到可以突破的技术点。

就像我个人非常喜欢的一位程序 David Heinemeier Hansson(DHH)说过:

Writing open source software and giving it away for free has without a doubt been my most professional rewarding endeavor yet。

其实做开源的人都比较包容,做事也比较单纯,都是为了把一件事做好。

73200f5b4968e6947a8db938d779e609.png

 写代码不是 0 和 1 

有的程序员比较理想主义,看到有问题的部分,就一定要指出并改掉。比如我自己,对瑕疵的东西看不惯,绝对会坚持正确的事情。

写代码要看具体场景、具体需求,没有绝对完美的答案,但是要时刻督促自己接近完美。

2021 年 9 月 9 日,Dragonfly 2.0 正式发布,这是我第一个从 0 到 1 完整参与的开源项目,比较有成就感,也很有感情。

虽然从开发到第一个版本发布持续了一年时间,过程中遇到问题也会争论不休,但真正发布的那天大家都非常开心和激动。我们同学们都比较给力,我们会一直坚持把项目维护下去,打造云原生场景基于 P2P 镜像和文件分发标准解决方案。

我个人的短期目标是希望把 Dragonfly 做到 CNCF 毕业,后期会继续关注云原生场景镜像和文件分发还有哪些可以解决的问题,深入去研究。

毕业意味着会有更多的人使用,项目才真正开始。

@ Jim参与 Dragonfly 开源一年

打造开源项目的全球影响力,

需要标准化和行业共建

我日常参与的开源工作有功能研发、优化项目性能、提高兼容性和稳定性、代码优化。也会经常在社区参与线上讨论,也会花很多时间和精力在 Dragonfly 开发者群、线上社区,帮别人解答问题。

88aa04dd7f20f63fc60fb70babf24780.png

参与开源,不只是使用

参与开源,不是说使用就算参与了,而是要更积极地反馈一些问题,尽力地让它朝着好的方向持续发展。

比如说一个项目帮你解决了一个项目问题,但项目自己又有一些问题没有覆盖到。这个时候,不应该置之不理,或者说没有涉及到你的使用覆盖面就不管,而是需要我们及时去社区反馈问题。

这样的反馈能让产品越来越好,也能为开源做更多的贡献。特别是公司内部使用的项目,有些改进不合到上游社区,是没有办法让社区享受到开源的红利。

235abe15f63688335d676bd8d3e4dd77.png

同时推进标准化和参与度

要形成开源工作的影响力,标准化是非常值得重视的。一项技术如果不能作为一项标准,那么很难往外推广,获得行业认同。

同时也需要参与度,只有业界伙伴能使用、参与共建,那么技术才能获得认同。

推进标准和参与,才能让项目茁壮成长起来。比如 Google 想把 K8s 推成业界一个标准的容器编排平台,花了大量的努力做了一个很好的标准实践,让业界共同参与或者认同,最终才形成 CNCF 社区。

“人人为我,我为人人”才能促进开源社区的正向循环。

我希望中国的开源项目,能在社区运营上更上一层楼,让更多的人使用,创造更多的交流,推向更多的人。

我也希望通过自己的努力把 Dragonfly 项目推成毕业项目,结合其他项目做一些更有意义的事。

@ 王 旭|Nydus 所在团队负责人

10 余年开源经验

OIF 项目 Kata Containers 联合发起人

木兰开源社区 TOC 成员

41207d878b213d954ae86fc8a0a6e833.png

开源团队管理应避免将目标捆绑在数据上,

以防赢了 commit 输了社区

我觉得作为一个团队管理者,管理好开源,最大的挑战恐怕不是业务压力,而是自身的勇气。

总有人会问我一个问题——

怎样平衡开源和业务 ?

我的思路是 upstream first,也就是上游优先

把自己按照上游的要求来工作之后,你会在任何时候都考虑为相关合作方留出空间和接口,会把项目的核心功能和扩展功能做合适的解耦,会理智地进行妥协和权衡,但不会对风险置之不理。

在采用 upstream first 的工作方式后,业务支持和开源之间是不会有不可调和的冲突的,否则就要谨慎地考虑是不是选错项目了。

从目标设定来说,我确实有提升开源影响力和培养新人的目标。但在考察的时候,我们侧重的是这一年的工作成果是不是真的提升了开源的质量,而非分解到 commit 排名再去比较。

参与开源的工作,更重要的不是考核数量,而是激发参与者的创新

6287b57dde1dc043e0ea5e44c5b42a9b.png

我眼中的开源团队管理(团队开源管理)

从目标看,应该是更加偏向于“激发”的 OKR 方式,避免将目标绑死在某些数据上,以防赢了 commit,输了社区。

从过程看,要有持续的调整和辅导,帮助项目调整或坚定方向、提升团队开源社区参与能力。

从工作方式上看,要有开源上游一样的对正确工作方式的追求,让开源社区工作和自身业务统一起来。

在过去的一年,Nydus 在自身建设以及和 Dragonfly 项目的合作之余,也保持了与其他项目间的互动。

Nydus 团队和其主导维护的 KataContainers 安全容器实现了无缝集成。除此之外,Nydus 团队还和中国最早的 CNCF 项目、企业级开源镜像仓库项目 Harbor 合作,串联了云原生镜像的完整生命周期,之后又和 NEC 的国外开发者一起合作,共同推进 OCIImage 标准的演进。

就在今年年初,NEC 把 Nydus 为 containerd 写的 snapshotter 贡献到 containerd org 里做子项目。

开源社区里汇聚的各个开发者的不同需求和背景,会帮助代码释放它们的设计者在写下时都不能预见的潜能。

开放协作正是开源的价值所在!

   本周推荐阅读  

1170a6e8d0c0cd19b0365d1284b89d28.png

应用运行时 Layotto 进入 CNCF 云原生全景图

448769a8c2cb7ad4ddaa7b23de7ff009.png

云原生运行时的下一个五年

1f77bad59ab3ba71d30f09801509298a.png

Tengine + BabaSSL ,让国密更易用!


866e1391502df99ecb455bfa6d8b610b.png

MOSN 子项目 Layotto:开启服务网格+应用运行时新篇章

786acce75d6552748357a708068872e0.png

这篇关于技术人聊开源:这并不只是用爱发电的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/614851

相关文章

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

系统架构设计师: 信息安全技术

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师: 信息安全技术前言信息安全的基本要素:信息安全的范围:安全措施的目标:访问控制技术要素:访问控制包括:等保

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

HomeBank:开源免费的个人财务管理软件

在个人财务管理领域,找到一个既免费又开源的解决方案并非易事。HomeBank 正是这样一个项目,它不仅提供了强大的功能,还拥有一个活跃的社区,不断推动其发展和完善。 开源免费:HomeBank 是一个完全开源的项目,用户可以自由地使用、修改和分发。用户友好的界面:提供直观的图形用户界面,使得非技术用户也能轻松上手。数据导入支持:支持从 Quicken、Microsoft Money

前端技术(七)——less 教程

一、less简介 1. less是什么? less是一种动态样式语言,属于css预处理器的范畴,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行。 less的中文官网:https://lesscss.cn/ 2. less编译工具 koala 官网 http://koala-app.