Contributing To The Mozilla Codebase
-
date post
18-Oct-2014 -
Category
Technology
-
view
319 -
download
2
description
Transcript of Contributing To The Mozilla Codebase
![Page 1: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/1.jpg)
Contributing to the
Mozilla Codebase
Souradeep De
![Page 2: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/2.jpg)
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
![Page 3: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/3.jpg)
Step 1 : Build Firefox
1. Get The Source :
hg clone https://hg.mozilla.org/mozilla-central
2. Build :
./mach build
![Page 4: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/4.jpg)
Step 2 : Understand
The Development Process :
Schedule-driven process, to provide regular improvements to users without disrupting longer term work.
![Page 5: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/5.jpg)
Step 3 : Find some work1. Fix your pet peeve
2. Fix bugs identified by mozilla
3. Bugs Ahoy !
4. Use whatcanidoformozilla.org
![Page 6: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/6.jpg)
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
![Page 7: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/7.jpg)
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.
![Page 8: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/8.jpg)
Bugs Ahoy !
![Page 9: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/9.jpg)
![Page 10: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/10.jpg)
![Page 11: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/11.jpg)
whatcanidoformozilla.org
![Page 12: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/12.jpg)
![Page 13: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/13.jpg)
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++
![Page 14: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/14.jpg)
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++
![Page 15: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/15.jpg)
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++
![Page 16: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/16.jpg)
![Page 17: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/17.jpg)
C
1. NSS The network security pieces of Firefox.
![Page 18: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/18.jpg)
![Page 19: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/19.jpg)
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.
![Page 20: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/20.jpg)
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.
![Page 21: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/21.jpg)
JavaScript
7. DXR The intelligent source code indexing
system.
8. Thunderbird The open source email client.
9. Seamonkey
The open source web productivity suite.
![Page 22: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/22.jpg)
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
![Page 23: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/23.jpg)
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.
![Page 24: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/24.jpg)
![Page 25: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/25.jpg)
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
![Page 26: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/26.jpg)
![Page 27: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/27.jpg)
Python
1. Firefox Lots of code is generated by python scripts.
2. Web development There are many large, complicated projects
written in Python.
![Page 28: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/28.jpg)
Python
3. DXR The intelligent source code indexing
system.
4. Tools & Automation Various projects to facilitate easier
automated testing of products.
![Page 29: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/29.jpg)
![Page 30: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/30.jpg)
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.
![Page 31: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/31.jpg)
![Page 32: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/32.jpg)
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.
![Page 33: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/33.jpg)
Coding in Rust
A small piece of code in Rust:
Hello World:
fn main() {
io::println("hello, world");
}
![Page 34: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/34.jpg)
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.
![Page 35: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/35.jpg)
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 ?
![Page 36: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/36.jpg)
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.
![Page 37: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/37.jpg)
Step 7 :Get the code into the tree Ask your mentor or mark your commit with a checkin-needed keyword.
![Page 38: Contributing To The Mozilla Codebase](https://reader033.fdocuments.us/reader033/viewer/2022061108/5443332fafaf9fef098b47d3/html5/thumbnails/38.jpg)
Thank You :)
desouradeep.wordpress.com