0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

聊聊我为什么热爱开源

GReq_mcu168 来源:玩转单片机 2020-06-28 17:07 次阅读

开open源

转眼间,已是毕业一年了,前些天朋友圈很多同学在刷毕业照的纪念日,回想起在校的时光,那是多么舒服,可以随心所欲做自己想做的事情,该玩的时候放肆玩,该学的时候认真学,美滋滋的生活啊~

我在大学的时候,就热爱开源这东西了,从网络中来的知识,喜欢反馈到网络中去,只是那时候很菜,没啥东西可玩的,但这个热爱我一直保持到了今天,也一直在努力~

是滴,我们今天来聊一聊我热爱的事情——开源

谈谈我的第一次

回想几年前,我刚学C语言的时候,觉得这东西很好玩,也很有兴趣,居然能让我操控电脑,虽然能做的东西不对,也就打印点字符在屏幕上,但这确实却让我喜欢上了它,也许以前没有接触过这些高大上的东西,也许以前玩电脑只会打游戏,也许是高中的时候曾有过一段时间热衷于刷机(那时候刷安卓机系统,知其然不知其所以然,但仍觉得有趣)。。。总之,接触了代码后,我确实喜欢上了它 ღ( ´・ᴗ・` )~

后面的学习过程中,接触了单片机,我发现这东西也很有趣,能做点小东西,做个时钟、小车、LED小蛮腰。。。那时候我是跟着师兄学习的,做硬件,抄电路、拉线,腐蚀pcb板子,然后再写代码,让我的大学生活充满了乐趣,毕竟我这种不听话的学生,压根就不喜欢上课,呆在实验室还比较好玩,而且认识了很多好基友,现在每天都在吹牛扯淡打游戏聊妹纸,生活也非常愉快。

在大学的时候,我一直在混论坛社区,也非常喜欢分享自己的学习、代码,总是写帖子,混着混着就成为了几个论坛的版主,虽然很水,但也乐在其中。说起来我是大二的时候就开始捣鼓这些的,当年是参加了电赛,然后分享了电赛的经验,还开源了代码,这是我第一次开源,然后从此以后就奠定了在论坛混的基础,哪段时间我发的帖子非常热门,以至于到每年的电赛前后,我的帖子依旧有人在回复。

退出论坛是进步的开始

后续,我就逐渐退出论坛了,原因有两点:

国内论坛质量太差。没有太多有技术含量的东西,到了后面基本是在水贴,感觉会浪费我太多的时间。

伸手党太多。等着喂饭的人太多了,实在是不好在论坛混。

在大三的时候,系统性学习了git相关的知识,虽说记不住太多东西,但是也已经够我日常使用了,那时候学习的操作系统,朱天龙大佬对我影响甚大(是我第一个follow的大佬),他一直在为开源做贡献,写的框架非常好,代码规范,在嵌入式领域中,这样子的大神并不多见,so,我得向大神学习,那时候就觉得,我以后也要写出点像样的代码,其实在我看来,退出论坛是进步的开始。

迈向开源社区

自此以后,就在开源的道路上越走越远,以前写的代码,几乎都使用了GPL开源协议,目的是为了让更多的人开源起来,然而比较尴尬的是,效果并不明显哈哈哈哈,国内(个人)开源的氛围确实很惨淡,这也是没办法的事情,一些很好的软件代码,几乎都是企业在维护,我曾经见过不少个人的开源项目(发布的时间是几年前的),到现在就几乎没有在GitHub上push的记录了,也就是说,这个开发者可能退出了开源社区,可能开发者事业上升了,成为了管理层,可能成家立业没有时间去维护了,但是就是这样子一个开源项目得不到维护了,这是很可惜的一件事情。我不知道我能坚持开源多久,但我希望我能一直做下去。

那我为什么会开源呢?很重要的是个人原因,我就一个行业内的小菜鸟,我开源的出发点绝大部分是为了自己,其次才是为社会贡献,毕竟我也有一个骚气的理想——“希望在赚钱的同时能为世界做一点点贡献,实在没有就算了”。

俗话说,没有目的的行为是坚持不久的,而我的热爱,我的目的,让我在开源的路上越走越好,也越走越舒服~

首先吧,开源的代码代表着别人能看到,就像你将你的内裤给别人看了,有漏洞,想要面子上过得去,那你就尽量别穿有洞的内裤是不是,那就会自觉地将代码写得更干净更标准一点,然后加点注释,如果有人给你的代码反馈了,那这就更有意义了,你会思考到用户是怎么去使用你的代码的,反馈的多了你就知道如何去将代码写得更好,更实用。其次,如果你写一个代码,那你就会去了解它的原理,然后也会参考现有代码的实现方式,阅读别人的源码,吸取他们的编程思想,这是一个非常好的学习方式,一般来说我的学习过程基本就是先看理论知识,弄懂了这个理论,再去看源码,而看源码的时候,我会查阅很多博客、书籍,在源码中更深入连接这个知识,这是我自认为更适合我自己的学习方式,而且也非常有效果。

GitHub是一个很好的展示面,如果你是要找工作的,我建议你一定要多写开源的代码,毕竟公司会很好奇你写的代码质量如何,光从面试实在看不出太多。所以很多公司会非常喜欢看你的开源项目,来评估一下你的代码质量如何。同样,如果你面试的时候告诉公司,“我有个开源项目,你们可以去看看”,这将是个不错的加分项,至少我是这么认为的,如果是我面试别人,我肯定会看一下。当然啦,做开源不是一两天就能完成的,临时抱佛脚是完全不可能的,还是需要坚持。

开源的代码,能建立起你个人的“品牌”,一个优质的开源项目,是提升你自己影响力的好方法,我并不是在自吹自擂哈,毕竟我是小菜鸟,认识我的人也不多,而且这两年以来我几乎都是小型讨论组聊技术,水群比较少,这种小讨论组能很有效提升自身的技术,毕竟能相互讨论的,都可以共同进步,而在大群聊多半是吹水居多,但是有好几次我在群里分享一些开源的代码,有些群友就发现原来他一直用的代码是我写的。哈哈哈哈,这我感觉还是很棒的,极大的满足感,如果你能写出一些很好的轮子,然后让成百上千的开发者依赖你写的代码,我想没有什么能比这更棒的事情了。

最后就是能够通过这些代码认识一些其他开发者,这些开发者是有很有水平的,毕竟能在开源上与你讨论代码的,早已不是伸手党了,这样子就能排除一部分伸手党。比如我就认识了一些大厂的人,有百度的、腾讯的、阿里的以及其他在业内排名靠前的公司的开发者等等,而且我写公众号,也认识了不少业内公众号的号主,也是时不时聊聊天,总之让我的人脉变的更广一点了,这对我来说也是很好的一件事情。而且能收到大神的点赞与认可,这是非常值得开心的事情,也让我更有自信写出更好的代码。

还有很重要的一点是,开源代码在一开始可能并不会受到大家的青睐,但是随着时间的推移,会有越来越多的开发者知道并尝试使用它,这是一个细水长流的东西,需要时间的打磨,越到后面能产生的效应也就越大,所以这总是非常nice的。

当然啦,我也非常希望自己的代码能为世界做一丢丢贡献,能点个灯也不错。

首先,相对于写公众号,我更喜欢写代码,我每天都在写代码,几乎从不间断,我最近一两年写的开源项目,我来说说消耗的时间吧,基本上是5个月能写出一个算是比较稳定的版本,一般一个开源项目最起码要提交上百次,才能算是逐步趋向稳定,后续就慢慢打磨咯,而上百次的提交,需要的时间几乎就是2-3个月,然后后面的就是不断打磨打磨,4-5个月就差不多是比较稳定的了,再往后就是修bug,迭代。当然这只是我的项目,那种大型的开源项目,需要的时间更久。

再者,自己写的代码跟现有的很多库相比,没有任何优势的,我也压根想不出优势在哪,但是做这种开源的事情,还是很有动力的,我愿意花时间去维护它,也愿意跟别人交流,我能收获的也很大,更多的是自身实力的提升,通过何种方式去提升自己的能力在我看来都不为过,而我选择的是通过开源项目去提升自己,仅因为它是一个开源项目,是我所热爱的,我愿意去维护它,愿意将我自己的时间花在这上面,不看抖音,偶尔打打游戏,小日子过得也是很舒服的,仅此而已,最后杰杰个人感觉国内嵌入式领域的开源精神远远不够,还有很长的路要走,只希望我能贡献一点力量,今天我发这个文章,其实也是想让大家如果有能力,可以为开源做点贡献。

那些看得见的进步

最直观的就是代码的水平上来了,以前的代码实在是不忍直视,放两张代码图片,分别是以前的代码与现在的代码,大家可以感受一下(图片可以向上滑动,点击图片还可以放大~):

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7530

    浏览量

    128557
  • 开源
    +关注

    关注

    3

    文章

    2985

    浏览量

    41718

原文标题:闲谈:我为什么热爱开源

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    聊聊AMBA协议的evolution过程

    作为一名新时代的ICer,一定必定肯定听说过AMBA协议,但是却少有人知道AMBA协议的evolution过程,本文将大致聊聊Evolution of the ARM AMBA Specifications!
    的头像 发表于 01-19 09:50 504次阅读
    <b class='flag-5'>聊聊</b>AMBA协议的evolution过程

    聊聊嵌入式软件分层

    今天以控制LED闪烁为例,聊聊嵌入式软件分层
    的头像 发表于 12-28 09:22 256次阅读

    《用“开源”的方式讲开源的法律,有问必答,一问到底》——开源合规分论坛为你答疑解惑

    “你问我答”形式,进行了一场别开生面的近距离对话。 本次分论坛由风趣幽默、对开源事业充满热爱的中国移动研究院开源组织负责人郁志强老师作为主持人。 北京赛昇科技有限公司副总经理刘京娟,开放原子
    的头像 发表于 12-18 15:55 137次阅读

    聊聊Redis的使用案例

    今天我们来聊聊 Redis 的使用案例。
    的头像 发表于 12-13 14:13 267次阅读

    从可综合的RTL代码的角度聊聊interface

    SystemVerilog引入了interface,这里我们从可综合的RTL代码的角度聊聊interface。
    的头像 发表于 10-12 09:06 887次阅读
    从可综合的RTL代码的角度<b class='flag-5'>聊聊</b>interface

    聊聊寄存器被优化的2种情况

    在项目初期,在使用FPGA工具quartus或者vivado生成版本烧入开发板进行调试时(DC开启优化选项后同样会优化掉寄存器),我们有时会发现部分寄存器被优化掉了,今天简单聊聊被优化的几种情况。
    的头像 发表于 09-08 15:09 1298次阅读
    <b class='flag-5'>聊聊</b>寄存器被优化的2种情况

    小科普|聊聊网线那些事

      网线这个东西,看着还真都差不多,插上就能用这能有什么差别呢?首先是线材本身,是分三六九等的,最常见的什么“超五类、六类、超六类”等,今天我们就跟着小编一起来聊聊网线那些事。
    的头像 发表于 07-26 10:18 664次阅读

    聊聊苹果不用曲面屏背后的原因

    虽然曾多次曝光出曲面屏版本的iPhone新机,但从初代产品至今,iPhone一直采用直屏的设计。为何苹果独钟于直屏手机?今天咱们来聊聊背后的原因。
    发表于 07-17 09:34 739次阅读

    聊聊什么是电磁转矩和磁阻转矩

    电机转矩分为电磁转矩和磁阻转矩。本期,从能量的角度来聊聊什么是电磁转矩和磁阻转矩,尽量让大家不通过死记硬背学知识。
    发表于 07-14 17:31 1383次阅读
    <b class='flag-5'>聊聊</b>什么是电磁转矩和磁阻转矩

    【直播预告】今晚7点,来HarmonyOS极客松直播间与技术专家聊聊新技术!

    HarmonyOS极客松直播间与技术专家聊聊新技术!
    发表于 06-20 11:08

    聊聊自己做过的开源项目

    一起讨论自己做过的开源项目
    发表于 06-19 16:16

    聊聊 220V交流 过零检测

    聊聊过零检测,以及如何实现过零检测 ...... by 矜辰所致
    的头像 发表于 06-06 11:20 3243次阅读
    <b class='flag-5'>聊聊</b> 220V交流 过零检测

    热爱热爱学习喜欢分享知识#硬声创作季

    plcPLC基础
    或许
    发布于 :2023年06月05日 15:37:21

    共话开源,为热爱而聚!2023开放原子全球开源峰会“开发者之夜”节目征集进行中!

    2023开放原子 全球开源峰会 OPENATOM GLOBAL OPEN SOURCE SUMMIT   这是一场面向开发者的线下狂欢! 更是一场开源圈的老友聚会!   开发者之夜 2023开放原子
    的头像 发表于 05-22 20:56 220次阅读
    共话<b class='flag-5'>开源</b>,为<b class='flag-5'>热爱</b>而聚!2023开放原子全球<b class='flag-5'>开源</b>峰会“开发者之夜”节目征集进行中!

    共话开源,为热爱而聚!2023开放原子全球开源峰会“开发者之夜”节目征集进行中!

    2023 开放原子 全球开源峰会 OPENATOM GLOBAL OPEN SOURCE SUMMIT O P E N S O U R C E 这是一场面向开发者的线下狂欢! 更是一场开源圈的老友
    的头像 发表于 05-20 07:05 290次阅读
    共话<b class='flag-5'>开源</b>,为<b class='flag-5'>热爱</b>而聚!2023开放原子全球<b class='flag-5'>开源</b>峰会“开发者之夜”节目征集进行中!