开发者,别让自己孤独

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
简介: “社会之所以能够运作,并不是人类有意使然,而是因为它是进化过程中出现的人类秉性。确切地说,它就是人性的一部分。” ——《美德的起源》马特·里德利

头图.png

作者 | 溪洋
来源|阿里巴巴云原生公众号

“社会之所以能够运作,并不是人类有意使然,而是因为它是进化过程中出现的人类秉性。确切地说,它就是人性的一部分。” _——《美德的起源》马特·里德利_

所谓“助人者自助”,或许协作、互助这种能力就是我们为了满足人类与生俱来的一部分“个体私欲”而进化来的,让自己和他人都能从中受益。 在开源社区中,这一点得到了很好的体现。“开源”本身就是一个社会性事件,它的流行很大程度上得益于协作以及由协作带来的创新。特别是随着云原生成为大势所趋,企业 IT 技术体系越来越朝着原生化、标准化的思路演进,这些都推动着开源来到一个新的黄金年代。

不得不说,今天的开发者是幸福的:云让基础设施使用起来像水、电一样便利;云原生将分布式的应用门槛不断下放;开源社区帮助开发者找到各种为自己所需的基础软件。剩下的,就是需要开发者自己去思考如何利用好这一切,比如通过主动融入更大范围的学习、交流、沟通圈子,以及借助开源社区的能力等方式,让产生于开发者群体中的“分布式”和“社交方式”的决策形成事实标准,进而让每一位开发者自己成为推动技术发展浪潮的主角。

OAM 社区 Maintainer Roy:我和社区一起成长的那些事儿

几天前,我们和开源的云原生应用标准定义与架构模型 OAM(Open Application Model)社区 KubeVela 项目的新晋 Maintainer —— Roy 进行了一次对话。现在的 Roy 是韩国汉阳大学计算机科学专业的一名在读研究生,一位阳光大男孩儿。当被问及平时有哪些爱好时,他不假思索地回答了“写代码”和“跑步”。

1.jpg
Roy
GitHub ID:  @captainroy-hy

从 OAM 刚发布开始,Roy 就投入了积极的贡献。作为全球首个定义云原生应用标准与架构模型的项目,2019 年 10 月开源的 OAM 和 Roy 一样,都是年轻而快速生长的:年轻的 OAM 在今年锋芒显现,被评选为“2020 年度十大开源新锐项目”;年轻的 Roy 凭借自己的贡献成为 OAM 核心实现 KubeVela 项目的核心 Maintainer,需要从更加全局的视角帮助项目发展。

我们向 Roy 了解了他成为 Maintainer 的心路历程,并且从中得到了一些关于如何看待开源精神、贡献社区以及对 OAM 的理解等问题不一样的答案。

“发现 OAM 源于寻找云应用模型落地方案”

Roy 在实验室的研究方向是“云计算与云应用编排”,解决的问题是帮助应用开发人员屏蔽掉由底层基础设施带来的复杂性和差异性,使他们更好地运用云平台上丰富的应用管理能力,来构建和编排规模庞大且复杂的云原生应用。这在现阶段是非常具有挑战的一个课题。

随着云原生领域的迅猛发展,开源社区也涌现出了许多与之相关的开源项目,Roy 会经常关注一些云原生相关的开源项目。在他看来,OAM 的价值在于以一个俯瞰整个云原生领域的视角,通过建立全新的应用定义与交付模型,在应用层提供了一个用于构建和交付云原生应用的标准规范,这给过往一直专注于基础设施层的云原生领域开辟了全新的前进方向。

因为看到 OAM 实现的目标和自己的研究课题非常接近,加之有阿里巴巴、微软这样的大型企业背书,再加上自己对 OAM 社区核心初创成员过往开源经历的“背调”,Roy 逐渐建立了对 OAM 的信任,开始了真正意义上的“跟随”。

“第一次贡献与代码无关,但很重要”

Roy 对 OAM 的贡献是从翻译 oam-spec 的英文文档开始,“当时我在 Issue 里看到有开发者提出了这样的需求,在孙健波老师的牵头下就着手开始翻译。这个过程对我理解 OAM 的帮助很大,因为我需要将说明从头到尾完整地学习一遍”。

除了翻译文档,Roy 还介绍了很多除了写代码之外的社区贡献方式,比如:

  • 在社区里提问题,甚至是提出对现有功能的质疑和吐槽,这些可以让项目成员更好地了解如何帮助用户;
  • 回答其他成员的问题。如果你发现有的问题需要一遍遍地回复,就可以编写或者更新 FAQ 文档,以便给有相同问题的人员随时参考;
  • 提供实践 OAM 的具体场景以及遇到的问题,基于具体场景的实践问题可以帮助社区快速定位用户需求;
  • 提出新功能设计的想法,希望项目在未来具备什么功能、为什么需要该功能、初步实现思路,等等,都可以在社区中提出来,你会发现其他人也有类似的痛点,最终社区可能会推动实现这一新功能;
  • 帮助项目进行教育和推广。你可以通过任意方式的分享去帮助 OAM 教育和影响用户,比如在用户群中讨论、撰写案例和博客文章等。

“OAM 是一个新项目,大家可以做出的贡献很多。其中,代码是一种重要的方式,但绝不是唯一的,你总能找到一种适合自己的方式参与到社区中来,而且一定会从给社区的贡献中收到回馈”,Roy 说。

2.jpg

“作为学生开发者,我是如何快速融入 OAM 社区的”

Roy 现在很大一部分精力都投在 OAM 项目的维护上。支撑他可以这么做的原因除了还在学校、时间比较自由之外,还有两个非常强的动力:一是通过参与 OAM 使自己的知识和技能不断增长;二是看到自己参与的项目真的能帮到很多开发者,并且已经被越来越多的人用起来,可以收获满满的成就感。

但作为一名在校研究生,一开始想要融入这样一个偏向工程实践的社区并不容易。缺少云原生领域在业界的实践经验、对一些成熟项目的知识盲区,对 Roy 来说都是不小的挑战:“曾经有前辈向我介绍一个出现在生产环境中的问题,因为包含很多术语,一开始我根本不知道他在说什么。直到他们给到具体的例子,甚至把代码都贴出来才能看明白。对实践场景的不熟悉,很容易导致我对功能需求的认识出现偏差。”

然而这些挑战也恰恰是 Roy 希望通过社区补齐的能力:“社区工作本身就是一种实践,这和你自己去学习课程、阅读教程完全是两个概念。”

  • 在开源中持续学习

为了克服这些困难,Roy 首先是 Push 自己去学习和摸索相关的基础知识。云原生本来就是一个比较新且综合的领域,就拿 Kubernetes 来说,涉及的知识点、功能点非常多,有着不低的学习门槛。Roy 和我们分享了他利用开源社区进行学习的一些经验:“首先我会通过开源社区去学习并整理出一些官方最权威的文档,同时会看一些成熟的基于 Kubernetes 的开源项目。因为这些项目在落地过程中被不断完善,逐渐形成了相对成熟的实践参考,当我们遇到相似问题时是一个非常有用的学习对象。”

  • 通过交流补充实践

向社区里的前辈们请教,是 Roy 补齐自己实践短板最有效的方式:“在社区中,我有机会和许多技术能力很强的前辈交流,比如和阿里云高级别的技术专家直接沟通,这对我来讲是非常宝贵的机会”。他认为社区工作最重要的一点就是沟通交流,不要“闭门造车”。只有大家对同一个问题有了相同的认知,并且对解决方案达成一个初步的共识之后,再去动手写代码,才是社区里协作解决问题的高效方式。

“成为 Maintainer 的过程,让我对 OAM 的理解更完整”

从实际参与社区到晋升为 Maintainer,Roy 大概经历了四、五个月的时间,帮助 KubeVela 完成了不少 Feature 的具体实现,得到了项目创始团队和现有 Maintainer 的认可。通过这些工作,让 Roy 自己也对 OAM “以应用为中心”的理念有了更完整的理解。在他看来,OAM 的出现及其目前的成绩,是云原生领域自然发展进程中的一个必然:

“云原生发展到现在,特别是 Kubernetes 出现以来,可以说经历了一个野蛮生长的阶段。它提供了高度可扩展的能力,让大家可以把几乎任意形式的软件都集成到这个平台上来。这一方面促进了 Kubernetes 和云原生的发展、繁荣,但也使平台上的应用管理变得非常复杂。”

作为一个一直关注云原生和 Kubernetes 领域的开发者,Roy 认为过往的开源项目基本围绕基础设施层,而 OAM 第一个提出了“以应用为中心”的理念,并且在不久前通过 KubeVela 的开源,将 OAM 的模型和 Kubernetes 运行时以更贴进 PaaS 平台用户和 PaaS 平台构建人员的方式,进行了完整实现。

“成为 Maintainer 对我来说是一种认可,也需要我承担更多的责任。未来,除了更多地倾听社区反馈、不断增强 OAM 及其子项目的能力之外,我也会向更多的开发者去普及 OAM 和相关开源项目的理念,帮助用户更快上手实践 OAM,就像孙健波等前辈做的那样”,Roy 表示。

“希望和更多开发者共建‘应用管理生态”

谈及对于 OAM 项目未来的发展,Roy 最希望的就是能够推动“下一代的、完全开放的应用管理生态”的逐步成熟。他认为 OAM 的发展,包括 KubeVela 的开源,已经搭建好了一个标准的云原生应用平台框架,这个框架具备高度的可扩展性和灵活性,对用户也非常友好,提供了不少开箱即用的应用管理能力,而更重要的是,这个框架还给了整个社区一个“一键组装”云原生生态能力成为 PaaS 的最佳路径,这样一个完全开放的、基于云原生社区能力的应用管理生态,其实已经初见雏形。

这次聊天最后 Roy 表达了这样的期待:“希望有更多的人参与到 OAM 社区尤其是 KubeVela 项目中,一起去建设这个日趋繁荣的应用管理生态,让越来越多的平台团队能够快速轻松的构建出强大而功能丰富的 PaaS,让应用开发人员真正享受到云原生带来的美好体验。”

3.jpg

后记

“个体私欲与互助并非绝不相容”。

在和 Roy 聊完天后,我们对“开发者”、“开源社区”和“市场”之间的互相成就,有了一次非常直接的体会:开发者的贡献成就开源,开源推动技术发展成就企业,而企业又给开发者带来了更多的便利。

所以开发者,别让自己孤独,这是一种美德,也能很好地帮助到你自己。最后,这个开放、包容、活跃的社区,欢迎你和我们一起加入,如果你有任何疑问,欢迎钉钉搜索群号:23310022,即可加入社区交流群。

项目地址:

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
前端开发
解决前端ajax跨域请求不携带cookie信息JSESSIONID的问题
解决前端ajax跨域请求不携带cookie信息JSESSIONID的问题
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
|
11月前
|
机器学习/深度学习 自然语言处理 测试技术
CoT神话破灭,并非LLM标配!三大学府机构联手证实,CoT仅在数学符号推理有用
【10月更文挑战第17天】链式思维(CoT)曾被认为是大型语言模型(LLM)激发推理能力的关键方法,但最新研究显示,CoT仅在数学和符号推理任务中有效,其他任务中效果不明显。加州大学伯克利分校、斯坦福大学和卡内基梅隆大学的联合研究打破了CoT作为LLM标配的神话,为重新评估LLM的推理能力提供了新视角。
211 1
|
6月前
|
存储 Java 编译器
Java泛型类型擦除以及类型擦除带来的问题
本文主要讲解Java中的泛型擦除机制及其引发的问题与解决方法。泛型擦除是指编译期间,Java会将所有泛型信息替换为原始类型,并用限定类型替代类型变量。通过代码示例展示了泛型擦除后原始类型的保留、反射对泛型的破坏以及多态冲突等问题。同时分析了泛型类型不能是基本数据类型、静态方法中无法使用泛型参数等限制,并探讨了解决方案。这些内容对于理解Java泛型的工作原理和避免相关问题具有重要意义。
285 0
|
数据采集 监控 大数据
大数据时代的数据质量与数据治理策略
在大数据时代,高质量数据对驱动企业决策和创新至关重要。然而,数据量的爆炸式增长带来了数据质量挑战,如准确性、完整性和时效性问题。本文探讨了数据质量的定义、重要性及评估方法,并提出数据治理策略,包括建立治理体系、数据质量管理流程和生命周期管理。通过使用Apache Nifi等工具进行数据质量监控和问题修复,结合元数据管理和数据集成工具,企业可以提升数据质量,释放数据价值。数据治理需要全员参与和持续优化,以应对数据质量挑战并推动企业发展。
2820 3
|
10月前
|
存储 XML 人工智能
深度解读AI在数字档案馆中的创新应用:高效识别与智能档案管理
基于OCR技术的纸质档案电子化方案,通过先进的AI能力平台,实现手写、打印、复古文档等多格式高效识别与智能归档。该方案大幅提升了档案管理效率,确保数据安全与隐私,为档案馆提供全面、智能化的电子化管理解决方案。
785 48
|
10月前
|
JSON 数据可视化 NoSQL
基于LLM Graph Transformer的知识图谱构建技术研究:LangChain框架下转换机制实践
本文介绍了LangChain的LLM Graph Transformer框架,探讨了文本到图谱转换的双模式实现机制。基于工具的模式利用结构化输出和函数调用,简化了提示工程并支持属性提取;基于提示的模式则为不支持工具调用的模型提供了备选方案。通过精确定义图谱模式(包括节点类型、关系类型及其约束),显著提升了提取结果的一致性和可靠性。LLM Graph Transformer为非结构化数据的结构化表示提供了可靠的技术方案,支持RAG应用和复杂查询处理。
571 2
基于LLM Graph Transformer的知识图谱构建技术研究:LangChain框架下转换机制实践
|
11月前
|
监控 网络协议 Shell
ip和ip网段攻击拦截系统-绿叶结界防火墙系统shell脚本
这是一个名为“小绿叶技术博客扫段攻击拦截系统”的Bash脚本,用于监控和拦截TCP攻击。通过抓取网络数据包监控可疑IP,并利用iptables和firewalld防火墙规则对这些IP进行拦截。同时,该系统能够查询数据库中的白名单,确保合法IP不受影响。此外,它还具备日志记录功能,以便于后续分析和审计。
188 6
|
11月前
|
人工智能 专有云 Serverless
亚太唯一!阿里云再度入选Gartner®容器管理魔力象限领导者
亚太唯一!阿里云再度入选Gartner®容器管理魔力象限领导者
248 2
|
11月前
|
机器学习/深度学习 算法 安全
大模型进阶微调篇(二):基于人类反馈的强化学习RLHF原理、优点介绍,但需要警惕LLMs的拍马屁行为
本文探讨了基于人类反馈的强化学习(RLHF)方法的优缺点。作者指出,虽然RLHF能够使模型更好地满足用户需求,但也存在缺乏多样性、创新不足、偏好固化和难以适应动态变化等问题。文章通过具体实验和示例代码,详细解析了RLHF的工作原理,并强调了其在实际应用中的潜在风险。
862 6