linux - 为 Linux 发行版做贡献

标签 linux language-agnostic operating-system linux-kernel linux-distro

我有兴趣为 Linux 发行版做贡献,但是关于各种发行版的开发者社区,我很难确定我最想加入哪个。

我知道的语言:C、C++、Lua、Python,并且相当熟悉 Perl(尽管我不会说我“知道”它)。特别是,除了将一些东西组合在一起以进行性能调整外,我对 x86 汇编的经验很少,尽管这将得到部分纠正 soon .

我在寻找什么:一个社区,它为开发人员提供大量机会来处理发行版的各个方面。老实说,我最感兴趣的是阅读和研究内核源代码(在这种情况下,发行版并不重要),但这非常令人生畏,我认为进入 Linux 社区并与经验丰富的 Linux 开发人员一起工作可能会让我更好地了解如何跳入胆量(让我知道这是否是虚假的,或者如果您对此有任何建议)。

所以...

哪个发行版在组织、合作愉快的人以及贡献机会方面拥有“最佳”开发者社区?

我已经阅读了 Ubuntu、OpenSuse、Fedora 等发行版的各种“为 XXX 做贡献”页面和邮件列表,但我更愿意从实际开发人员那里获得更多个人证明。

最佳答案

除非您特别希望了解各种打包格式的来龙去脉,否则您最好直接在上游贡献您感兴趣的应用程序/库。虽然各个发行版通常有一些管理应用程序对它们来说是独一无二的,但大多数核心应用程序和库都是在它们之间共享的。

由于您表达了对 guts 的兴趣,坚持使用主要社区发行版之一(Fedora 和 Ubuntu/Debian)是有意义的,因为其余发行版往往是基础发行版的变体。另一种选择是选择基于源代码的发行版,这对开发人员有很多好处,尽管您可能会发现自己需要花费一些时间来保持机器整洁。

作为一名开发人员,我个人使用 Gentoo,它给我带来了很多好处:

  • 滚动发布:新版本的应用程序通常在发布后很快可用
  • 稳定/不稳定的混合:我可以在我关心的上游包上运行稳定的核心和前沿
  • 开发就绪:任何已安装的包在默认情况下都是“开发”包,构建时/运行时依赖项之间的区别是模糊的
  • 打包很简单:如果是简单的“configure/make/make install”编写和ebuild就非常容易。
  • 贡献很容易:贡献新的 ebuild 相当轻松,从那里您可以随心所欲地参与

当然也有缺点,尤其是你的机器会花费大量时间来构建东西,如果你运行大量“不稳定”的包,你可能会发现你偶尔需要修理你的机器。但是,与给我一个可以为上游做出贡献的最新平台相比,我发现这些缺点微不足道。

关于linux - 为 Linux 发行版做贡献,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2995159/

相关文章:

performance - 如何在恒定时间内获得N个计数器中的最大值?

language-agnostic - 如何解释一个对象?

child 收不到系统调用信号

linux - 如何在没有域名的情况下使用 Apache BenchMark?

Linux:我可以在哪里 secret 存储数据以实现限时演示?

java - 将参数从 shell 脚本传递到 java 类

math - float 学有问题吗?

linux - 文本文件中的单引号完整路径文件无法执行 for 循环处理 mv : cannot stat . .. 没有这样的文件或目录

java - 我的代码运行需要多长时间背后有哪些直觉?

c++ - 如何使用系统调用 write() 输出到文件(写入文件)?