现在的位置: 首页 > 综合 > 正文

将与Intel OTC中国内核团队为伍

2013年11月05日 ⁄ 综合 ⁄ 共 2091字 ⁄ 字号 评论关闭
去年暑假,在Sun举办的“开源行动日”大会上,碰到Intel 的冯晓焰,说起假期去他们那里做访问学者的事,我欣然答应,这个假期将成行。
  关于Intel 的OTC,我知之并不多,于是在网上查到“坚持开放的态度:对话Intel OTC中国内核团队”一文,其中,他们对中国的开源爱好者的建议转摘如下:
------------------------------------------------------------------------------------------------------------

傅文庆(内核团队的负责人):下面是一些我们团队对有志于内核开发者的开源爱好者的建议和心得。

  邹南海:我觉得主要是要多看代码。看书要看讲操作系统原理性的书,如果是纯粹讲代码的书,还不如直接看代码。

  林铭:我觉得看书和看代码都很有帮助。刚开始学习Linux的时候,曾经徘徊过,是看书还是看代码。对于刚开始做内核编程的开发者来说, Understanding Linux Kernel是一本很好的入门书籍,它讲的比较细,然而和代码又有一些差别,对照着最新的代码来读,可以达到知其然并知其所以然的效果。另外就是要有耐心。我开始上手的时候,内核有些代码,看一会可能会觉得没意思,就想跳过去。看了一年感觉没太大效果,但后来坚持和Understanding Linux Kernel结合,从头看,仔细学,半年时间就感觉收获很大。参与开发,可以从把一个bug描述清楚开始,这需要去做一些调查,摸清楚一个bug怎么重现,表象上是什么样的,有什么特别之处,这些特别之处又对应着源代码的那些部分,等等。等把这些在邮件列表或Bugzilla上描述清楚了,回头再看看,往往离解决这个问题已经不远了。

  李少华:如果是想做内核开发者,需要扎实的基础知识,比如C语言,计算机体系结构等。如果觉得这些方面的知识都很吃力,建议尽量不要过早的去看内核。要循序渐进,先熟悉掌握这些方面的知识。 刚开始做Linux内核开发的话,kernel janitor是个不错的开始。

  赵亚奎:我来说一个我的个人体验,选定内核的一个方面的主题,多去看它的代码,去理解它怎么工作的,同时参与社区的讨论。

  黄瀛:做开源软件开发,可以从用开源软件开始。遇到问题或者不满意的部分,去看他的代码,不要只是作为普通用户去抱怨。然后去社区反应问题,参与讨论。要虚心听取别人意见,俗话说,有人骂比没人理要好。参与社区讨论,关键是心态要好,开始的时候,不要太在意是否会被接受。

  王振宇:做开源软件的开发,个人体验是,开始的时候,不要定太大的目标,要去开发什么feature啦,要去做什么大项目啦。从审阅(review)别人的工作开始,不是简单的读代码。看看是否能看的懂,是否能提出改进意见。如果和读代码结合,会更有效率。

  吴峰光:对自己感兴趣的部分的代码,可以直接去看邮件列表里的相关的patch。patch里往往都会有描述,可以帮助理解。看patch演化的过程往往比直接看最后结果会更有效。

  张衍民:我的心得是,初学者从bug fix入手最好。从小问题开始,不要怕问题小。从小到大,比较容易被接受,而且可以逐步建立自己的credit,熟悉开发社区的氛围,为将来做更大的feature或项目打下基础。此外,对内核开发者而言,硬件知识也很重要。

  马凌:我这里提一点学习内核的心得。可以从点到面。比如说我在做图形方面的工作。入手的时候,就从直接看到的i915 DRM驱动看,又看到调用到的AGPGART驱动上的东西。然后又看到PCI总线驱动相关的东西。因为这些只是和图形驱动相关,所以看到一定深度就不看了。比如对sysfs方面的调用,我只要假定这个函数调用能工作就行了。对初学者来说,深度优先的看法是比较危险的。容易陷入到死胡同,又没有高手指点迷津。对于自己暂时不感兴趣的东西,可以大概知道是什么意思就好了。

  傅文庆:关于中国的初学者比较“怕”的和开源社区共同方面,我们的心得是,对初学者确实是会有些语言方面的障碍,譬如有时候有很多话想说,可到时候又写不出很好的句子表达,就偷懒只写两句拉到了。有些时候邮件列表上的一些表述,对我们没有英文背景的开发者来说,也搞不清楚他们的态度到底是怎么样的。我们的建议是:

  - 开始不要考虑语法,不行就使用1,2,3这样一跳一跳的列。反正老外英语好,他们能看懂的。

  - 又想说的就要多说,就像BBS上灌水一样,要养成和别人交流的乐趣。

  - 对邮件列表上表述不清楚的,直接回复问对方是什么意思。不要回避。

  - 还有一点很关键,做开源开发,不要本着做产品的态度去做。很多做产品的项目一直想着利用开源,把东西做完就好了。但如果要做开源的开发者,就必须有着开放的态度
------------------------------------------------------------------------------------------------------
 
   看完之后,你有什么样的体会,总结出来分享~

    

抱歉!评论已关闭.