开发者手册

有许多方法可以为 Mozilla 项目做出贡献:编码,测试,改进构建过程和工具或为文档做出贡献。 本指南提供的信息不仅可以帮助您以 Mozilla 贡献者的身份入门,而即使您已经是经验丰富的贡献者,本指南也会对您有所帮助。

文档主题

入门
一步一步引领初学者参与为Mozilla贡献的入门指南。
对于新的 Mozilla 开发人员
一个对Mozilla新的开发人员的特别有用的文章目录。
与 Mozilla 源代码一起工作
一个代码概况、如何获取代码和编码风格的指南。
编译指南
如何编译Firefox、Thunderbird、SeaMonkey或者其他 Mozilla 应用。
编辑器配置
设置您喜欢的IDE或文本编辑器以此来与Mozilla项目一起工作的提示。
开发过程概要
Mozilla开发过程的概要。
管理多个配置文件
作业于 Firefox 先行释出的版本时,通常有数个Firefox文件是有帮助的,例如每个通道配置一个文件,或者针对不同的测试有不同的文件。
自动测试
如何运行Mozilla的自动测试及如何写新的测试。
添加你的patch到树中
当你的patch完成后,你需要把它添加到树中。这篇文章解释了review过程和如何使你的patch得到支持。
Mozilla模块及模块所有权
这篇文章提供关于Mozilla的模块、模块所有者的角色是什么及模块所有者是怎么选择的。
探秘Firefox用户接口
如何加入到Firefox用户接口及前端软件的开发。
代码片段
与你需要理解如何工作的许多事物相关的有用的代码示例。
Mozilla开发策略
关于如何充分利用你的时间参与到Mozilla项目中的提示。
调试
寻找关于调试Mozilla代码的有帮助的提示和指南。
性能
性能指南和实用程序可帮助您使代码性能良好(并与他人很好地交流)。
Mozilla平台
关于 Mozilla 平台成果的信息。
Mozilla
有关Mozilla编码实践的更多其他信息。
将API添加到navigator对象
如何和扩展API扩大window.navigator对象。
接口兼容性
关于修改Mozilla中脚本的和二进制的应用程序接口的准则。
自定义Firefox
有关创建Firefox的自定义版本的信息。
Task-Graph生成
是什么控制在推送到版本控制上运行的工作?你能怎么改变呢?
虚拟ARM Linux环境
如何设置运行Linux的ARM仿真器以测试特定于ARM的(但不一定特定于平台的)代码。对移动开发人员特别有用
过时的构建警告和技巧
一个放置构建提示的地方,该构建提示不再与从main构建最新版本的代码相关,而在构建旧代码库时相关。
Firefox源文档
由mozilla-central源代码构建的Web托管文档。

工具

Bugzilla
Bugzilla数据库用来跟踪Mozilla项目的相关事件。
DXR
下一代搜索Mozilla的源代码。在积极开发中。
SearchFox
Mozilla代码搜索的另一种选择。索引JS以及C ++都包含blame功能。在积极开发中。
Mercurial
用于管理Mozilla的源代码的分布式版本控制系统。
Mozilla构建VM
与VirtualBox兼容的虚拟机,配置了在Firefox上构建和工作所需的所有软件。
Bonsai
Bonsai工具帮助你找到谁在何时对代码库进行了什么修改。
TaskCluster
TaskCluster是支持Mozilla持续集成和发布过程的任务执行框架。
Treeherder
Treeherder显示树的状态(无论当前是否成功构建)。在签入和签出之前检查此项,以确保您使用的是工作树。
Perfherder
Perfherder用于汇总针对树的自动性能测试的结果。
崩溃跟踪
Information about the Socorro 崩溃报告系统。
Callgraph
通过自动生成调用图来帮助执行Mozilla代码的静态分析的工具。
开发者论坛
一个有针对性主题的论坛。在这里你可以讨论开发的各种事件。
Mozilla平台开发备忘单 (archive.org)
Brian Bondy的平台开发人员常用信息列表。 Brian Bondy 记下了 codefirefox.com,但存档的备忘单可能仍然有用。
Firefox开发视频教程
Brian Bondy的有关Firefox开发的视频教程。