最近一直在研究并使用Linux,看了Dileep Sankhla的这篇文章深有感触,于是就翻译了一下分享给大家。
下面是我从Linux新手到社区贡献者的过程......提示:研究代码并从简单开始。
三年前,我在上大学的时候开始使用Linux,并且很着迷于发现不同的桌面环境。我的教授将Ubuntu操作系统介绍给我,就在同一天我决定在笔记本电脑上安装了Ubuntu与Windows双系统。
在三个月内,我完全放弃了Windows,并在听说RPM Package Manager后转向了Fedora。我为了获得稳定性也尝试过运行 Debian,但是直到2017年初,我才意识到Arch Linux满足我对最前沿的软件包的所有需求。现在我将它与KDE桌面一起使用,并可根据我的需求进行定制。
我一直对Linux黑客和终端感兴趣,而不是使用现成的统一安装程序。这让我探索了Linux内核树,并找到了为社区做贡献的方式。
将我的第一个补丁提交给Linux内核是一个令人惊叹的体验。我在2018的第二个星期开始工作,我花了大约一个小时的时间在8 Mbps的互联网连接上克隆了最新的Linux内核源代码树,并几乎用了一整晚的时间编译和构建了4.15 Arch Linux内核。我按照KernelNewbies指南阅读了Linux设备驱动程序第三版的前三章。本书向我介绍了设备驱动程序以及特定类型,并介绍了如何在运行时将它们作为模块插入/删除。本书中的示例代码帮助我创建了一个hello world驱动程序并使用insmod 和 rmmod命令进行了实验(这本书的后续章节中的代码示例有点过时)。
许多人建议我在贡献之前阅读有关操作系统和Linux内核开发的书籍; 其他人则建议遵循KernelNewbies的指南并使用错误查找工具修复错误。我遵循了后者的建议,因为我发现对错误代码的探索和实验是学习和理解内核代码的最好方法。
我的第一次清理是通过checkpatch.pl在vt6656驱动程序目录上运行脚本来消除“内存不足”警告 。在添加更新日志并更新修补程序后,我在2月10日提交了第一个修补程序。在添加更改日志后,我在2月12日收到了Greg Kroah-Hartman发来的一封电子邮件,声明我的修补程序已添加到分段下一分支并准备在下一个主要内核版本中进行合并。
我建议您保持第一个补丁程序的简单;一两行代码将激励您做出更多的贡献。记住,质量而不是数量才是最重要的。在提交驱动程序的Todo列表之前,您应该掌握设备驱动程序和操作系统的丰富知识。贡献的快感会让你奋勇直前。
关于作者
DileepSankhla目前是一名计算机科学工程专业的本科生,在过去的两年里,他一直是一名开源开发人员。他正在与KDE组织合作,并成功推动了一系列提交。他是一位Arch Linux和KDE等离子桌面爱好者,并且喜欢在他的大学IT Cell会议上传播关于FOSS(自由和开放源码软件)和Linux的信息。