从热爱到深耕,全国top10开源软件出品人手把手教你如何做开源

华为云开发者社区 华为云开发者社区     2023-04-23     260

关键词:

摘要:DTT直播邀请到管雷鸣与广大开发者分享“如何在开源领域找到适合自己的路”。

“想象一下,你写的代码被越来越多的人使用,并极大地帮助他们提高了开发效率和稳定性。”这是不是一件很酷的事?而这正是开源的魅力…

开源作为一种推动软件开发技术创新的新模式,广受开发者的喜爱。作为拥有40余个开源项目,全国开源软件Top10的出品人,雷鸣云CEO管雷鸣深耕开源领域15年,并一直保持热爱。

开发者如何参与开源,能收获到哪些价值?本期华为云开发者社区DTT直播,邀请到管雷鸣与广大开发者分享“如何在开源领域找到适合自己的路”。

缘起:一切从热爱开始

2008年,管雷鸣开始接触SaaS自助建站,业内在当时还没有开源的相关系统,小伙伴们对此都怀抱期待,于是他想着利用空余时间写一个出来。

2010 年,他在中国站长社区发布了寻仙WAP2.0(一个用于搭建手机网站的系统),短短几个月,下载量破千,让管雷鸣受到极大鼓舞,由此热爱上了开源。

随后在2015年,管雷鸣继续接触到开源中国码云,用Java开发了一个游戏辅助工具并将源码放在了码云上,这也成为他在开源代码托管平台上发布的第一个项目。

2022年,管雷鸣参与华为云“开源开发者支持计划”,发布DataX for HuaweiCloud OBS插件,获得了华为云沃土云创一万元奖励,同时也上架到了华为云云商店,支持其他开发者云上一键部署。

“参与开源的初衷更多的是热爱,人生中应该要做一些自己喜欢的事儿。比方写代码到半夜十二点也感觉不到累,思维会极其活跃清晰,这可能就是开源开发者的信仰和追求。”管雷鸣讲到。

从0 到1参与开源项目经验分享

首先,在选择适合自己的开源项目时,要结合自己最擅长的领域,契合当前的能力和兴趣,避免因为参与开源给自己造成精神上的压力、生活中的负担。

如何找到开源项目?

管雷鸣结合自己的经验给出了几点建议:

  • 有好的想法,可以在开源项目中提 Issues。
  • 针对开源项目中,使用者在Issues提的问题及bug,可以踊跃参与实现及修复。
  • 不少开源项目作者都是业余时间进行更新维护的,时间不会很充足,可以针对开源作者所发布的一些任务进行接取,主动参与任务。
  • 某些开源组织会发布一些任务,其中涉及到各种语言及知识点,比如华为云开源&开发者示例代码仓中,就罗列出很多开源任务 https://gitee.com/HuaweiCloudDeveloper/rewarding-cloud-native-projects开发者如果在其中有恰好自己熟悉的,便可以非常方便的接取

对项目有问题想交流时,良好的沟通方式可以在最短的时间内,将信息传达给他人。例如在项目中提Issues ,也可添加项目相关的微信群、QQ群进行交流;沟通过程中,将自己的信息表达明确,尽量减少出现来回询问互动的过程。

正确阅读和理解开源代码

开源项目中的README.md及相关文档是必读的。动手之前先看文档说明,避免自己花了半天时间读代码找问题,而问题就在文档中明确有说明;在研究项目的过程中,自己一定要参与进去,可以先定一个小目标,在本地能先跑起来,之后就可以尝试改动并验证改动是否正确。

在项目中提交自己的贡献

如果项目是单自己的,可以在github或gitee上注册一个账号,创建一个仓库,进行提交上去。具体提交的步骤社区中都有非常完善的文档可以进行参考。

如果是别人的开源项目,并且自己参与会非常多时,可以联系作者把你加入到这个仓库的开发者中,改动即可直接推送上来。

在大多数情况下,你想参与别人的开源项目进行贡献时,可以Fork这个仓库。Fork后就会克隆出一个自己的仓库来。所有的修改都在克隆后自己的这个仓库,也就是自己的仓库中进行修改。需要注意的事,每次更改功能前,要同步一下自己克隆的仓库,保证自己仓库代码是最新的。改动完成后,提交一个合并请求到主仓库进行申请合并。

开源for HuaweiCloud任务实战分享

管雷鸣还分享了一个有代表性的参与开源任务的经验:给 DataX 做上华为云 OBS 的插件,且获得了华为云开源支持计划的1万元激励。开源项目obs-datax-plugins中,DataX是一个开源异步数据同步工具,可以提供各种异构数据源之间高效的数据同步,但它并不适配管雷鸣在用的华为云对象存储服务OBS,为此需要给DataX做一个适配华为云OBS的插件。

“在制作这个插件过程中,首先对其Fork了一个自己的仓库,在本地开发工具上,将克隆后的仓库拉下来,让项目在本地能够运行起来,然后按照官方的插件开发要求进行尝试。在对接OBS接口的过程中,发现其中有个SDK接口文档已过时,也没有最新的文档说明,我就在社区中联系华为云开源组织的成员说明情况。对方回应速度非常快,双方立马建立专属讨论群进行详细对接,仅用了5分钟就解决问题。让我感受到,后方的技术援助很强大,自己不是一个人在战斗。”

软件功能完成测试无误后,管雷鸣又对文档进行了补全。代码方面,在华为云开源组织的gitee中,新建了插件的仓库。为防止官方主程序仓库更新后自己的仓库代码会过时,又针对这个插件给出详细的使用步骤,最终成功完成了obs-datax-plugins的开发。基于该插件,其他开发者和企业能够快速完成华为云上OBS相关的数据迁移诉求,大大提高了效率。

对于文档的使用,管雷鸣有自己的感悟。“在参与开源项目时,代码及功能的书写只是一部分,文档的使用也占有很大的比重。文档完善,使用者可以花最少的精力运行起来,同时增加对项目的信任。另外,入门尝试不需要那么多详细的扩展,尽量让使用者能最快跑起来,验证是不是自己想要的,那么后面就愿意拿出大把的时间来详细阅读你的文档。”

开源路上有华为云相伴,收获满满

在管雷鸣看来,做好开源项目既能够帮助更多开发者,到还能收获商业回报,是一个一举多得的事情。

“自从18年创业以来,无任何销售人员,纯技术团队。因为有自身稳定可靠的产品,在BUG跟修复方面投入很少,能够大幅缩减成本,保持较高的利润率。自己开源的项目SAAS 建站系统经过多年不断完善,通过企业版授权、功能扩展定制等,去年产生了70万的销售额,这是刚开始时根本就没想到的。”

SAAS 建站系统产生的更多的定制需求,管雷鸣也会分发给一起参与的小伙伴。这样一方面降低了成本,同时伙伴们也能获得一份收益;客户方面还能节省费用,形成了正向循环。

管雷鸣的部分开源项目

“目前在gitee的华为云开源组织中,还有不少开源项目可以参与。在项目完成后,通过审核之后大家可以在软件中留名、被华为云开源组织认可,获得资源扶持及激励。”管雷鸣表示。“正是有了像华为云这样的企业,这两年国内开源环境得到了很大的改善,开源作者不再被一直薅羊毛,开源也不再被认为是不务正业了。”

为了更好的帮助开源软件开发者,华为云面向开源软件工具链与环境、开源应用构建和开源生态组件构建这三大重点场景,提供技术支持、奖金支持、活动支持,邀请更多的开发者,携手构建开源for HuaweiCloud。

共建开源生态,打开产业新增长空间

开发者将开源软件工具、开源应用和开源组件与华为云对象存储OBS、数仓DWS、云容器CCE等云服务对接,同时基于Terraform模板,上架到华为云云商店,支持其他开发者一键部署使用开源组件 ,我们称为“开源xxx for HuaweiCloud”。 下图为华为云开源&开发者示例代码仓的示例,涵盖Dromara社区、Java、Go、Python、C&C++及其他开源类项目,数量超过100。感兴趣的开发者可以点击:​华为云开源&开发者示例代码仓,了解更多。

100+华为云开源技术项目示例

不仅如此,参与贡献的开发者将有计划会获得​华为云沃土云创计划激励,领取云服务资源代金券,可用于开发部署。如果您有意愿参与,请在​issues留下您的邮箱或者主动发送邮件到​hwcdtse@huawei.com,我们会尽快联系您。

俗话说,没有目标的行为是坚持不久的。万千同管雷鸣一样的开源开发者们始终跟随着内心热爱的召唤,以及帮助他人的愉悦,在开源之路上持续前进着。也正是这份坚持,让他们在开源的路上获得更多的助力。祝开发者们越走越好,开源软件生态愈加繁荣!

 

点击关注,第一时间了解华为云新鲜技术~

手把手教你如何加入到github的开源世界!

http://www.cnblogs.com/wenber/p/3630921.html 我曾经一直想加入到开源项目中,但是因为没有人指导流程,网上看了很多,基本都是说了个大概,如果你也是一个初出茅庐的人,那么,我将以自己提交的一次开源代码为例,教会你步入... 查看详情

手把手教你如何加入到github的开源世界!

来源:http://www.cnblogs.com/wenber/p/3630921.html1,首先登陆到https://github.com平台上注册一个自己的账号,这个过程我就不演示了2,然后在左上部分输入一个开源项目的名字,我选择的是jvalidator,回车搜索。3,在搜索结果页面找到如下如图... 查看详情

手把手教你发布自己的开源框架到cocoapods

移动端显示不佳,请访问我的个人博客偶尔会发布自己的开源框架到CocoaPods上,但是每次都忘记命令行,写这篇博客的目的是为了记录下来步骤,方便以后翻阅使用一、先将代码传到github上这步比较简单,大... 查看详情

手把手教你做蓝牙小车

第1节选择Arduino开发板1.1Arduino是什么对Arduino,官方有一堆解释。作为一个软件程序猿,在我眼里,Arduino是学习“可怕硬件”的一个便捷通道。它把复杂的硬件名称,属性给我们隐藏起来,只需要一些简单的软件知识,就可以学... 查看详情

手把手教你用pandas分析全国城市房价

导读:Pandas灵活好用,能够完成复杂的、重复的、批量的数据处理。本文教你利用Pandas爬取房价,以及分析全国城市的房价。作者:李庆辉来源:数仓宝贝库(ID:DataBaby_Family)01 利用爬虫获取房... 查看详情

手把手教你发布自己的开源框架到cocoapods

移动端显示不佳,请访问我的个人博客偶尔会发布自己的开源框架到CocoaPods上,但是每次都忘记命令行,写这篇博客的目的是为了记录下来步骤,方便以后翻阅使用一、先将代码传到github上这步比较简单,大... 查看详情

java编程从0到1--手把手教你实现“helloworld!”

【声明】欢迎转载,但请保留文章原始出处→_→秦学苦练:https://home.cnblogs.com/u/Qinstudy/文章来源:http://www.cnblogs.com/Qinstudy/p/Qinstudy.html Java秦学苦练博文的特点:通过“你问我答”的方式,促使你去思考一些小问题,比如:... 查看详情

手把手教你如何安装protocolbuffer

前言习惯用Json、XML数据存储格式的你们,相信大多都没听过ProtocolBufferProtocolBuffer其实是Google出品的一种轻量&高效的结构化数据存储格式,性能比Json、XML真的强!太!多!由于Google出品,我相信ProtocolBuffer已经具备足够的吸... 查看详情

手把手教你如何自制目标检测框架(从理论到实现)(代码片段)

文章目录前言目标检测图片分类目标检测单目标检测多目标检测问题分析滑动窗口RCNNSPPNetFast-RCNNFasterRCNNRPN工作流程Yolo小结编码神经网络实现骨干网络特征提取网络(预训练)目标检测网络数据集编码预训练数据集目标... 查看详情

手把手教你写网络爬虫:开源爬虫框架对比

 手把手教你写网络爬虫(3)作者:拓海摘要:从零开始写爬虫,初学者的速成指南!封面:  介绍大家好!我们从今天开始学习开源爬虫框架Scrapy,如果你看过《手把手》系列的前两篇,那么今天的内容就非常容易... 查看详情

手把手教你玩转git

文章已托管到GitHub,大家可以去GitHub查看下载!并搜索关注微信公众号码出Offer领取各种学习资料!在这里插入图片描述Git应用一、初识Git1.1Git的简史同生活中的许多伟大事物一样,Git诞生于一个极富纷争大举创新的年代。Linus... 查看详情

从入门到精通手把手教你使用git(史上最详细,图文并茂)

一、基本操作1.登录:在浏览器地址栏输入http://192.168.7.218:9090/回车,进入登陆界面。登陆自己的账户密码。2.修改密码:登录成功后,点击用户设置左侧边栏,密码-->修改密码-->保存密码。二、项目管理可以根据需要选择... 查看详情

“越来越像新语言的c++,我与它结缘痴迷深耕的14年!”(代码片段)

...ff0c;从结缘再到一头扎进去深耕,对C++的兴趣和热爱随着版本的更迭代有增无减。在《新程序员004》的“我是程序员”专题中,祁宇回顾了自己与C++结缘、痴迷其中一路深耕的故事。这既是他的程序人生,... 查看详情

手把手图文并茂教你发布android开源库

转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼,文章链接:http://blog.csdn.net/hejjunlin/article/details/52452220经常逛github,总看到别人的readme中写着compile‘com.xxx:1.0.xxx’,这个已经越来越普及,个人,团人,公司都... 查看详情

手把手教你做项目mysql篇——从下载到命令总结(代码片段)

目录导读下载MySQL篇基础命令篇操作前的提示登录篇对数据库命令操作篇对表的操作删除表(这个单独说一下)对数据操作篇结尾送书导读有段时间没有好好整理文章了,这不是又该暑假啦嘛肥学准备在暑假来波大的&... 查看详情

手把手教你在cenos6.9安装mysql5.5(代码片段)

引言:大家好,我是热爱coding,崇尚开源,乐于分享的【皮卡丘的猫】 一、准备环境:版本:mysql5.5,linuxcentos6.964位二、下载安装:链接:https://pan.baidu.com/s/1VLZNHDZABxhMjhs-Hg_Szg提取码ÿ 查看详情

2014年最热门的国人开发开源软件top100

2014年最热门的国人开发开源软件TOP100不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必。做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多的开源软件,而... 查看详情

从helloworld到企业级web框架|手把手教你安装beego(代码片段)

目录前言:1.配置2.安装3.创建4.运行最后前言:我相信很多人和我一样,安装beego,会先找百度。但是百度的方法不合适我,我怎么安装都有问题!不是超时,就是其他问题。。。下面进入正题1.配置首... 查看详情