
Luis Ibáñez 在谷歌公司芝加哥分部担任高级软件工程师。本网站表达的观点仅代表他个人。您可以在 github 上找到他: http://www.github.com/luisibanezand 在 Twitter 上: http://www.twitter.com/luisibanezHe 他之前曾在 Kitware Inc. 担任技术主管,并在开源 EHR 代理 (OSEHRA) 担任开源社区发展总监。在 Kitware,他密切参与了医疗影像应用开源软件的开发,特别是与 Insight Toolkit (ITK) 的合作。Luis 是开放获取的坚定支持者,也是 Insight Journal 的编辑之一,Insight Journal 是一份强制验证可重复性的 OA 期刊。在与其他讲师的合作下,Luis 在 2007 年至 2013 年期间在 RPI 教授了开源软件实践课程,并在 2011 年至 2014 年期间在纽约州立大学奥尔巴尼分校教授了该课程。Luis Ibáñez 于 1989 年毕业于哥伦比亚桑坦德工业大学(布卡拉曼加),获得物理学学士学位,并于 1994 年在同一所大学获得光学硕士学位。他分别于 1995 年和 2000 年在雷恩第一大学(法国雷恩)获得 D.E.A 和博士学位。1999 年,Luis Ibáñez 加入了北卡罗来纳大学教堂山分校神经外科部门,并作为 MIDAG 和 CADDLab 小组的成员参与其中。他在 UNC 的工作与应用于图像引导手术的 2D 和 3D 配准算法的开发有关。他还作为 INSIGHT 配准和分割工具包的开发人员参与其中,该工具包由美国国家医学图书馆赞助。Luis Ibáñez 于 2002 年 2 月加入 Kitware, Inc.,他是 Insight Toolkit (ITK) 的主要开发人员之一,与其他开发人员和用户社区协调其维护;他也是图像引导手术工具包 (IGSTK) 的主要开发人员之一,并参与制定了 Insight Journal 的操作原则。Luis Ibáñez 是开放获取和科学出版物中可重复性验证的坚定支持者,并且是 ITK 培训课程和传播开源原则的活动中的常客。2014 年 8 月,Luis 加入谷歌公司担任软件工程师,在纽约市的公司工程团队工作。
作者评论
史蒂夫,
感谢您富有洞察力的评论。
您关于不同年龄段技能差异以及我们倾向于记住杰出参与者而忘记其他人的观点很有道理。
总的来说,当社区规模超过一定规模(我推测为 200 名开发人员)时,拥有多元化的人口变得非常重要,其中既有年长的开发人员,也有年轻的开发人员,以及性别、国籍和教育背景的多样性。这种综合的多样性滋养了社区的智力能力。
我不会说他们中的一些人比其他人“更好”,因为,是他们结合的多样性使社区发挥作用。用有机的术语来说,我们可能不会说骨骼对于运动员来说比肌肉更重要。没有彼此,拥有其中一方用处不大。
话虽如此,只是为了回应您的观点:定义“超级巨星”是很棘手的,但是,如果我们为内核社区提出一些可量化的指标,我们可以尝试根据以下内容回答您的问题
1) 贡献的提交次数
2) 贡献的代码行数
3) 审核的补丁数量
对于这三个问题,我们可以在 Linux 基金会报告中找到答案
http://www.linuxfoundation.org/publications/linux-foundation/who-writes-linux-2013
例如,在第 7 页和第 8 页,我们发现
“排名前 30 的开发人员贡献了略高于总数的 18%”,以及包含开发人员姓名列表的表格,如果自 2.6 版本以来衡量,或者如果我们自 3.10 和 3.12 之间衡量,这些开发人员将进入前 30 名。
然后在报告的第 10 页,我们找到了顶级审核者。一张有趣的表格,也显示了社区如何变得更具参与性,并依赖于更广泛的开发人员。例如,Linus Torvalds 仅签署了 0.7% 的补丁,而 Greg Kroah-Hartman 的签署率最高,为 12.7%。
可以通过使用从内核的 Git 存储库中收集数据的脚本来找到贡献者的完整列表。您将在报告末尾找到它,其中引用了 Jonathan Corbet 编写的“gitdm”工具:git://git.lwn.net/gitdm.git。
我们确信的是,内核可以使用更多新的和更年轻的开发人员,并且有很多简单的补丁供他们在学习的过程中使用。将这些新开发人员与更有经验的开发人员联系起来是成功的秘诀之一。这是 LinuxCon 开始发生的事情之一,并且可能会定期继续发生。
乔希,
感谢您的评论。
您的观点是完美过渡到后续文章,我们将在其中描述几周前在伦斯勒理工学院、伦斯勒开源中心 (RCOS) 和纽约州立大学奥尔巴尼分校进行的一系列培训活动。它们完全专注于您正在寻找的内容
“如何轻松入门参与内核社区”
这些活动由来自红帽的热情团队推动,成员包括:Matthew Whitehead 和 Priti Kumar。
这是我们用于这些培训课程的材料的在线版本
http://www.opensourcesoftwarepractice.org/Linux-Kernel-Training-Session-I/#/
这是使用 Reveal.js 完成的(我们最近在这里讨论过:https://open-source.net.cn/education/13/10/teaching-with-revealjs)。
这些培训幻灯片的源材料在这里的 Github 中
https://github.com/SUNY-Albany-CCI/Linux-Kernel-Training-Session-I
请注意,幻灯片向右移动,有时向上/向下移动。
中心点是
“参与内核社区很容易”
关键是从简单的补丁开始。
上面的演示文稿侧重于引导您完成整个过程。
它涵盖了
A) Git 轻松入门
http://www.opensourcesoftwarepractice.org/Linux-Kernel-Training-Session-I/#/6
(幻灯片向下移动)
B) 如何获取源代码
http://www.opensourcesoftwarepractice.org/Linux-Kernel-Training-Session-I/#/7
(幻灯片向下移动)
C) 审核过程的快速概述
http://www.opensourcesoftwarepractice.org/Linux-Kernel-Training-Session-I/#/8
D) 我们与学生一起做的简单补丁
http://www.opensourcesoftwarepractice.org/Linux-Kernel-Training-Session-I/#/9
E) 打补丁的过程
http://www.opensourcesoftwarepractice.org/Linux-Kernel-Training-Session-I/#/10
(幻灯片向下移动)
还有
F) 其他材料的参考
http://www.opensourcesoftwarepractice.org/Linux-Kernel-Training-Session-I/#/11
特别是,您会发现这本书很有用
Linux 内核概要
http://www.kroah.com/lkn/
它有一个完整的 PDF 免费下载(在页面底部)
http://files.kroah.com/lkn/lkn_pdf.tar.gz
源代码也在 Git 中
http://git2.kernel.org/git/?p=linux/kernel/git/gregkh/lkn.git.
请注意(有意地),
本练习中使用的补丁非常简单
本质上,
诸如将“printk(...)”替换为“printk(KERN_DEBUG....)”。
http://www.opensourcesoftwarepractice.org/Linux-Kernel-Training-Session-I/#/9/4
通过这种方式,我们能够专注于提交补丁的过程,而不必担心内核本身的软件架构。
有成千上万个这样的简单补丁,等待志愿者来处理。正如 Linus Torvalds 所说
http://www.opensourcesoftwarepractice.org/Linux-Kernel-Training-Session-I/#/3
“...琐碎的补丁是最重要的补丁之一 -
正是因为它们是每个新开发人员的“入门”补丁。”
我们使用 Amazon EC2 中的 Ubuntu 13 VM(使用 Amazon 慷慨地提供给纽约州立大学奥尔巴尼分校的资助)与学生一起完成了练习。VM 中的设置一点也不花哨。只需安装几个开发包。(很乐意提供详细列表)。如果您想克隆 VM,我也可以为您指出 VM 的公共镜像。
请尝试上面的教程,并请分享您的反馈,说明可以改进哪些方面,使其更易于访问,特别是:更有*趣*! :-)
这个过程确实非常简单,所以,如果材料中有任何令人困惑的地方,那只意味着我们没有正确理解内容,因此我们必须修复它。所以请不要犹豫指出任何问题。
谢谢!