开源资讯
中国开源软件推进联盟WG2举办了NEAOSS大师训练营
2017-07-10

619日,中国开源软件推进联盟(COPU)第二工作组在Linux基金会的大力支持下举办了NEAOSS大师训练营。训练营邀请了Greg Kroah-HartmanTed Ts'o作为主讲大师,由北京大学荆琦老师主持,特邀了吴峰光、宫敏、陈莉君、陈渝等国内知名的开源软件专家参与讨论。训练营的学员由筛选出来的国内高校师生和企业工程师组成,旨在为国内开源软件爱好者提供一个和开源软件大师级专家面对面深入交流的机会。经过一个小时的热烈讨论,训练营在中国开源软件推进联盟副主席北京大学陈钟教授的总结致辞中圆满结束。


595df27d5a9f2.gif


本次训练营荣幸地邀请到了Greg K-H参加,Greg目前是 Linux 内核稳定分支(-stable)的维护者,也是staging 子系统、USB driver core TTY layer 子系统及其他一些项目的维护者。


595df27d23433.gif


同时也荣幸的请到了Theodore Ts'o参加,TedLinux文件系统的主要贡献者,他是e2fsprogs的主要开发者和维护者,同时也是ext4文件系统的维护者。

值得一提的是,Ted鼓励国内Linux工作者踊跃向维护者们提交patch,他们很乐意与大家共同工作。

595df2bd96c34.gif

本次训练营采取Q&A的形式,为广大开源爱好者提供一个与大师面对面深入交流的机会。图为参会人员向开源专家提问,大家就很多问题展开了精彩有趣的讨论。


595df27d3af42.gif



训练营学员心得

 

姓名王辛

很荣幸在训练营上能够有机会向大师提问,我问了Ted一个问题,希望Ted能给那些在初次阅读Linux内核源码时感到无从下手的初学者一些学习建议或者学习的捷径。毕竟内核源码太庞杂了,C语言和汇编语言的精髓在编写Linux操作系统这种超大型软件上都做到了极致体现,所以才造就了如此伟大的一个操作系统。Ted回复说要想真正学习Linux内核源码,不仅仅在于阅读源代码,更应该切身实地参与进代码(not just read the Linux kernel source code, but get involved in it)。Ted的一席话的确一语道出了学习源代码的本质,就好比我们学习编程语言的时候,不能只抱着一本编程语言教程反复看而不去上机练手。编程水平的提高是一行行代码敲出来的,不是看出来的。所以要领会Linux源码也是如此,不要只看,要试着根据自己看过之后对源码的理解来编写一些模块,加载进行内核进行测试,来检验自己的想法。除此之外,Ted还告诉我们要挑选自己感兴趣的一个模块开始看源码,毕竟Linux内核是由很多模块组成的,就好比ted的主要关注点就是ext4文件系统与存储,所以我们在学习的时候,肯定也是一个个模块开始学,而不是一开始就企图一口吞,想把所有模块都学精通,那是不切实际的,而且在学习过程中遇到困难也会很多,与之而来的挫败感也会让人无法坚持学习,到头来也是一场空。一个好的做法是先挑选一个你自己感兴趣的模块,比如进程调度,进程管理,内存管理或者中断机制等,选中一个模块,然后激发自己的兴趣,并一步步深入钻研。在训练营最深刻的体会就是亲眼目睹大师们侃侃而谈表达真知灼见的风采,他们虽然也是coder, programmer, developer,可能会让人以为只是技术宅,但是亲自接触下来后,你会发现他们的表达能力,交流能力真的是很强。不像国内有些技术宅,技术上虽然有成就,但是在交流表达方面很欠缺。所以在这方面,真应该向Ted还有Greg这两位内核maintainer学习。有技术,同时也有能力把自己的技术思想精确地传达给他人,做到开源,开放,共享!

————————

 

姓名王斌田

Ted交流最大的感触是像Google这样的大公司,在产、学、研方面做的非常好:Ted会和美国的高校博士合作,指导学生一起做一些创新的工作,这些工作随后既反馈到开源社区,而学生们也有机会总结自己的工作写成论文发布在期刊、学术会议上;促进了产业、学术、研究的互动循环。

 

————————

 

姓名黄睿

非常荣幸和感谢获得训练营的机会,我曾经在2012年到2014年的时候负责AMDUSB Linux的驱动开发,当时Greg曾一度在review我的代码,那个时候就和他有了联系。直至今年才第一次见到,都很感慨!现在正在负责AMDGPU驱动,所以和Ted讨论了下是否有必要未来开发一个专门针对GPU加速的文件系统,甚至设想未来可能如果有GPU专有的到SSD的通道,能在上面搭建一个文件系统来驱动一个OS。再次感谢!

 

————————

 

姓名杨文波

NEAOSS 训练营是我这次活动的重头。和Ted以及Greg的互动直接感受到两位人物精力的旺盛,开放的心态,认真回答每一个问题。

 

问答环节:

 

horses for courses, 技术的使用场景。 /* 思考: domain specific language/hard ware/file system, app平台化,平台app化,抽象层的增减。*/

Linux文件系统的测试集是源于神奇公司SGIxfstests suiteTed要求社区的贡献者在测试集测过再提交,maintainer的精力有限;

提要求不如提patch;

在回答一个同学关于阅读内核原代码的建议时,Ted讲了几点入门的要诀:

 

全部通读在目前很难。建议找到感兴趣的子系统,读这个特定部分的代码,自然延伸到和它邻接和互动的模块;

尝试做一些简单的patch;比如一些历史遗留的文件系统;

可以尝试解决testfailure,比如XFStesLTP test;

不要只是读,要动手参与贡献!

之后和峰光,陈钟教授有互动。

 

————————

 

姓名杨瀛陆

有幸参加了COPU第二工作组主办的NEAOSS大师训练营,首先要感谢荆琦老师,在百忙中沟通协调了两位linux内核主线程维护者Ted Ts’oGreg KH到大师训练营现场解答大家的疑惑和问题.通过现场近距离与大师的接触不仅让我们看到了大师的博学还有大师的风趣和幽默.遗憾是交流时间较短,也没有听到在座国内几位大师的讲解,希望还会有机会参加这样的活动,同时希望能够听到国内专家学者的讲解.

 

————————

 

姓名别再平

通过这次研讨会,我感触最深的是大师们的求真务实的心态。

会上大家问的比较多的问题,都类似哪种实现更好,Ted的回答是it depends。没有银弹,没有一个实现是万能的,既要高效,又要可靠,还要可兼容,很多时候都是一个平衡,首先对要解决的问题建模,找到问题最需要侧重的点,然后在此基础上,选择和实现方案。Linux社区不怕百花齐放,只要大家提交的时候,通过必要的测试集,就为社区多了一种选择,就是值得鼓励的。

 

————————

 

姓名王文鑫

非常荣幸参与这次的LinuxCon,这是一次难忘的经历。

在本次的会议上,我听到了Linus TorvaldsGreg Kroah-HartmanChris

Lamb等社区领导者,了解了开源项目的维护过程,和制作发行版时的思考;了解了华为、Intel、微软等大型企业在开源方面的商业思想,以及对开源项目的贡献;同时,我还听到了很多借助开源项目创业的小型企业,他们以开源软件的集成为切入点,抓住了商机。

 

作为一个网络方向的研究生,我知道互联网发展至今,从终端到网络设备,从底层传输到应用程序,都得益于开源项目的贡献。我们使用Linux作为基础平台,利用内核的网络功能进行开发,使用Iperf等开源工具。开源极大地降低了科研成本,并且使得我们可以直接接触代码,学习关键技术细节。

 

无论从科技企业还是从计算机科学行业的发展来看,开源都是一条利人利己的道路。只有共享,才有今天的繁荣,和未来的继续发展。

 

————————

 

姓名邵亚方

有幸收到峰光的邀请来参加大师训练营与TedGreg面对面交流。我是第一个提问问题的(这让我有一点点意外),向Ted提问了两个问题。第一个问题是关于pagecache的,我们都知道Linux内核的pagecache并不是一个完美的东西,在一些场景下,特别是对IO延迟敏感的业务上,pagecachewriteback会引起一些稳定性问题,一直到现在Linux内核都没有对异步写IO有一个比较完美的控制约束手段,所以我问Ted他对pagecache的看法以及Linux是否有什么计划来完善pagecacheTed的回答是pagecache存在的意义是可以让很多设备访问更加快速,它的目的是做到OK,能在大多数场景下工作就OK了,而不是good,所以如果比较看中IO比如你是数据库,那么你就去管理你自己的pagecache就好了,毕竟你对你的数据更加熟悉能够更高效的控制。我问题的第二个问题是关于ZFS vs EXT4的,我们知道EXT4logRAID4/5/6上是个硬伤,因为它没有可靠的writeback device而且log要写很多次并且比较分散,但是ZFSwriteback device就很可靠而且可以做到O(1)的复杂度来写入,所以在RAID4/5/6上不得不去关掉journal(,但是碰运气吧)Ted的回答是EXT4本身并不是针对RAID来设计的一个文件系统,因为Go虽然有风险ogle让它对RAID做了支持,所以大家都可以把EXT4用在RAID上了,但是Google跟你们在RAID上的用法会有区别,所以你们想要在RAID上面用EXT4你们自己还是需要做一些工作的。Ted还说,经常有人问我会不会有未来的文件系统,我都是告诉他们不会有的,EXT4也好,ZFS也好,各自有自己擅长的地方,不会有一个统一的fs来管理一切。很感谢峰光和荆琦老师给我们提供这个机会。

 

另外就是我感觉我们跟大师面对面交流最大的一个障碍其实是语言上的不足,可能我们书写英文会比较流畅,但是一个说不来就会有些词不达意,有很多细节无法表达的很清楚,这也是一个遗憾吧。

 

————————

 

姓名吴鹏鹏

It is a great honor to have the opportunity to communicate with two Linux masters. As students, the master Ted gave a good advice for us to read the kernel code and particular in developing the kernel. Just picking the subsystem you are interested, and modifying it instead of only reading it. Master Gregkh also mentioned benefit of the community cooperation for us to learn kernel

Two masters also answered other professional questions, such as Ext4 file system, LTP, Mobile Development. It greatly widens my vision, especially the way how Linux community makes decision in expanding a mew function in kernel. Operating rightly is more important than  operating effectively.

At last, I express heartfelt thanks to Master Camp and its organizers, especially professor Jing. I gained a lot in the camp. Thanks.



PS:大会录音记录,请前往/meets-information/243