扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
如何起步
当有朋友问我如何才能加入一个开源项目时,我告诉他们的是首先是找一个能为他人做些什么的地方,就算那里只是解答一些很基础的问题。一份诚挚的渴望帮助他人的愿望是通往Linux社区的通行证,因为这份诚挚的愿望同样也扎根在每一个开源项目开发人员的心中(不仅仅只是Linux项目),也应该扎根在那里。
沿着这条路走下去不可避免的你会遇到比你更有经验的同志,你将会从他们身上学到更多的知识,就像以前新手从你身上学习时一样。另一方面,当你积累起更多的经验时在碰到某些问题时你就会用一个新方法去解决它而不是用以前惯用的一套思路。你遇到的一些开发人员有时会提出一些建议,有时又或者会需要一些帮助,他们更可能会邀请你加入他们的开发队伍;如果你的助人为乐成为焦点时,他们可能会笑着从你身边经过;如果你帮助了很多很多人之后,你在社区内肯定会备受瞩目。在Stampede和我身上这些故事都曾经发生过。
渐渐的我在Stampede的开发越来越深入,不久以后我就成为了一个正是的Stampede开发人员。在受到了Stampede的领导者 Matt Wood的鼓励后,我开始对用于Stampede Linux软件包的原有的.slp机制进行升级。当时,.slp软件包格式包含一个.tar.bz2的软件包和后面的一个包含软件描述及软件包创作者等等在内的一个定长的页脚。这种实现的方式有两个主要问题:页脚部分实际上包含的内容根本达不到定长所约定的字节数;该格式没有预留任何扩充余地(也就是说如果未来没有办法加入一些可能需要的额外信息)。显然这些问题需要动一次大手术了,活活。
和那些老资格的Stampede开发人员工作一段时间后,我拟了一个解决上面那些问题的草案。过了一阵子我便开始用Python先编写了一些原始的实现方案,新的格式(代号slpv6)有些类似与Amiga世界的IFF格式。下一代的.slp格式包含了了2 32(注1)个字段,字段种类为2 32种,每个字段最大数据段同样为2 32bytes。新的格式不仅具有良好的扩充性而且比纯文本更加紧凑和简洁并易于解析。二进制代码和文本都能存储在这样的格式当中,该架构对其本身在未来的进一步发展带来了无限的可能性。我的想法是把这个新版的动态header加入道打包文件的结尾部分,从而这个新版本的.slp格式未来可以为 Stempede用户服务相当一段时间并且同时又能和标准的UNIX档案文件保持不错的兼容性。
丑陋的一面
slpv6的开发进展很顺利,所有的资深开发者看到我取得的成果后都很高兴。不幸的是,两名刚加入的Stampede开发者想要自己掌控 slpv6项目。由于不欣赏我选择的开发方向,他们花了很大劲诋毁和打击这个新的slpv6系统,虽然我也用了大量时间一边继续我的开发一边加入讨论一边回应他们的攻击,但是这样做也没从根本上解决问题。最后一切都变的很明了,他们只是很擅长辩论,并且显而易见的是除非走他们自己的路子,不然是不会罢休的。幸运的是我的项目依然得到了资深开发人员的认可和支持。可是这些讨论渐渐地使我背上了一些包袱,同时对Stampede的开发也产生了一些不好地影响。唉。。。。。。。
可惜我没办法使这些家伙消失,原来还可以在#stampede频道里和那些高级的开发者互相交谈,但是现在不得不退了出来。每次只要我一进入那个频道,他们就开始变得很不友好,总是在破坏我想要进行得工作。这些家伙会使用各种各样的方法:比如一个开发者会议(其实只是想当着其他资深开发者的面侮辱我)。他们还尝试用投票的方法控制Stempede,当然那种投票只在他们可以得到更多支持的时候才会举行。但是自始至终我在这样的情况下都没有放弃过我得slpv6的开发工作。不用多说,资深开发者都喜欢我的开发项目也都支持我继续做下去(没有他们的支持,我不可能克服那么多困难坚持下去)。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者