DevUI开源经验分享:从0到1开始运营你的开源项目
摘要:DevUI是面向企业中后台产品的开源前端解决方案,于2019年6月正式在GitHub开源,从当时的无人问津到去年8月累计1000 Star,再到现如今上千名社区成员、上百位贡献者、达成了3000 star的成就,也只经历了短短2年的时间。
本文分享自华为云社区《从0到1开始运营你的开源项目——华为云DevUI成长经验分享》,作者:HCDG小助手。
在10月29日举行的第七届开源年会上,我们有幸邀请到了华为云DevUI团队的Kagol老师与大家分享DevUI开源的故事。从摸着石头过河到现在专注于前端组件库建设和开源社区运营,Kagol老师有太多宝贵的经验值得我们去学习。

开源年会现场Kagol老师与参与DevUI开源贡献者宋同学合影
DevUI是面向企业中后台产品的开源前端解决方案,于2019年6月正式在GitHub开源,从当时的无人问津到去年8月累计1000 Star,再到现如今上千名社区成员、上百位贡献者、达成了3000 star的成就,也只经历了短短2年的时间。

我们总结了以下4点运营经验:
1、打响知名度:
通过在掘金等开发者聚集的技术社区撰写技术文章,通过优质内容吸引关注者,并将关注者引流到技术交流的微信群。
Ng DevUI 组件库从Angular、RxJS、TypeScript、CDK等多个开源项目吸收养分、茁壮成长,并通过华为云众多业务的实践,沉淀出一套华为云风格的组件库。我们希望能够把这些优秀实践回馈给开源社区。于是Ng DevUI在2019年6月正式在GitHub开源。
2020年3月,我们开始尝试性地在掘金社区运营DevUI团队的技术专栏,一年时间产出了39篇技术干货。特别感谢社区的小伙伴Zcating投稿了6篇文章,为技术专栏做出贡献。这一年可以说是DevUI开源社区运营的元年,也正是在这一年DevUI开始在社区有一定的曝光度,还获得了掘金2020年度人气团队TOP5的荣誉。

2、营造温暖社区氛围:
通过大版本、新特性推广软文,让开发者了解我们在做什么、打算做什么,我们的优势是什么,吸引社区开发者参与到我们的开源项目的贡献中来。
经过一年多的内容积累,在2021年4月我们尝试性地发布了第一篇Ng DevUI软文——《2021年最值得推荐的7个Angular前端组件库》,取得了不错的反响。后面陆续发布了一系列介绍DevUI开源项目、多个里程碑版本的介绍文章,短时间内吸引了很多关注者。更让人感激的是吸引到了一位社区开发者Brenner的强势加入,Brenner持续近2个月的贡献完成了10个组件,极大丰富了组件库内容。
后续我们继续发布同步Vue DevUI项目进展的文章,其中留下了小助手的微信号持续吸引感兴趣的开发者们,经过100多位贡献者持续近600天,写了近60000行代码,Vue DevUI 终于在今年9月初发布了v1.0正式版本,衷心感谢各位为开源组件做出的贡献。

3、与外部社区积极合作:
一起举办直播活动,可以获得双赢的结果,为双方的社区都带来有价值的内容,促进双方社区的活跃。
2021年9月我们想扩大推广范围,除了文章以外还尝试通过视频或直播的方式推广DevUI,正当不知如何开始时,我意外通过参与B站Up主前端杨村长和职业我狗哥的简历点评活动和直播结缘,村长邀请我到他的直播间去分享做Vue DevUI 的经验。虽然第一次直播有点紧张,但后续逐渐适应连播了4个月,从9月份到12月份产出了《我要做开源》系列直播视频10期。这个系列为DevUI开源社区吸引了非常多贡献者,其中还有一些成为了我们项目的核心成员。中间有两期还带我们的社区成员一起到直播间玩,他们都觉得是非常有趣的体验。

4、持续运营与贡献:
通过搭建一个开发者之间相互交流的平台,组织定期的沟通会,将大家凝聚在一起,通过设计良好的激励机制,让社区成员产生成就感和归属感,从而更愿意在社区持续贡献和成长。
开源社区包含对社区成员和组织的双重价值,要吸引更多人加入社区,需要讲清楚社区存在的价值。
社区成员渴望有意义的协作方式,通过社区,他们可以:
- 结识其他优秀的人
- 丰富人生体验
- 高质量的学习资源、相互交流和寻求帮助的平台
- 培养技能
- 获得指引和辅导
- 积累职业经验和专业知识,丰富简历
组织期望获得商业成功,而通过社区,组织可以:
- 实现用户的增长
- 提供更好的支持
- 提升品牌认可度
- 产品和技术升级
- 吸引人才和招聘
这种双赢是开源社区能够持续发展的基础。

未来展望
欢迎大家关注 DevUI !
未来华为云前端开源社区也会将更多内部优秀工程实践开源出来,欢迎朋友们加入我们的社区,一起打造有竞争力的开源产品,营造有温度的开源社区,期待你的加入!
源码仓库:https://github.com/DevCloudFE
DevUI开源经验分享:从0到1开始运营你的开源项目的更多相关文章
- 【Java经验分享篇01】小白如何开始学会看开源项目?
目录 前言 1.理解开源 1.1.什么是开源? 1.2.开源的定义 1.2.1.开源软件优点 1.2.2.经典开源软件案例 1.3.关于开源协议 1.3.1.如何选择开源协议 2.如何查找开源项目 2 ...
- Apache DolphinScheduler 架构演进介绍及开源经验分享 - eBay 阮文俊
引言 来自 eBay 的文俊同学在近期的上海开源大数据 Meetup 上做了十分精彩的 "Apache DolphinScheduler 的架构演进" 分享.本次分享有近 200 ...
- 感知开源的力量-APICloud Studio开源技术分享会
2014.9.15 中国领先的“云端一体”移动应用云服务提供商APICloud正式发布2015.9.15,APICloud上线一周年,迎来第一个生日这一天,APICloud 举办APICloud St ...
- 鸿蒙系统开源学习经验分享HarmonyOS[www.allharmonyos.com]
分享鸿蒙系统开源知识,分享学习经验,分享鸿蒙系统开发经验 www.allharmonyos.com https://gitee.com/allharmonyos https://github.com/ ...
- 吉特仓储管系统(开源WMS)--分享两月如何做到10W+的项目
在此文开篇之处先特别申明,此文在有些人的眼中会有广告的嫌疑,但是本人不想将其作为一个广告宣传的文章,在此提到软件内容部分请大家予以谅解和包含,作为时间不算短的程序员给大家分享一些自己开发吉特仓储管理软 ...
- 【老司机经验】CC2530&STM8S105二合一嵌入式学习板设计思路与经验分享
CC2530&STM8S105二合一嵌入式学习板设计思路与经验分享 1.缘起 这些年来一直在其他公司的实验箱和别人的开发板上进行教学与开发工作,总是觉得功能设计不那么合意.心里突然冒出个 ...
- 沉淀,再出发——在Ubuntu Kylin15.04中配置Hadoop单机/伪分布式系统经验分享
在Ubuntu Kylin15.04中配置Hadoop单机/伪分布式系统经验分享 一.工作准备 首先,明确工作的重心,在Ubuntu Kylin15.04中配置Hadoop集群,这里我是用的双系统中的 ...
- Lucene底层原理和优化经验分享(1)-Lucene简介和索引原理
Lucene底层原理和优化经验分享(1)-Lucene简介和索引原理 2017年01月04日 08:52:12 阅读数:18366 基于Lucene检索引擎我们开发了自己的全文检索系统,承担起后台PB ...
- 【干货】Kaggle 数据挖掘比赛经验分享(mark 专业的数据建模过程)
简介 Kaggle 于 2010 年创立,专注数据科学,机器学习竞赛的举办,是全球最大的数据科学社区和数据竞赛平台.笔者从 2013 年开始,陆续参加了多场 Kaggle上面举办的比赛,相继获得了 C ...
- Kaggle 数据挖掘比赛经验分享(转)
原作者:陈成龙 简介 Kaggle 于 2010 年创立,专注数据科学,机器学习竞赛的举办,是全球最大的数据科学社区和数据竞赛平台.笔者从 2013 年开始,陆续参加了多场 Kaggle上面举办的比 ...
随机推荐
- We Need More Bosses 题解
We Need More Bosses 题目大意 给定一张图,找到两个点,使得这两个点之间的所有路径必须经过的边最多. 思路分析 我们先来思考一下如果已知两个点,怎么求两个点之间必须经过的边的数量. ...
- Tetris(俄罗斯方块).sh
#!/bin/bash # Tetris Game # 10.21.2003 xhchen<[email]xhchen@winbond.com.tw[/email]> #APP decla ...
- Java 面试题之 Logback 打印日志是如何获取当前方法名称的?
在 Java 中,有四种方法可以获取当前正在执行方法体的方法名称,分别是: 使用 Thread.currentThread().getStackTrace() 方法 使用异常对象的 getStackT ...
- Java Lambda 表达式常见面试问题与解答
公众号「架构成长指南」,专注于生产实践.云原生.分布式系统.大数据技术分享. 在本文中,我们将讨论一些重要且常见的 Java Lambda 表达式面试问题和解答 1.什么是 Lambda 表达式? l ...
- AcWing 1064. 小国王
状态:f[i][j][k]表示第i行放了j个皇帝,状态为k的方案. 那么首先预处理出所有可行的方案,以及两两可以相互转移的答案. 从b状态转移到a状态就是 :\(f[i][j][a] += f[i - ...
- 支持向量机SVM:从数学原理到实际应用
本篇文章全面深入地探讨了支持向量机(SVM)的各个方面,从基本概念.数学背景到Python和PyTorch的代码实现.文章还涵盖了SVM在文本分类.图像识别.生物信息学.金融预测等多个实际应用场景中的 ...
- localhost工具:本地代码的远程之路
在日常的开发过程中,本地代码远程调试一直是最理想的开发状态.本文通过介绍京东集团内开发的一个轻量简单的小工具"localhost",从多角度的方案思考,到原理介绍,到最终的方案落地 ...
- CSS(不定时更新)
一.使用img后的高度多了4px 由于img是行内元素,默认display: inline; 它与文本的默认行为类似,下边缘是与基线(baseline)对齐,而不是紧贴容器下边缘. 将displayp ...
- 2023-12-09:用go语言,给你两个整数数组 arr1 和 arr2, 返回使 arr1 严格递增所需要的最小「操作」数(可能为 0)。 每一步「操作」中,你可以分别从 arr1 和 arr2
2023-12-09:用go语言,给你两个整数数组 arr1 和 arr2, 返回使 arr1 严格递增所需要的最小「操作」数(可能为 0). 每一步「操作」中,你可以分别从 arr1 和 arr2 ...
- bash shell笔记整理——cd命令、目录路径
cd---change directory 改变目录的意思 语法: cd [选项] <目录> 选项: -L 会自动进入符号连接目录(默认) -P 进入符号连接目录的真实目录下. 常用: 命 ...