开源爱好者李涛:三人行必有我师
社区之星推荐语: 李涛(thomas),RT-Thread社区工作小组成员之一,开源爱好者,擅长蓝牙协议栈、RTOS系统相关领域。乐于为RT-Thread贡献代码(bsp、package等)
社区成长故事
我是今年年疫情期间,在家里比较空闲,折腾ESP芯片,开始接触开源项目,那时候我发现网上开源的项目很多,然后我就跟着一步一步的做,然后就看到乐鑫官方的技术文档,上手挺快的而且能学到很多东西。接着用STM32+esp芯片一步一步的操作了一些RTOS,比如tinyos,alithings等等,用了其他操作系统点灯连接IOT之后,总感觉缺少点什么,直到我用到了RT-THREAD。这款操作系统,我顺着官方给的文档一步一步的学会了提交一份STM32L4的bsp包,第一次体验到开源贡献的乐趣。也用自己的一些蓝牙工作经历,当时也研究了一下睿赛德生态的蓝牙情况,感觉可以为RT-THREAD蓝牙协议栈做一些贡献。所以我提供了bt_stack蓝牙协议栈和nrf5x的bsp生态。当然个人贡献的价值观不一样,我并不觉得贡献的越多越好,我是觉得,真的对我个人成长有帮助的软件包,有帮助的bsp可以附加作为贡献,保存在RTOS的开源长河中去的。
社区贡献
本来想通过RT-THREAD学一下蓝牙协议栈相关的知识的,也想了解一下开源蓝牙协议栈如何运作的,找了很久发现只有nimble这个开源协议栈,而且还是只对nordic芯片支持,我发现这个也太浪费了,为啥RTOS没有一款适配所有芯片的蓝牙协议栈呢?那时候就想,这个好像正好暂时还没有更好的适配,我能不能贡献下自己的一点点的经验来support一下呢?正好我稍微用过一点蓝牙。所以慢慢的,我先从nordic bsp整起来,接着nordic官方的协议栈softdevice,接着nimble。在能用起来的那一刻,感觉非常开心,我觉得这个可能就是开源的乐趣吧,就是我们先自己去想一个东西,然后慢慢的来把它实现,完成起来。先定个小目标,接着一步一步的完善。
印象最深的人
armlink
龙哥在我心目中,亦师亦友。说朋友因为他的年龄和我差不多,说师也是因为他的工作经验比我丰富的多,教会了很多东西。我相信很多人都是被龙哥所感染的,我也希望我有一天能像龙哥一样,能够感染周围的大多数人加入到开源社区中去。日本有一种工匠精神,有些人做一件简单的事情,就比如雕刻摄像头的镜片,能够总结出很多经验出来,我觉得我们很多程序员缺少一种工匠精神,很多人,为了写bug而写代码。而龙哥就很有领袖气质,他往往能指明正确的方向,以及如何自驱的去做开源事业。当然目前我还在学习的初级阶段,离龙哥还有很远,我觉得我会慢慢追着他的引导来前进。
对社区建设的建议和看法
社区真的是一个非常好的东西,在这里我们可以和大佬一起交流,很多人有一些建议,只要你愿意开口提问,大家都很热情帮你解答。我觉得我在社区一年的时间,成长了很多,也了解了很多,慢慢的学习任何知识都变得很简单了,RT-THREAD官方的文档在不断的更新,我已经跟不上官方文档的更新进度了。当然,社区目前群里人还很少,100来号人,也比较松散。
想想我们14亿人,500万的工程师,如果大家都来贡献一点点代码,慢慢的这个生态就壮大起来了。我相信这一天终归会到来,
技术展望
做嵌入式的经常会接触万物互联
,其实我一直想让大家能够真正的万物互联起来,通过蓝牙也是一种方式。一千个人眼里就有一千种万物互联
,所以不一定我真正确定我是否能真正达到这个目标。我会从一点点的做起来,慢慢了解,通过了解大部分的蓝牙芯片来实现所有芯片使用和添加蓝牙都能极其方便。
最近在看AI相关的内容,刚开始入门,可能还没上手,觉得很有意思,想不通里面的具体的原理。在慢慢研究,这个也受RT-THREAD的开发者大会的影响,让我能够用嵌入式接受一些简单的概念,这个点可能很多人都已经会了,但是对于我来说,还是一块比较新的领域,价值在于了解边缘计算这块相关内容,看是否能够拓展它的其他领域的技术。
开发者寄语
其实我也是一名才接触RT-Thread一年的开发者,从我上面的经历,我想提以下几点建议,当然肯定有很多比较年长的老前辈有其他建议,这个仅代表我个人经验和建议
年龄
在社区里面各个年龄的开发者都有,当然最活跃的就是90后,00后了,这些后浪敢说敢做,敢冲在最前面,越是年轻越是积极。当然这个有一些是因为是大学生或者研究生,有一些是因为是刚毕业的年轻人。我想对这些年轻人说的是,我很遗憾在学生期间没有接触到开源社区,没能积极参与到开源活动中来,当然那时候也有很多知识比较难获取到,但是我还是觉得当时很多时间都浪费在谈恋爱,打游戏的时间上,如果当时能更早的接触到开源社区,或者更早的参与进来,也许现在的我能够进步更快一些。所以加油吧,后浪,一定要保持自己的求知心态,积极努力的去贡献开源,这份事情请坚持下去,知道你们以后会面临很多种选择,请不要放下开源这种精神,许多年后你们会积累更多的经验。
当然也有一些年级比我大的一些程序员,这些程序员大部分很少有时间来贡献开源。但是我想说的是,在社区里面没有年龄之分,大家都是一个一个刚接触开源的人,不管你是什么年龄,请不要在意。如果你是一位30+岁的老程序员,要很开心,因为你有很多经验可以和年轻人分享,你学一个东西能很快的掌握,因为你有一些调试技巧,而且这些都是可以和这些年轻人分享的,同样的社区里的人也可以和你分享他们的一些新点子和观点,慢慢的大家都成长起来了。只要我们没有听下学习的步伐,我们就和那些年轻人一起成长。可能很多人没有时间,因为家庭,因为孩子,没关系的,慢慢来一点点的积累,只要你有心,每周做一点点,总有一天能够做完。
希望大家以后在社区能够不要去问年龄,三人行必有我师,你的姿态越低,学到的东西越多。我觉得熊大就很少有架子,经常耐心的一起来探讨问题,从来没有什么大佬的架子,我觉得这可能就是真正的大佬吧。真正的厉害的人从来都是愿意和你探讨问题的。
时间和文档
我遇到很多人,都是没有时间来贡献开源的。可能大家理解开源不够深入,开源其实不需要我们花太多时间,平时稍微看看,闲下来了看些PR,看看别人提交了些什么,有什么可以提交的。自己平时走路上班的时候稍微想想,在生活中想想哪些知识点可以分享,只要你分享出去,其实主要是给自己一个锻炼的机会,对自己平时经验的积累也是有帮助的。哪怕是帮助软件管理者提交错别字,提交格式修改,作者都是很开心的,因为有人愿意读自己的文档,读自己的代码,愿意和自己一起来工作。
我在研究生期间,一直感谢我的导师,我的导师一直强调文档的重要性,我们研究生实验室成为"文档工作室"。当时刚看到的时候很不屑,怎么不搞高科技,搞文档,是要当秘书吗?后来工作了两三年之后,发现文档实在是太重要了,一直后悔在校期间没有积累太多的文档,毕业之后也在CSDN写了几篇文档,后来发现我有些文档会经常的去翻阅。好记性不如烂笔头。写文档哪怕是临时的记一小笔都比你以后再次百度来的效率高,工作中也是,时常总结文档,才能方便后面回忆。有很多人觉得,这个东西我做出来就好了,但是如果没有一份说明文档,和上手文档,别人很难接手你的东西,开源就是这样,我们在工作中经常会觉得别人写的代码怎么这么乱,没有注释,没有文档。但当轮到自己做的时候又会犯同样的问题。所以学到一点东西,写一份文档,记录下学到的东西,不仅仅是对知识的巩固,也是对自己经验的积累,如果能分享出来,对自己的能力的提升也是更加有帮助的。
提问的艺术
学会提问,推荐看下《提问的艺术》,学会提问很重要
RT-Thread官方网站:https://www.rt-thread.org/index.html