如何向 Mozilla 开源社区做贡献
Mozilla 开源社区 贡献
![How to get started contributing to Mozilla](/data/attachment/album/201702/13/231201v29yi1o5s095v424.png "How to get started contributing to Mozilla")



> 
> <ruby> 千里之行，始于足下 <rp>  （ </rp> <rt>  The journey of a thousand miles begins with one step </rt> <rp>  ） </rp></ruby>—— 老子
> 
> 
> 


参与开源工作有很多好处，可以帮助你优化和加速技术生涯，包括但不仅限于提高现实中的技术经验和拓展你的专业人脉。有很多你能做贡献的开源项目，无论是小型、中型、大型，还是不知名或知名的项目。在这篇文章里我们将专注于如何为网上最大、最有名的开源项目之一 ，**Mozilla** ，做出贡献。


### 为什么要向 Mozilla 做贡献？


#### 现实经验


Mozilla 是网络上最大的开源项目之一，其也托管了许多其他的开源项目。所以，当你为像 Mozilla 这样的大型开源项目做贡献时，你能真正接触到技术领域中的事物是如何工作的，能增长关于技术术语和复杂系统功能的知识。最重要的是，你能理解如何将代码从本地系统移动到实际的代码仓库里。你将会学习在管理大型项目时，贡献者们使用的许多工具和技术，如 Github 、Docker、Bugzilla 等。


#### 社区联系


社区是任何开源项目的核心。向 Mozilla 做贡献将你与 Mozilla 的员工和顾问、资深 Mozilla 贡献者（又称 Mozillians）以及你当地的 Mozilla 社区相互联系在一起。社区里有着同样关注并致力于改善开源项目的志趣相投的人们。


你也能有个机会来建立在 Mozilla 社区里的专属身份，激励其他 Mozillians 同伴。如果你想的话，最后你也能指导其他人。


#### 活动和酷物件


没有点充满乐趣的活动和小礼品的社区是不完整的。Mozilla 也不例外。


向 Mozilla 做贡献能给你机会参加 Mozilla 的内部活动。一旦你成为熟练的 Mozilla 贡献者，你将能主持你当地的 Mozilla 活动（Mozilla 或许会予以资金支持）。当然，会另外提供些小礼品 —— 贴纸，T恤，马克杯等。


![印度 2016 Mozilla 聚会](/data/attachment/album/201702/13/231202hk44sjh4snnvjdv8.jpg "India Mozilla meetup 2016")


*根据 CC BY-SA 4.0 协议分享，印度 2016 Mozilla 聚会， Moin Shaikh 提供。*


### 如何向 Mozilla 做贡献


不管您是编程人员、网页设计师、品质控制测试者、翻译，或者是介于之间的任何职业，都有许多不同的方式向 Mozilla 做贡献。让我们看看以下两个主要方面：技术贡献和非技术贡献。


![贡献的方式](/data/attachment/album/201702/13/231203rci1f19alpn3a1v3.jpg "Ways to contribute")


*根据 CC BY-SA 3.0 协议分享， [Mozilla.org](http://mozilla.org/) 供图。*


#### 技术贡献


技术贡献是给那些喜欢编程，想要用他们的代码来弄出点动静的人。有不同的用特定编程语言的项目可供施展能力。


* 如果喜欢 C++ ，你能向火狐的核心层和其他 Mozilla 产品做贡献。
* 如果喜欢 JavaScript、HTML 和 CSS ，你能向火狐的前端做贡献。
* 如果你懂得 Java ，你能向火狐移动端、火狐安卓版和 MozStumbler （LCTT 译注：MozStumbler 是 Mozilla 开源的无线网络扫描程序）做贡献。
* 如果你懂得 Python ，你能给网络服务，包括<ruby> 火狐同步 <rp>  （ </rp> <rt>  Firefox Sync </rt> <rp>  ） </rp></ruby>或者<ruby> 火狐账户 <rp>  （ </rp> <rt>  Firefox Accounts </rt> <rp>  ） </rp></ruby>做贡献。
* 如果你懂得 Shell、Make、Perl 或者 Python ，你能给 Mozilla 的编译系统和发布引擎和自动化做贡献。
* 如果你懂得 C 语言，你能给 NSS、Opus 和 Daala 做贡献。
* 如果你懂得 Rust 语言，你能给 RustC、Servo（一个为并行、安全而设计的网页浏览器引擎）或者 Quantum （一个将大量 Servo 转化为 Gecko 的项目）做贡献。
* 如果你懂得 Go 语言，你能给 Heka 做贡献，这是一个数据处理工具。


要获取更多信息，可以访问 <ruby> Mozilla 开发者网络 <rt>  Mozilla Developer Network </rt></ruby>（MDN）的[开始](https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Introduction#Find_a_bug_we&#39;ve_identified_as_a_good_fit_for_new_contributors.)部分来了解不同的贡献领域。


除了语言和代码，积极测试火狐浏览器的各个部分、火狐安卓浏览器和 Mozilla 的很多网络组件，例如火狐附加组件等，这样也能贡献你的品质保证（QA）和测试能力。


#### 非技术贡献


你也可以给 Mozilla 提供非技术贡献，专注于以下领域：品质保证（QA）测试，文档翻译，用户体验/用户界面（UX/UI）设计，<ruby> Web 识别 <rp>  （ </rp> <rt>  web literacy </rt> <rp>  ） </rp></ruby>，<ruby> 开源宣讲 <rp>  （ </rp> <rt>  open source advocacy </rt> <rp>  ） </rp></ruby>，给 Mozilla 的火狐用户、雷鸟用户提供支持等。


**品质保证（QA）测试：** Mozilla 的 QA 团队遍及全世界，有着庞大且活跃的社区，他们深入参与到了火狐及 Mozilla 的其他项目中。QA 贡献者早期介入到各种产品，探索新的特性，记录漏洞，将已知漏洞分类，编写并执行测试用例，进行自动化测试，并从可用性角度提供有价值的反馈。想开始或者了解更多 Mozilla QA 社区资源，请访问 [Mozilla QA 社区](https://quality.mozilla.org/get-involved/) 网页。


**用户体验设计：** 如果你是个有创意的设计者或是个喜爱折腾色彩和图形的极客，Mozilla 在其社区里有很多位置提供给你，在那里你能设计好用易理解的、美妙的 Mozilla 项目。去看看 Mozilla GitHub page 上的[<ruby> 开放设计仓库 <rt>  Open Design repository </rt></ruby>](https://github.com/mozilla/OpenDesign) 页面。


**用户支持（论坛和社交支持）：** 这是成千上万像你我这样的火狐、雷鸟用户访问和发帖询问关于火狐、雷鸟问题的地方。这也是他们从像我们这样的 Mozilla 贡献者获取回答的地方。这不需要编程才华，不需要设计技能，不需要测试能力，作为火狐用户支持贡献者，你只需要有点儿火狐的知识即可上手。点击 [SUMO](http://support.mozilla.org/) 的“[参与其中](https://support.mozilla.org/en-US/get-involved/questions)”的链接来加入用户支持。从做支持开始或许是你着手开始你的 Mozilla 旅程中最简单的部分。（注：三年前，我从社区支持论坛开始我的 Mozilla 旅程）


**编写知识库和帮助文章：** 如果你喜欢写作和传授知识，知识库对你来说是个好地方。 Mozilla 总是在寻找能给火狐和其它产品用英文撰写、编辑、校对文章的志愿者。每周有成千上万的用户浏览这些知识库文章，通过分享你的智慧和编写帮助文章，你也能产生强大的影响力。访问 [Mozilla 知识库](https://support.mozilla.org/en-US/get-involved/kb) 页面来参与其中。


**本地化，又称 “L10N”：** （LCTT 译注：L10N 是 localization 的缩写形式，意即在 l 和 n 之间有 10 个字母） Mozilla 的产品，例如火狐，被全世界数百万讲着不同语言的人们所使用着。人们需要这些产品以他们的语言显示。语言本地化是个非常需要志愿者的领域。需要你的翻译和本地化能力的项目包括：


* Mozilla 产品，例如火狐
* Mozilla 网页和服务
* Mozilla 市场活动
* SUMO 产品支持文档
* MDN 开发者文档


你可以访问 [Mozilla 本地化](https://l10n.mozilla.org/)页面来参与其中。


**教授和 <ruby> Web 识别 <rp>  （ </rp> <rt>  web literacy </rt> <rp>  ） </rp></ruby>能力：** Mozilla 基本使命目标之一是使所有人都可访问网络。为了实现这个目标使命，Mozilla 通过提供 web 识别工具和技术来致力于教育和帮助 Web 用户。这是可以用你的教授技能来帮助他人的地方。如果你是一位喜欢分享知识、给民众展示关于互联网相关东西的热情的老师，来看一下 Mozilla 发起的 [Web 教育](https://learning.mozilla.org/en-US/)活动。将互联网和 web 识别教给你当地社区、学校孩子、你的朋友和其他有关的人。


**宣讲：** 如果你对 Mozilla 的使命充满热情，你能通过倡导 Mozilla 的使命来传播使命内容。当倡导 Mozilla 的使命时，你能做出如下来贡献：


* 捍卫公共规则，为开放的互联网和用户隐私做斗争。
* 跟网站管理者在兼容性方面合作，提高网站的互操作性。
* 帮助网络作者提升在开放网络方面的文章写作。
* 成为<ruby> <a href="https://www.mozilla.org/en-US/contribute/friends/">  火狐朋友 </a> <rp>  （ </rp> <rt>  Firefox Friends </rt> <rp>  ） </rp></ruby>，展示你作为 Mozilla 和火狐贡献者的自豪。


想要开始帮助宣传 Mozilla 使命，看一下 [Mozilla 宣讲](https://advocacy.mozilla.org/en-US) 页面。


### 如果你还有疑惑，我来帮你开始！


我知道，作为一个新来的贡献者，这篇文章或许给你太多的信息。如果你需要更深入的方向、更多的资源资料，你可以在下面的评论中问我，或者[在 Twitter 里私信我](https://twitter.com/moingshaikh)，我很乐意帮助你开始向 Mozilla 做出第一次的贡献（或者更多！）




---


作者简介：


Moin Shaikh 是一个开源科技极客，职业是网页分析，有着 7 年多的 IT 工作经验。主要贡献领域：火狐网络 QA ，火狐技术支持，本地化和社区指导。除了开源贡献，还学习并身体力行于用户体验、物料设计和电子商务分析。




---


via: <https://opensource.com/article/17/1/how-get-started-contributing-mozilla>


作者：[Moin Shaikh](https://opensource.com/users/moinshaikh) 译者：[ypingcn](https://github.com/ypingcn) 校对：[jasminepeng](https://github.com/jasminepeng)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


OK
*The journey of a thousand miles begins with one step. —Lao Tzu*

Open source participation offers a sea of benefits that can fine-tune and speed up your career in the tech, including but not limited to real-world technical experience and expanding your professional network. There are a lot of open source projects out there you can contribute to—of small, medium, and large size, as well as unknown and popular. In this article we'll focus on how to contribute to one of the largest and most popular open source projects on the web: Mozilla.

## Why contribute to Mozilla?

### Real world experience

Mozilla is one of the largest open source projects on the web and is itself a host to many other open source projects. So, when you contribute to large-scale open source projects like Mozilla, you gain real-world exposure to how things really work in the tech field, increased knowledge of technical jargon and complex system functionalities, and most importantly, an understanding of how to take code from a local system to a live code repository. You'll learn many of the tools and techniques contributors are using to manage these large-scale projects, like GitHub, Docker, Bugzilla, etc.

### Community connections

Community is the heart of any open source project. Contributing to Mozilla connects you with official Mozilla staff and mentors, senior Mozilla contributors (aka Mozillians), and your own local Mozilla community. These are like-minded people who care and strive for improving open source like you do.

Also, you'll have a chance to build your own identity in the Mozilla community and to inspire other fellow Mozillians. If you want to, you can also eventually mentor others.

### Events and swag

No community is complete without a few fun-filled events and bags of swag. Mozilla is no exception.

Contributing to Mozilla will give you a chance to take part in exclusive Mozilla events. And once you've become a seasoned Mozilla contributor, you'll be able to host your own local Mozilla community events (and Mozilla may assist with funding). Plus, of course, some cool swag—stickers, T-shirts, mugs, and more.

CC BY-SA 4.0 Mozilla India Meetup 2016 by Moin Shaikh

## How to contribute to Mozilla

Whether you are a programmer, web designer, QA tester, translator, or something in-between, there are many different ways you can contribute to Mozilla. Let's view it in two main parts: technical contribution and nontechnical contribution.

CC BY-SA 3.0 by Mozilla.org

### Technical contribution

Technical contribution is for people who love programming and who want to make an impact with their code. There are a number of projects built in specific programming languages where you can hone your talents:

- If love C++, you can contribute to the core layers of Firefox and other Mozilla products.
- If you know JavaScript, HTML, and CSS, you can contribute to the front-end of Firefox.
- If you know Java, you can contribute to Firefox Mobile, Firefox on Android, and MozStumbler.
- If you know Python, you can contribute to web services, including Firefox Sync or Firefox Accounts.
- If you know Shell, Make, Perl, or Python, you can contribute to Mozilla's build systems and release engineering and automation.
- If you know C language, you can contribute to NSS, Opus, and Daala projects.
- If you know Rust language, you can contribute to RustC, Servo (a web browser engine designed for parallelism and safety), or Quantum (a project to bring large pieces of Servo into Gecko).
- If you know Go language, you can contribute to Heka, a tool for data processing.

To learn more, visit the [Getting Started](https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Introduction#Find_a_bug_we've_identified_as_a_good_fit_for_new_contributors.) section on the Mozilla Developer Network (MDN) to take a look at various contributions areas.

Apart from languages and code, you can also contribute with your QA and testing skills by actively testing various parts of Firefox web browser, Firefox Android browser, and Mozilla's many web properties, such as Firefox add-ons, etc.

### Nontechnical contribution

You can also make nontechnical contributions to Mozilla, focusing on areas like QA testing, document translation, UX/UI design, web literacy, open source advocacy, and providing user support to Mozilla Firefox and Thunderbird users.

**QA testing:** The Mozilla QA team has a large and vibrant community around the world that is deeply involved in the workings of Firefox and other Mozilla projects. The QA contributors take an early look at various products, explore new features, file bugs, triage existing bugs, write and execute test cases, automate tests, and provide valuable feedback from a usability perspective. To get started or to learn more about the Mozilla QA community resources, visit the [Mozilla QA community](https://quality.mozilla.org/get-involved/) website.

**UX design:** If you're a creative designer or a passionate geek who loves to play with colors and graphics, Mozilla has a lot of space for you in its community where you can design usable, accessible, delightful Mozilla projects. Check out this [Open Design repository](https://github.com/mozilla/OpenDesign) on Mozilla's GitHub page.

**User support (forum and social support):** This is where hundreds of thousands of Firefox and Thunderbird users like you and me come and post questions about Firefox and Thunderbird, and this is where they get answers from Mozilla contributors like us. This requires no coding genius, no design skills, and no testing abilities, only handful of Firefox knowledge to get started as a Firefox User Support contributor. Check out this [Get Involved](https://support.mozilla.org/en-US/get-involved/questions) section to join User Support at [SUMO](http://support.mozilla.org/). Support is probably the easiest yet most important areas to commence your Mozilla journey. (Note: Three years ago, I began my Mozilla journey at the Social Support forums.)

**Writing knowledgebase and help articles:** If you like writing and teaching, then the Knowledge Base is the place for you. Mozilla is always looking for contributors who can write, edit, or proofread articles in English for Firefox and other products. Thousands of users surf these knowledgebase articles every week, and you can make a robust impact by sharing your wisdom and writing help articles for them. Visit the [Mozilla Knowledge Base](https://support.mozilla.org/en-US/get-involved/kb) site to get involved.

**Localization, aka l10n:** Mozilla's products, like Firefox, are used by millions around the globe and by those speaking many different languages. People need these products in their own language. Language localization is an area that is very much in need of contributors. Projects requiring your translation and localization skills include:

- Mozilla products, such as Firefox
- Mozilla websites and services
- Mozilla marketing campaigns
- SUMO product support documentation
- MDN developer documentation

You can visit [Mozilla's l10n](https://l10n.mozilla.org/) site to get involved.

**Teaching and web literacy:** One of the fundamental mission objectives of Mozilla is to keep the web accessible to all. To achieve this mission objective, Mozilla strives hard to educate and enable web users by providing them with the tools and technologies of web literacy. This is where you can help with your teaching skills. If you are a passionate teacher who loves to share knowledge and show the masses all about the Internet, take a look at [Teach the Web](https://learning.mozilla.org/en-US/) initiative by Mozilla. Teach your local community, school kids, your friends, and others about the Internet and web literacy.

**Advocacy:** If you are passionate about Mozilla's mission, you can spread the word by advocating for the Mozilla mission. While advocating for Mozilla's mission, you can contribute by:

- Tackling public policy and fight for an open internet and user privacy
- Helping the web be more interoperable by working with site owners on compatibility
- Helping web authors improve how they write about the open web
- Showing your Mozilla and Firefox pride as
[Firefox Friends](https://www.mozilla.org/en-US/contribute/friends/)

To begin promoting Mozilla's mission, take a look at the [Mozilla Advocacy](https://advocacy.mozilla.org/en-US) page.

## If you're lost, I'm here to help you get started!

I know that as a novice contributor, this article might be an overwhelming amount of information for you. If you need further directions, resources, or references, you can ask me in the comments below or you can [ping me on Twitter](https://twitter.com/moingshaikh). I would be very happy to help you get started with your first contribution (of many more!) to Mozilla.

## 4 Comments