写点什么

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

  • 2023-04-23
    广东
  • 本文字数:3138 字

    阅读完需:约 10 分钟

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

本文分享自华为云开发者联盟公众号《DTSE Tech Talk | 第26期:从热爱到深耕,全国Top10开源软件出品人手把手教你如何做开源》。


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


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


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

缘起:一切从热爱开始


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


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


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


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


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

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


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


如何找到开源项目?


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


  • 有好的想法,可以在开源项目中提 Issues。

  • 针对开源项目中,使用者在 Issues 提的问题及 bug,可以踊跃参与实现及修复。

  • 不少开源项目作者都是业余时间进行更新维护的,时间不会很充足,可以针对开源作者所发布的一些任务进行接取,主动参与任务。

  • 某些开源组织会发布一些任务,其中涉及到各种语言及知识点,比如华为云开源&开发者示例代码仓中,就罗列出很多开源任务,开发者如果在其中有恰好自己熟悉的,便可以非常方便的接取


对项目有问题想交流时,良好的沟通方式可以在最短的时间内,将信息传达给他人。例如在项目中提 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,我们会尽快联系您。


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


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

发布于: 刚刚阅读数: 3
用户头像

提供全面深入的云计算技术干货 2020-07-14 加入

生于云,长于云,让开发者成为决定性力量

评论

发布
暂无评论
从热爱到深耕,全国Top10开源软件出品人手把手教你如何做开源_开源_华为云开发者联盟_InfoQ写作社区