继我最近关于为重新平衡 Linux 内核社区人口结构而制定的倡议的文章之后,我想分享一套具体的培训活动,以帮助初学者,特别是大学生,参与到内核中来。
这些活动是由 Red Hat 的一个充满热情的团队创建的,包括 Matthew Whitehead 和 Priti Kumar,并在伦斯勒理工学院校园内展开,伦斯勒理工学院、伦斯勒开源中心 (RCOS) 和 纽约州立大学奥尔巴尼分校。
开发这些活动的目的是为了揭开贡献 Linux 内核过程的神秘面纱。我们专注于以下过程:
- 获取源代码
- 创建 Git 分支
- 准备补丁
- 将其提交给适当的维护者
这里的核心思想是:参与内核社区很容易。关键是从简单的补丁开始。
我们特意专注于非常简单(几乎微不足道)的补丁,以便学生可以将所有注意力都集中在熟悉社区流程上。我们用于这些培训课程的材料:培训课程:Linux 内核培训课程 - 第一部分 (使用 Reveal.js 创建,请参阅 此处的教程; 源幻灯片 在 GitHub 上)。
此材料涵盖
注意: 在准备活动材料时,我们发现这本书很有用:Linux 内核概要 作者:Greg Kroah-Hartman。完整 PDF 可免费下载。此外,源代码在 Git 中。
同样,此练习中使用的补丁非常简单。
它们涉及替换语句
printk(...)
为
printk(KERN_DEBUG....)
然后,我们能够专注于提交补丁的过程,而无需担心内核本身的软件架构。有成千上万个这样的简单补丁,等待志愿者来处理。正如 Linus Torvalds 所说:
...这些微不足道的补丁是最重要的补丁之一——正是因为它们是每个新开发人员的“入门”补丁。
我们使用 Amazon EC2 中的 Ubuntu 13 VM(在 Amazon 提供给纽约州立大学奥尔巴尼分校的学术资助下)与学生一起完成了练习。VM 中的设置非常基本;我们安装了几个开发包。
我们使用这些材料举办了三场培训课程
- 在伦斯勒理工学院的开源课程中,与 16 名学生(由计算机科学和电气工程专业的学生组成)一起
- 在纽约州立大学奥尔巴尼分校,与 33 名来自信息科学专业的学生(由本科生和研究生组成)一起
- 在伦斯勒开源中心 (RCOS),由计算机科学和电气工程专业的学生组成
这三场课程在两天内完成,因此我们受益于根据从之前的课程中学习到的内容进行更改的机会。最后一步是改进这些培训材料,甚至开发新的材料,以便其他内核爱好者可以将它们用作课堂、活动或聚会的培训活动。目标是让它们既易于访问又有趣。
所有完成活动的学生都获得了“Linux Kernel Padawan”徽章,该徽章使用 Mozilla Open Badges 平台设计。它们可以显示在他们的 Mozilla Backpack 页面、LinkedIn 等网站以及他们的简历中。
我们计划在春季在纽约州立大学奥尔巴尼分校的操作系统课程中重复这些培训课程,并在纽约州立大学奥尔巴尼分校第四届开源节期间作为黑客马拉松。
如果您有兴趣帮助我们改进这些培训材料,请发布问题,进行 拉取请求,或写入 GitHub 存储库的 wiki 页面。如果您想运行或主持培训课程并希望协调,请在此处给我发送电子邮件。
2 条评论