参与 Apache 顶级开源项目的 N 种方式,Apache Dubbo Samples SIG 成立!

简介: 一说到参与开源项目贡献,一般大家的反应都是代码级别的贡献,总觉得我的代码被社区合并了,我才算一个贡献者,这是一个常见的错误认知。其实,在一个开源社区中有非常多的角色是 non-code contributor,一个开源社区中的很多关键职责被大家给忽略了。

头图.png

头图来源:https://opensource.guide/
来源 | 阿里巴巴云原生公众号

只有贡献代码才算是参与开源项目社区贡献吗?

一说到参与开源项目贡献,一般大家的反应都是代码级别的贡献,总觉得我的代码被社区合并了,我才算一个贡献者,这是一个常见的错误认知。其实,在一个开源社区中有非常多的角色是 non-code contributor,一个开源社区中的很多关键职责被大家给忽略了。

组织活动也可以是贡献社区:

  • 你可以像远在巴西库亚巴的 @fzamperin学习,为你喜欢的开源项目组织 workshop 或线下 meetup
  • 你还可以帮助社区成员找到合适的线下峰会来提交技术议题
  • ……

技术写作或者技术布道也是贡献社区:

  • 为你喜欢的开源项目编写或者改进文档
  • 建立一个如何使用这个开源项目的 samples
  • 将文档翻译成其他语言,帮助全球开发者认识、使用该项目
  • 在自己的公众号或者博客分享使用该项目的指南和心得
  • ……

设计和官网开发也是贡献社区:

  • 重构开源项目官网来帮助开发者更好的认识、使用该开源项目
  • 进行用户调研来更好地改善官网导航和目录
  • 构建一个 style guide 来帮助该项目拥有一个更统一、完善的视觉设计
  • 为该开源项目设计贴纸、T 恤等周边
  • ……

Apache Dubbo Samples SIG 成立!samples 贡献者招募中

Apache Dubbo 发展到今天,已经有 386 个贡献者,贡献者了包括代码、测试、用例、文档、使用建议等丰富内容。当前 Dubbo Core 有 2.7、3.0 两个非常活跃的演进分支,其中 2.7 版本已被众多知名企业大规模的投入生产环境,如携程、工商银行、瓜子二手车等,而 3.0 分支也已经在 3 月份发布了 preview 版本,按照计划在 6 月份第一个 3.0 可用版本也将正式发布。

内核的快速演进与迭代促进了 Dubbo 的快速发展,同时,也给整个社区与 Committer 核心项目组带来新的挑战,这体现在:

  • 新 Feature 相关的用户示例与文档缺失。用户对新版本特性如何使用无从知晓,翻阅代码成为唯一的途径。
  • 稳定性无法得到充分保障。在迭代过程中,单元测试、集成测试没有得到有效的补充,这导致测试覆盖度的下降和回归成本的高涨,更糟糕的是如果发版环节有些问题仍未被发现,则它们将不可避免的被带到用户使用环节。

由于文档和用例的缺失,我们不得不处理大量的 Issue、也包括其他的线上答疑,来解答用户的疑问,其中有一些是用户不知道某个具体功能怎么用,有一些则是使用了不正确的配置方式导致不能正常运行;稳定性的下降则是对我们自己以及 Dubbo 用户两方面的双重打击,持续的出现问题会导致用户开始对 Dubbo 的版本发布失去信心,而对我们这些核心维护者而言,花费大量精力完成的版本却给用户带来了困扰,这会让整个开发组也变得沮丧。毫无疑问,对于 Dubbo 社区而言,解决以上问题成为了当前迫在眉睫的工作任务,这本身的重要性并不亚于大家所热衷的核心功能开发,但我们也认识到,投入到其中需要花费一定的精力,仅仅靠当前的几位维护者会非常吃力,尤其是考虑到他们还需要兼顾整个 Dubbo 社区的运作。

在这样的背景下,我们想到了召集来自社区的力量,今天在 Committer 核心成员的一致建议下,Apache Dubbo 决定成立 Samples SIG(注:SIG  是 special interest group 的缩写,即兴趣小组),以期能改善以上的示例缺失、稳定性等问题。毫无疑问,这个 SIG 的运转需要广大开发者的积极参与,当然,社区的核心开发者们也会积极的活跃在其中。

Dubbo 现状

当然,能稳定的支撑这么多企业与实例稳定的运行,Dubbo 的测试与稳定性机制也并非一无是处,以下是 Dubbo 具备的一些能力与运作机制。

  • 单元测试。单元测试全部位于_https://github.com/apache/dubbo_主干仓库,目前能达到大概 40% - 50% 的覆盖度,但遗憾的是近期的很多新增修改,包括 2.7 与 3.0,在这方面做的都有所欠缺。
  • 集成测试。Dubbo 的集成测试项目位于_https://github.com/apache/dubbo-samples_,里面包含了我们当前建设的大部分 Dubbo Feature 用例,你可以把当做一个Quick Start的示例工程用,也可以作为功能参考手册(代码),我们在其上构建了自动化的集成测试机制,能实现对所有用例的全量验证。
  • 基于 Github Actions 的自动化测试流程。每一次代码提交、PR 都会触发这个 Workflow,它会对主干仓库进行编译,并依次运行单元测试、集成测试,同时还有一些代码合规范的检查。

我们要做的提升计划,就是在以上已有组件的基础之上继续完善。通过梳理,我们总结出以下部分内容需要重点完善:

  • Dubbo 3.0 中新引入的一些核心机制、组件的单元测试覆盖
  • Dubbo 3.0 中新引入的一些核心组件的用户用例、集成测试
  • Dubbo 重点组件的,如 Zookeeper、Nacos 等
  • Dubbo 内核一些核心组件,如 Registry、Directory、URL、FilterBuilder、Context、AsyncRpcResult、ApplicationModel、ServiceRepository 等的单元测试覆盖

请关注下文的 SIG 联系方式,以实现更好的持续协作和任务进度的更新。

对参与者的帮助与要求

参与到 SIG 中来,不论你是学生、初学 Dubbo 的开发者、用户、或是混迹职场的技术达人,这里应该都能您带来一些帮助:

  • 掌握 Dubbo 新特性的使用方式
  • 快速了解 Dubbo 的核心工作机制
  • 掌握 Dubbo 的演进动态的一手信息
  • 如果你是企业用户,也能共同实现推动 Dubbo 稳定性的提升,解决 Dubbo 的企业落地问题
  • 与业内的技术专家、同行深入交流,提升自己,实现信息共享
  • 积累活跃度,成为开源达人,与 Apache 结缘并有机会成为 Apache Dubbo Committer

另外,社区也会不定期的举办线上、线下活动,获得社区贡献者专属礼物。
我们对参与者的唯一要求就是热情,希望参与者能持续的投入在 Dubbo 社区的建设中,并定期的参加我们 SIG 的交流活动,以实现与其他人的协作。

原文链接

本文为阿里云原创内容,未经允许不得转载。

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

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

相关文章

python中bar的用法_python使用matplotlib绘图 -- barChart

matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。它的文档相当完备,并且Gallery页面 中有上百幅缩略图,打开…

java在cmd中什么意思_为什么在cmd中java可以运行,javac不行?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼Path: C:\Program Files\NVIDIA Corporation\PhysX\Common;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.8.0_05\bin;C:\Program F…

重磅 | 《中国移动云网一体产品白皮书(2021)》发布!

11月1日—11月3日,2021中国移动全球合作伙伴大会在广州隆重召开。11月2日,中国移动云能力中心副总经理孙少陵发表了《移动云技术内核2.0》主旨演讲,并在会上发布了《中国移动云网一体产品白皮书(2021)》。云网一体是市…

Flink 最佳实践之使用 Canal 同步 MySQL 数据至 TiDB

简介: 本文将介绍如何将 MySQL 中的数据,通过 Binlog Canal 的形式导入到 Kafka 中,继而被 Flink 消费的案例。 一. 背景介绍 本文将介绍如何将 MySQL 中的数据,通过 Binlog Canal 的形式导入到 Kafka 中,继而被 F…

我的工作网怎么样_分享一下我在珍爱网的相亲经历

分享一下我在珍爱网的相亲经历相亲对于单身人士来说并不是陌生词语,很多人可能都有比较丰富的相亲经验,但是对我而言,相亲,一直都是贬义词,我觉得一个没有能力的人才会指望相亲解决个人感情问题,万万没想到…

参数校验优雅实践

简介: 希望本文可以帮助到大家,可以用一种优雅方式接入参数校验,保护系统解放自身,从你我做起! 作者 | 中野 来源 | 阿里技术公众号 一 不厌其烦的 if else? 参数校验,为了保护自己的代码,一般…

【实践案例】Databricks 数据洞察 Delta Lake 在基智科技(STEPONE)的应用实践

简介: 获取更详细的 Databricks 数据洞察相关信息,可至产品详情页查看:https://www.aliyun.com/product/bigdata/spark 作者 高爽,基智科技数据中心负责人 尚子钧,数据研发工程师 1、基智科技 北京基智科技有限公司…

java springmvc搭建_【JavaEE】Springmvc+Spring搭建方法及example

这一篇在前一篇Springmvc的基础上,加上Spring。Spring的主要用途叫做控制反转(依赖注入,IoC/DI)和面向切面的编程(AOP),本文只介绍IoC,因为AOP主要的应用场景是记录日志,暂时不需要,等我要整合的几个框架都…

腾讯王巨宏:开源是一项长跑,与开发者共赢开源未来

11月4日,2021腾讯数字生态大会Techo Day技术峰会在武汉召开,腾讯首次披露了在5大技术领域的开源新进展,并回顾了腾讯开源的四大变化。 腾讯公司副总裁王巨宏表示,云与开源共生共荣、相互支撑,共同为用户和开发者创造价…

python安装找不到硬盘_python2.7下安装theano

今下午在新硬盘上面重新升级Python2.7的时候,升级完之后,发现pip还是不行,使用“# wgethttps://bootstrap.pypa.io/ez_setup.py -O - |python”提示找不到libpython2.7.so.1.0,经过查找,可以使用如下方法解决&#xff…

【阿里云EMR实战篇】以EMR测试集群版本为例,详解 Flink SQL Client 集成 Hive 使用步骤

简介: 以测试集群版本为例(EMR-4.4.1)—— Flink SQL Client 集成 Hive 使用文档 作者:林志成,阿里云EMR产品团队技术支持,拥有多年开源大数据经验 1、以测试集群版本为例(EMR-4.4.1&#xff…

python pycharm打包_【转】通过PyCharm 把Python 程序打包为exe

但是由于PyCharm 用了虚拟环境venv, 所有一些参数是有区别的,网上查询了很久没有查到这方面的信息,下面这些都是我自己探索出来的lin49940。步骤一,点击进入PyCharm 的输入终端Terminal步骤二,输入下面的语句&#xff…

云原生的进一步具象化

简介: 云原生这个概念已经越来越深入人心,但对“云原生到底是什么?”这个问题,仍然是各种各样的解读,最近对云原生具体是什么有了点感触,于是写下来分享和探讨下。 云原生这个概念已经越来越深入人心&…

java求极限值_高等数学——讲透求极限两大方法,夹逼法与换元法

本文始发于个人公众号:TechFlow今天的文章聊聊高等数学当中的极限,我们跳过极限定义以及一些常用极限计算的部分。我想对于一些比较常用的函数以及数列的极限,大家应该都非常熟悉。大部分比较简单的函数或者数列,我们可以很直观地…

Kubernetes 上调试 distroless 容器

作者 | Addo Zhang来源 | 云原生指北Distroless 镜像Distroless 容器,顾名思义使用 Distroless 镜像[1]作为基础镜像运行的容器。"Distroless" 镜像只包含了你的应用程序以及其运行时所需要的依赖。不包含你能在标准 Linxu 发行版里的可以找到的包管理器、…

技术干货 | 如何在 Library 中使用/依赖 mPaaS?

简介: 在使用 mPaaS 框架过程中,有时需要复用模块。复用时需要按照使用 Module 依赖的方式添加模块。 使用场景 在使用 mPaaS 框架过程中,有时需要复用模块。复用时需要按照使用 Module 依赖的方式添加模块。本文以将复用 mPaaS 扫码组件的…

java 租车管理系统_jsp+servlet+jdbc实现的java web共享租车信息管理系统,包括登陆注册,页面框架Easy UI...

项目描述初学java web项目时做的一个课设,基于servletjspjdbc的后台管理系统,包含5个模块:汽车账户部管理、租车账户部管理、汽车信息管理表、租车记录表、租车租聘表。功能完整,均能实现增删查改。运行环境jdk8tomcat8.5mysql5.7Eclipse项目…

Java单元测试技巧之PowerMock

简介: 高德的技术大佬向老师在谈论方法论时说到:“复杂的问题要简单化,简单的问题要深入化。” 这句话让我感触颇深,这何尝不是一套编写代码的方法——把一个复杂逻辑拆分为许多简单逻辑,然后把每一个简单逻辑进行深入…

OceanBase再破纪录!核心成员陈萌萌:坚持HTAP就是坚持我们做数据库的初心

简介: 2021年5月20日,据国际事务处理性能委员会(TPC,Transaction Processing Performance Council)官网披露,蚂蚁集团自主研发的分布式关系型数据库OceanBase在数据分析型基准测试(TPC-H&#x…

python小波分解与重构_小波分解和重构

小波变换能够很好地表征一大类以低频信息为主要成分的信号,小波包变换可以对高频部分提供更精细的分解详见(http://www.cnblogs.com/welen/articles/5667217.html)小波分解函数和重构函数的应用和区别(https://www.baidu.com/link?urlNsLWcGxYPabqB0JEFzkjHzeLmcvG…