Contributing To The Mozilla Codebase

Preview:

DESCRIPTION

Mozcamp at Haldia Institute of Technology

Citation preview

Contributing to the

Mozilla Codebase

Souradeep De

Step 0 : Before BuildingSystem Requirements :

1. Recommended : 4GB of RAM 2. High Speed Internet

One-Line Bootstrapping :wget --no-check-certificate https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py && python bootstrap.py

Step 1 : Build Firefox

1. Get The Source :

hg clone https://hg.mozilla.org/mozilla-central

2. Build :

./mach build

Step 2 : Understand

The Development Process :

Schedule-driven process, to provide regular improvements to users without disrupting longer term work.

Step 3 : Find some work1. Fix your pet peeve

2. Fix bugs identified by mozilla

3. Bugs Ahoy !

4. Use whatcanidoformozilla.org

Fix your pet peeve

1. Search bugzilla :For relevant keywords

2. Figure out the bugzilla component :

Find where pet peeve is implemented

3. Ask for help : #introduction or #developers in

irc.mozilla.org

Fix bugs identified by mozilla

1. Mentored BugsYour mentor helps you in every step.

2. “Good” First BugsBit stale. But good starting point.

3. Student Projects Large projects, good enough for your

university project.

Bugs Ahoy !

whatcanidoformozilla.org

1. Gecko The engine that drives Firefox.

2. Boot2Gecko The operating system for Android phones built

on web technologies.

3. Thunderbird The open source email client.

C++

4. Seamonkey The open source web productivity suite.

5. v8monkey Implementing the v8 API on top of

Spidermonkey.

6. emscripten Creating a LLVM-to-JS system to allow porting

native code to the web.

C++

7. SVG Project Help with the implementation and testing of

Mozilla's Scalable Vector Graphics engine.

8. Windows 8 Integration The Metro-style enabled desktop browser for

Windows 8.

9. MathML Display and represent math formulas on the

web.

C++

C

1. NSS The network security pieces of Firefox.

JavaScript

1. Firefox All of the UI is written in JS.

2. Mobile FirefoxIt's the Gecko engine, with an Android-

specific UI. No Android device required.

3. pdf.js

A PDF viewer written entirely in JavaScript.

JavaScript

4. Shumway A Flash player written entirely in JavaScript.

5. The addon SDK The foundation upon which all new kick-ass

addons are built.

6. Gaia

The default UI for the web-based mobile operating system Boot2Gecko.

JavaScript

7. DXR The intelligent source code indexing

system.

8. Thunderbird The open source email client.

9. Seamonkey

The open source web productivity suite.

JavaScript

10. Web development Many large, complicated projects that use

JavaScript.

11. Popcorn Create interactive media pages that

seamlessly integrate video, audio, and traditional web technologies

JavaScript

12. Windows 8 Integration The front end for the Metro-style enabled

desktop browser for Windows 8.

13. Persona Implement a new way to safely and easily

sign into websites.

Java

1. Mobile Firefox It's the Gecko engine, with an Android-

specific UI. No Android device required.

2. Rhino It's Spidermonkey in Java.

Java

Python

1. Firefox Lots of code is generated by python scripts.

2. Web development There are many large, complicated projects

written in Python.

Python

3. DXR The intelligent source code indexing

system.

4. Tools & Automation Various projects to facilitate easier

automated testing of products.

PHP

1. WordPress The code that runs our blogs

2. Marketplace The PHP client for Marketplace.

3. The Mediawiki-Bugzilla plugin The Bugzilla plugin for Mozilla's MediaWiki.

RustRust is an experimental, multi-paradigm,

compiled programming language developed by Mozilla Research.

It visually resembles the C language family, but differs significantly in syntactic and semantic details.

Coding in Rust

A small piece of code in Rust:

Hello World:

fn main() {

io::println("hello, world");

}

Step 4 : Fix the bug1. Check out the Developer Guide : https://developer.mozilla.org/En/Developer_Guide2. Ask for help : #introduction and #developers

3. Notify the docs team : Add dev-doc-needed keyword if your bug is likely to require documentation.

Step 5 :Get your code reviewed Once you fix the bug, attach a patch to the bug, and ask for review.

Do this by setting the review flag to ?

Step 6 :Respond to the review The reviewer may ask to fix some issues.

An r+ would mean that your bug fix is accepted into the tree.

Step 7 :Get the code into the tree Ask your mentor or mark your commit with a checkin-needed keyword.

Thank You :)

desouradeep.wordpress.com