在全球范围内,Apache Hadoop 和相关的 Apache 软件基金会项目正在快速增长,其功能集不断扩展,提交率不断提高,代码贡献不断增加。 然而,在这个庞大而多元化的生态系统中,女性开发者、提交者和 项目管理委员会 (PMC) 成员的数量却非常少。 仅在 Hadoop 项目中,84 位提交者中只有 5% 是女性;过去 2 年多来一直如此。
由于采用率呈指数级增长,许多 Apache 项目,如 Apache Pig、Apache Hive、Apache Ambari、Apache Zookeeper、Apache Hbase 等应运而生,以增强 Hadoop 平台,并且许多新的 Apache 孵化器项目,如 Apache Storm、Apache Tez 和 Apache Knox 目前正在大数据领域中形成。 让我们看一下 Hadoop 生态系统中一些项目(包括顶级项目和孵化器项目)中女性提交者和 PMC 成员的数量。
从这些数据中可以明显看出,这些项目中的女性提交者和 PMC 成员非常少。
2011 年,当我加入 Hortonworks(一家领先的 Apache Hadoop 商业供应商,专注于 Apache Hadoop 的开发和支持)时,作为来自 Yahoo! 的 24 名工程师团队的一员,我是研发部门中唯一的女性员工,并且这种情况持续了很长时间。
在 Hortonworks,我构建了大型分布式测试框架,以保证统一 Hadoop 堆栈的高质量版本。 由于 Hadoop 生态系统是由一系列开源项目组成,每个项目都有不同的发布频率、丰富的功能集和快速的演变,因此测试 Hadoop 生态系统是一项艰巨的任务。 由于代码的大量涌入,必须及时了解新功能、API 更改、改进以及每个更改对堆栈的影响。 验证每个组件涉及一个大型的多维矩阵,该矩阵包含数十个操作系统、大量的 Java 开发工具包 (JDK) 和版本、不同风格的数据库交互以及各种模式(如安全、非安全等)。 我编写的代码包括数千个在集群上运行数天、跨越近一千个节点、处理 TB 级数据并验证十几个以上的项目的测试。
所有这些对于实现稳定、高质量的 Hadoop 堆栈版本至关重要。 知道自己正在为改进软件产品而努力,并且该产品受到了行业的极大欢迎,这是一种很棒的感觉。 然而,在招聘工程师时,这是一个漫长而艰难的过程。 此外,我一直面临着招聘具有分布式系统知识和开源经验的女工程师的挑战。 在会议、用户组会议和开源社区中,我也发现女性参与者的比例非常小。 但在所有这些过程中,我从未感到被排除在群体之外,因为社区一直非常热情和支持。
无论我是报告错误、提交代码以供审核,还是“+1”补丁或提交代码,都没有偏见或双重标准。 我所看到的只是一个充满活力的社区,他们对自己的工作充满热情并努力追求卓越。 开发者社区非常出色、公平,并且让开源软件的开发变得有趣而轻松。
那么,如何开始为开源项目做贡献呢?
我选择的直接方法是:加入一家对开源软件有坚定承诺的公司。 对于任何想要通过为开源项目做贡献来谋生的人来说,这都是一个梦想成真的机会。 ApacheCon、OSCON 和 FOSSCON 等会议可以帮助简化您感兴趣的项目。
另一个简单的方法是在项目启动阶段加入项目。 代码量较少,您可以从一开始就参与产品的架构设计和开发。 对于一个成熟的项目,一旦代码增长且项目规模庞大,至少一开始不会容易。 但是您可以从报告错误或文档问题、测试功能或提供有关可用性的反馈开始。 您可以通过了解用例、产品概述、架构细节以及代码内部结构来逐步学习。 源代码文档、邮件列表、IRC、在线论坛、博客、错误跟踪系统和书籍在此任务中非常有用。 然后,您可以致力于提交补丁,以用于您希望看到的改进或用于现有错误。 一旦您的补丁准备好进行审核,您可以欢迎共同开发者评论您的工作并获得即时反馈。
经过多次这样的迭代后,您的代码就可以提交到源代码中了! 通过一个补丁,您已经提高了您的标准。 并且还有展示您的工作并证明您的能力的额外好处。 您的代码、邮件列表中的回复和审核评论确立了您在行业中的精英地位。
我个人非常相信通过开源开发进行创新。 在开源项目中工作既有趣又具有挑战性。 您可以与行业中最优秀的人才互动,同时都在努力构建世界一流的软件。 由于开源社区中共同开发者的不断反馈以及公开讨论的想法,可以保证您将构建最好的技术。 个人成长潜力是无与伦比的,对于越来越多的开发者,尤其是女性,参与开源软件的开发非常重要。
让你的代码为你自己说话。
1 条评论