谈谈社区、产品和新Dubbo | 从Dubbo 的社区star 数突破 2 万说起

摘要: Dubbo近况,了解一下。

近期,阿里巴巴的高性能分布式服务框架 Dubbo,在 Github 上获得了超过 2万的 star 数,据了解这是截止目前国内第一家也是唯一一家超过2万 star 数的 Java 开源产品。

_Dubbo_star_2_1

-无社区,不产品-

说起开源产品,不得不先提下技术社区。无社区,不产品。从Alexa的排名来看,全球访问量最大的几个技术社区有:Github - Alexa开源类目第1位,Apache - Alexa开源类目第5位,Gitlab - Alexa开源类目第15位,当然还有些以厂商名义商业化做的不错的开发者社区也聚焦了大量的开发者,虽然中立性不如一些第三方开发者网站,但在商业回报上提升了开发者的粘性,最著名的就是Apple和Android的开发者社区了。

所以从指标上看,我们可以从网站访问量和商业回报两个角度来评价开发者社区的受欢迎程度。那么从社区的运营角度看,可以通过:

_Dubbo_star_2_2

  • 社区规模:
    注册人数、每天的停留时间等。社区的载体就是web页面,页面访问人数越多,注册量越大,页面停留时间越长,web的价值就越高;
  • 社区活跃度:
    项目发起者对项目的维护、开发者对开源项目的贡献、社区内的讨论、技术资料的沉淀等。活跃度取决于参与者在内容上的贡献程度,取之开源的同时回报给开源,才是社区生生不息的源泉;
  • 社区的表现:
    主要是流程上的表现,代码评审时间、bug的关闭时间等。大部分项目的维护人员都在专注于开发,对于一些开发者在社区提交的bug,commits和PR等,可能回复不够及时,项目维护人员越专注,社区越繁荣;
  • 社区人口特征:
    社区会员的会龄和活跃度的分布,各个会龄区间的会员数量分布和对应的活跃度。比较理想的分布是早期会员保证活跃度和贡献,中期会员成为社区项目维护人员的主力,不断的有更年轻的开发者加入社区,在社区中成长;
  • 社区的多样性:
    个人开发者和开发者所在的企业越多,贡献分布越均匀,社区就越健康。这个有点类似于2B 企业的用户分布,如果80%的销售额分布在top5的客户上,那显然不够健康,社区的多样性也是指引起腰部类项目越多,参与贡献的企业和个人开发者越多,就越健康,而不是仅几个明星企业或明星开发者在反馈社区。

-从想法到实现,产品的力量-

产品的生命力是社区持续繁荣的保障,开发者借助开源产品将想法变成现实,这也是开源产品的初衷。那我们如何评价一款开源产品。在 Github上提交的开源产品,评价你的项目受欢迎程度最直接的方式就是star数了,Github 的 star 数不同于微博和微信公众号,你可以通过广告、发红包和一些例如裂变的营销方式来增粉和吸赞。在 Github 上只能通过项目的优质性来获得star,Github上 star 数也远非只是一个数字那么简单,star 数的多少展示的是开发者对这个项目的信任程度,毕竟开发者会在项目上进行二次开发,甚至形成私有分支,如果没有足够的信任,很难让开发者投入时间和精力去尝试。那这种信任是如何形成的呢?这就涉及到如何运营好一个开源项目的方方面面了。

 

_Dubbo_Dubbo_star_2_3

  • 开源项目的作者:
    开源项目作者通常是一个团队或者个人,又或者是来自不同企业的开发者共同发起的项目,从Readme 文件中可以看到开源项目的作者信息。通过作者的个人主页,如果是聚焦在该项目,且近一年的contributions数量较多,那么这类项目就越容易获得开发者的信任。
  • Readme文件:
    Readme文件就好像是当你关注一个公众号后弹出的一篇自我介绍的文章,通过文章的排版设计、内容、个性化,往往可以了解到这个公众号的一些脾性。如果是针对开发者的readme,简洁的排版,详细的项目介绍,包括项目架构、特征、如何开始、联系方式、开发者如何contribute、提交bug的格式、支持的开发语言,以及其他必要的项目资料,介绍的越详细,结构越清晰,越容易获得开发者的信任。
  • Issue数量和维护情况:
    项目中有多少个open的issue,有多少是已经close的issue,open的issue中开发者的提交时间是否是最近的,open的issue的回复时间多长,这些指标都是对开源项目生命力的最直接体现,开发者越多,提出的issue就越多,回复和解决issue的时间就越短。
  • Fork数和PR(pull request)数:
    Fork之后,开发者就有对这个项目的可写权限了,Fork数越多,说明这个项目对开发者的价值越大;pull request 是指你在Fork后对代码做一些改变,可以是修复bug,也可以是其他你认为对项目有帮助的改变,然后pull request给项目维护人员,维护人员会判断是否进行merge,所以pull request越多,深度参与项目的开发者就越多。

其他包括commits,releases和contributors都是衡量这个开源项目的生态是否繁荣的重要指标。

 

-新Dubbo,新生态-

Dubbo是阿里巴巴于2012年开源的分布式服务治理框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案,使得应用可通过高性能RPC实现服务的输出和输入功能,和spring框架无缝集成,目前是国内影响力最大、使用最广泛的开源服务框架之一。

  • Dubbo的发展历程:
    » 2008年,阿里巴巴开始内部使用Dubbo;

» 2009年初,发布1.0版本;
» 2011年10月,阿里巴巴宣布开源,版本为2.0.7;
» 2014年,当当网fork了Dubbo版本,命名为dubbox-2.8.0,并支持http rest协议;
» 2014年10月,发布2.3.11版本,之后停滞;
» 2017年9月,阿里巴巴重启维护,重点升级所依赖的JDK及组件版本,发布2.5.4/5版本;
» 2018年2月,阿里巴巴宣布将Dubbo捐献给apache,进入apache孵化器;
» 2018年7月,Dubbo官方域名更新到Dubbo.apache.org,页面焕然一新,并启用新logo,品牌全面升级;

  • 新Dubbo – 新logo & 新官网 & 新生态

DUBBO_logo_

此次品牌的全面升级,不仅是自2017年9月后Dubbo团队重启维护,回馈社区的延续,也预示着Dubbo团队正以全新的面貌迎接开发者和用户。最新的logo采用亮紫到亮蓝的渐变色,寓意Dubbo的青春和生命力,d-u-b-b-o 5个字母嵌入代码中使用频率较高的符合 [ ] 、/和:,寓意Dubbo生于代码,回馈于开发者的初心。最新的官网采用和新logo一致的渐变色,整个页面简洁大方,符合开发者社区的气质,首页融入持续的流星划过的动态效果,更是对繁荣Dubbo生态的渴望,普惠所有使用Dubbo的开发者和Dubbo本身。

新官网进一步丰富了文档、博客和社区的内容,并提供了中英文版本,适用于全球的开发者和用户,为打造Dubbo新生态提供了坚实的内容基础。

_Dubbo_Dubbo_star_2_4

文档模块分为用户文档、开发者指南和运维管理3块内容。用户文档包括了入门、快速启动、依赖、成熟度、配置、示例、多维度的使用参考手册、服务化最佳时间以及使用报告。开发者指南包括了源码构建、框架设计、扩展点加载、实现细节、spi扩展实现、公共契约、编码约定、设计原则、版本管理、贡献、检查列表、坏味道、技术兼容性测试等。运维管理包含了安装手册和运维手册。文档几乎覆盖了Dubbo 的开发和使用过程中可能涉及到的所有内容和需要注意的细节,帮助开发者无门槛、一站式使用分布式服务治理框架。

新官网还提供了博客功能,开发者可以将自己在开发过程中的点滴记录到这里,参与生态共建,在Dubbo的发展过程中留下自己的足迹。在新官网的社区页面,提供了事件&新闻、生态系统、联系我们和贡献指南 4 部分内容。在这里,可以找到Dubbo最新的开发者沙龙和行业动态,还可以通过邮件、Gitter、Segment fault和Twitter联系到Dubbo的项目成员,第一时间获取反馈。

项目的成长,离不开社区的共建,Dubbo提供了详细的贡献指南,包括加入邮件列表参与讨论、发布报告缺陷、文档优化和提交PR修复问题,开发者可以在Dubbo的Github主页的README中的Contributing 类目下找到详细的内容。

如今,Dubbo之所以受到到国内外开发者的关注,除了产品强大的性能、丰富的特性、详细的中英文文档和阿里在开源方面持续的投入外,还离不开以下几个原因:

  • 良好的兼容性支持:
    支持Java、node.js、Python、PHP等多种开发语言,支持通过API方式启动Spring xml、Spring annotation、Plain Java、Spring Boot,支持Zookeeper、Redis、Simple multicast、Etcd3等开源注册中心组建,以及包括多种容错机制、负载均衡策略、各类通信协议、网络传输扩展和序列化机制,极大的提升了开发者的开发自由度,避免捆绑;
  • 丰富的行业实践:
    除了阿里巴巴内部大量应用正在使用Dubbo,还有包括金蝶、当当网、滴滴出行、去哪儿网、网联清算、网易考拉、政采云、中国人寿、海尔、中国电信、微店、中国工商银行等来自政府、银行、保险、软件开发、互联网、制造、电信等多个行业用户也都在基于Dubbo构建企业自己的微服务,开发即回报;
  • 完善的开发者生态:
    在Github上,目前项目已有2434commits,52次release,95位社区contributors,fork数达13970,已合并的PR数 650个,已解决1047个issues,open的381个issue中社区的回复率和回复速度都很高,这些数据都正在帮助项目获得更多开发者的信任。

从停更到重启维护,在重启维护后的不到一年的时间里,Dubbo接连发布了10个版本,进入Apache孵化器,启用Dubbo新官网和新Logo,在北京、上海、深圳多个城市举办开发者沙龙,加强近距离沟通,这些都注定了Dubbo将迎来不一样的快意人生。

原文链接 

本文为云栖社区原创内容,未经允许不得转载。

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

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

相关文章

9008线刷_小米红米手机新机9008模式怎么进入?小米线刷救砖模式

说起了9008刷机,其实对于玩机党来说非常不模式,市面上大部分机型都是高通处理器而高通处理器一般都有9008模式。到底9008模式怎么进入呢?9008模式下我们又可以做哪些刷机操作呢?下面ROM乐园小编就带大家了解下红米和小米新机的900…

关于IDEA代码的整理以及函数

关于IDEA代码的整理以及函数 最近在写一个项目,发现有些代码比较冗长重复率较高,比如try{}catch(){}这个代码的重复率就比较高,我们可以把try、catch删除,然后用CttrlAltL来格式化,这样子比较美…

基于实战开发垂直搜索引擎_基于DDD的微服务设计和开发实战

作者:欧创新、邓頔、文艺你是否还在为微服务应该拆多小而争论不休?到底如何才能设计出收放自如的微服务?怎样才能保证业务领域模型与代码模型的一致性?或许本文能帮你找到答案。本文是基于 DDD 的微服务设计和开发实战篇&#xff…

把 14 亿中国人都拉到一个微信群,在技术上能实现吗?

戳蓝字“CSDN云计算”关注我们哦!作者 | 知乎网友责编 | 阿秃“最近,知乎上有一个非常热门的问题:“把 14 亿中国人民都拉到一个微信群里在技术上能实现吗?”(https://www.zhihu.com/question/293021546)实…

列赋值为列表_Pandas入门-3-新增数据列操作

在数据分析过程中,常常会依据一定条件进行新数据列的增加,以便于我们对数据更好地分析。接下来,一起学习如何在Pandas的数据类型中进行新增数据列操作。知识点:直接赋值.apply.assign按条件选择分组再分别赋值我想要新增一列“温差…

Cannot obtain primary key information from the database, generated objects may be incomplete

问题描述 在整合mybatis时只是生成了两个insert()函数,并且提示 [WARNING] Cannot obtain primary key information from the database, generated objects may be incomplete 解决方法 在jdbc连接url上加nullCatalogMeansCurrenttrue urljdbc:mysql://localhost:3…

三问(why?what?how?)金融领域的机器学习

摘要: 都喜欢人生三问,那么金融领域的机器学习三问了解一下。 机器学习可能会很有魔力,即使它背后没有魔法。尽管如此,机器学习项目的成功更多地取决于构建高效的基础架构,收集合适的数据集以及应用正确的算法。 机器…

git拉取项目以及提交项目

git拉取项目以及提交项目 1.打开cmd,键入cd d: d: cd project 输入git clone 你要拉区项目的地址 2.项目地址可以在gitee.com的项目代码那里去复制 3.提交项目也可以用cmd键入命令来提交 4.一直在d盘这里键入dir cd 项目名字 git comt -…

python中int input_python中的input是什么

Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。 Python2.x 中 input() 相等于 eval(raw_input(prompt)) ,用来获取控制台的输入。 raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入…

阿里巴巴机器翻译在跨境电商场景下的应用和实践

摘要: 本文将与大家分享机器翻译相关背景知识,再深入介绍机器翻译在阿里生态中的具体应用实践,介绍基于机器翻译技术搭建的一套完善的电商多语言解决方案,最后将会从技术角度介绍阿里机器翻译在解决实际业务问题中的技术创新和亮点…

【内含福利】全球第一例:苹果Apple Card遭盗刷,物理卡或被克隆;谷歌正在试产5G智能手机,最快下周发布……...

戳蓝字“CSDN云计算”关注我们哦!嗨,大家好,重磅君带来的【云重磅】特别栏目,如期而至,每周五第一时间为大家带来重磅新闻。把握技术风向标,了解行业应用与实践,就交给我重磅君吧!重…

tomcat内存溢出

-Xms1024m -Xmx1536m -XX:PermSize128M -XX:MaxPermSize556M -Dfile.encodingUTF-8

如何用Java代码解析json

如何用Java代码解析json 今天在写项目的时候用到了json,然后尝试着Java代码解析了一下json 用相同的类型定义一个参数,然后json.与定义的参数类型一样的get方法,括号里面就是要解析的key 我图片的是嵌套json,解析两次在输出。

利用函数wavread对语音信号进行采样_AI大语音(一)——语音识别基础(深度解析)...

1 声音特性​ 声音(sound)是由物体振动产生的声波。是通过介质传播并能被人或动物听觉器官所感知的波动现象。最初发出振动的物体叫声源。声音以波的形式振动传播。声音是声波通过任何介质传播形成的运动。频率:是每秒经过一给定点的声波数量&#xff0c…

PostgreSQL PostGIS 的5种空间距离排序(knn)算法

摘要: 标签 PostgreSQL , PostGIS , operator , ops , knn 背景 PostgreSQL GiST索引支持排序接口,可以支撑空间、标准、数组、文本向量、文本等类型的排序。 标签 PostgreSQL , PostGIS , operator , ops , knn 背景 PostgreSQL GiST索引支持排序接口…

程序员为什么爱穿格子衫和卫衣?

点击上方蓝色字关注我们~兢兢业业宵衣旰食写代码造福网友承受着发际线后退和眼神涣散的双重折磨这就是程 序 员为什么这么多的程序员都爱连帽卫衣呢?在我们的卫衣上市之前,我们调查了一下,小编认为也许有以下四点原因——01小肚腩连帽卫衣的宽…

Alios Things的Flash划分规则

摘要: 为了方便大家移植Alios Things,本文给出了关于Alios Things Flash划分规则,及注意事项。 Alios Things简介 AliOS Things发布于2017年杭州云栖大会, 是 AliOS 家族旗下的、面向IoT领域的、高可伸缩的物联网操作系统,于201…

如何解决数组下标越界异常

如何解决数组下标越界异常 今天在写接口的时候运行发现有一个数组的下标越界异常了, 检查了一下发现实在上面的数组中有一些字符串没有大写,造成跟下面的数组字符串不一样,所以导致了数组下标越界异常。

centos7 yum安装ifconfig

centos7 yum安装ifconfig yum install net-tools