SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Contributing to the
Mozilla Codebase

     Souradeep De
Step 0 : Before Building
  System 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/bootstr
ap.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 work

1. 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 Bugs
    Your mentor helps you in every step.
2. “Good” First Bugs
    Bit stale. But good starting point.
3. Student Projects
    Large projects, good enough for your
  university project.
Bugs Ahoy !
whatcanidoformozilla.org
C++
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
1. NSS
    The network security pieces of Firefox.
JavaScript
1. Firefox
    All of the UI is written in JS.

2. Mobile Firefox
    It'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.
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.
Rust
Rust 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 bug
1. Check out the Developer Guide :
    https://developer.mozilla.org/En/Developer_Guide
2. 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

Weitere ähnliche Inhalte

Was ist angesagt?

輪るビングドラム.NET
輪るビングドラム.NET輪るビングドラム.NET
輪るビングドラム.NET
bleis tift
 
Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)
Dennys Hsieh
 
'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko
'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko
'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko
OdessaJS Conf
 
C/C++ Remote Development Overview
C/C++ Remote Development OverviewC/C++ Remote Development Overview
C/C++ Remote Development Overview
Thitipong Jampajeen
 
'MICROFRONTENDS WITH REACT' by Liliia Karpenko
 'MICROFRONTENDS WITH REACT' by Liliia Karpenko 'MICROFRONTENDS WITH REACT' by Liliia Karpenko
'MICROFRONTENDS WITH REACT' by Liliia Karpenko
OdessaJS Conf
 

Was ist angesagt? (16)

用 Go 語言實戰 Push Notification 服務
用 Go 語言實戰 Push Notification 服務用 Go 語言實戰 Push Notification 服務
用 Go 語言實戰 Push Notification 服務
 
Web browsers
Web browsersWeb browsers
Web browsers
 
輪るビングドラム.NET
輪るビングドラム.NET輪るビングドラム.NET
輪るビングドラム.NET
 
Advanced jenkins : Create plugin to auto scale worker agent
Advanced jenkins : Create plugin to auto scale worker agentAdvanced jenkins : Create plugin to auto scale worker agent
Advanced jenkins : Create plugin to auto scale worker agent
 
Test Driven Development with OSGi - Balázs Zsoldos
Test Driven Development with OSGi - Balázs ZsoldosTest Driven Development with OSGi - Balázs Zsoldos
Test Driven Development with OSGi - Balázs Zsoldos
 
Metasploit3 - David Calligaris
Metasploit3 - David CalligarisMetasploit3 - David Calligaris
Metasploit3 - David Calligaris
 
Academy PRO: .NET Core intro
Academy PRO: .NET Core introAcademy PRO: .NET Core intro
Academy PRO: .NET Core intro
 
Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)
 
Setting up a vscode development environment for mbed 5 application using the ...
Setting up a vscode development environment for mbed 5 application using the ...Setting up a vscode development environment for mbed 5 application using the ...
Setting up a vscode development environment for mbed 5 application using the ...
 
'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko
'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko
'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko
 
Take control. write a plugin. part II
Take control. write a plugin. part IITake control. write a plugin. part II
Take control. write a plugin. part II
 
C/C++ Remote Development Overview
C/C++ Remote Development OverviewC/C++ Remote Development Overview
C/C++ Remote Development Overview
 
Pyconza(2)
Pyconza(2)Pyconza(2)
Pyconza(2)
 
'MICROFRONTENDS WITH REACT' by Liliia Karpenko
 'MICROFRONTENDS WITH REACT' by Liliia Karpenko 'MICROFRONTENDS WITH REACT' by Liliia Karpenko
'MICROFRONTENDS WITH REACT' by Liliia Karpenko
 
Android Tamer BH USA 2016 : Arsenal Presentation
Android Tamer BH USA 2016 : Arsenal PresentationAndroid Tamer BH USA 2016 : Arsenal Presentation
Android Tamer BH USA 2016 : Arsenal Presentation
 
Mono for Android?
Mono for Android?Mono for Android?
Mono for Android?
 

Andere mochten auch (6)

A Mensagem Mais Linda Que Ja Li
A Mensagem Mais Linda Que Ja LiA Mensagem Mais Linda Que Ja Li
A Mensagem Mais Linda Que Ja Li
 
Mensagem De Boas Vindas
Mensagem De Boas VindasMensagem De Boas Vindas
Mensagem De Boas Vindas
 
Regresso às aulas - boas-vindas!
Regresso às aulas - boas-vindas!Regresso às aulas - boas-vindas!
Regresso às aulas - boas-vindas!
 
MENSAGEM
MENSAGEMMENSAGEM
MENSAGEM
 
Acolhida slide
Acolhida   slideAcolhida   slide
Acolhida slide
 
Mensagem de-motivacao-para-o-segundo-semestre
Mensagem de-motivacao-para-o-segundo-semestreMensagem de-motivacao-para-o-segundo-semestre
Mensagem de-motivacao-para-o-segundo-semestre
 

Ähnlich wie Contributing To The Mozilla Codebase

Contribute to mozilla
Contribute to mozillaContribute to mozilla
Contribute to mozilla
Chinmay Gupta
 
Node.js an introduction
Node.js   an introductionNode.js   an introduction
Node.js an introduction
Meraj Khattak
 

Ähnlich wie Contributing To The Mozilla Codebase (20)

Contribute to mozilla
Contribute to mozillaContribute to mozilla
Contribute to mozilla
 
Firefox OS - Hive Pilani 2015
Firefox OS - Hive Pilani 2015Firefox OS - Hive Pilani 2015
Firefox OS - Hive Pilani 2015
 
Developing FirefoxOS
Developing FirefoxOSDeveloping FirefoxOS
Developing FirefoxOS
 
Phonegap android angualr material design
Phonegap android angualr material designPhonegap android angualr material design
Phonegap android angualr material design
 
Web development tool
Web development toolWeb development tool
Web development tool
 
Top 10 IDEs for React.js Developers in 2021
Top 10 IDEs for React.js Developers in 2021Top 10 IDEs for React.js Developers in 2021
Top 10 IDEs for React.js Developers in 2021
 
NCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsNCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile Apps
 
Node.js an introduction
Node.js   an introductionNode.js   an introduction
Node.js an introduction
 
Kivy report
Kivy reportKivy report
Kivy report
 
Overview of .Net Framework
Overview of .Net FrameworkOverview of .Net Framework
Overview of .Net Framework
 
Top Cordova Challenges and How to Tackle Them
Top Cordova Challenges and How to Tackle ThemTop Cordova Challenges and How to Tackle Them
Top Cordova Challenges and How to Tackle Them
 
What's new in Visual Studio for Mac for .NET Developers
What's new in Visual Studio for Mac for .NET DevelopersWhat's new in Visual Studio for Mac for .NET Developers
What's new in Visual Studio for Mac for .NET Developers
 
Software training report
Software training reportSoftware training report
Software training report
 
Ionic best practices
Ionic best practicesIonic best practices
Ionic best practices
 
Ionic best practices
Ionic best practicesIonic best practices
Ionic best practices
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkit
 
Open source for you - November 2017
Open source for you - November 2017Open source for you - November 2017
Open source for you - November 2017
 
DockerDay2015: Keynote
DockerDay2015: KeynoteDockerDay2015: Keynote
DockerDay2015: Keynote
 
Firefox OS
Firefox OSFirefox OS
Firefox OS
 
Android report.
Android report.Android report.
Android report.
 

Kürzlich hochgeladen

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Contributing To The Mozilla Codebase

  • 1. Contributing to the Mozilla Codebase Souradeep De
  • 2. Step 0 : Before Building System 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/bootstr ap.py && python bootstrap.py
  • 3. Step 1 : Build Firefox 1. Get The Source : hg clone https://hg.mozilla.org/mozilla -central 2. Build : ./mach build
  • 4. Step 2 : Understand The Development Process : Schedule-driven process, to provide regular improvements to users without disrupting longer term work.
  • 5. Step 3 : Find some work 1. Fix your pet peeve 2. Fix bugs identified by mozilla 3. Bugs Ahoy ! 4. Use whatcanidoformozilla.org
  • 6. 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
  • 7. Fix bugs identified by mozilla 1. Mentored Bugs Your mentor helps you in every step. 2. “Good” First Bugs Bit stale. But good starting point. 3. Student Projects Large projects, good enough for your university project.
  • 9.
  • 10.
  • 12.
  • 13. C++ 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.
  • 14. 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.
  • 15. 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.
  • 16.
  • 17. C 1. NSS The network security pieces of Firefox.
  • 18.
  • 19. JavaScript 1. Firefox All of the UI is written in JS. 2. Mobile Firefox It's the Gecko engine, with an Android-specific UI. No Android device required. 3. pdf.js A PDF viewer written entirely in JavaScript.
  • 20. 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.
  • 21. JavaScript 7. DXR The intelligent source code indexing system. 8. Thunderbird The open source email client. 9. Seamonkey The open source web productivity suite.
  • 22. 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
  • 23. 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.
  • 24.
  • 25. 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.
  • 26.
  • 27. Python 1. Firefox Lots of code is generated by python scripts. 2. Web development There are many large, complicated projects written in Python.
  • 28. Python 3. DXR The intelligent source code indexing system. 4. Tools & Automation Various projects to facilitate easier automated testing of products.
  • 29.
  • 30. 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.
  • 31.
  • 32. Rust Rust 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.
  • 33. Coding in Rust A small piece of code in Rust: Hello World: fn main() { io::println("hello, world"); }
  • 34. Step 4 : Fix the bug 1. Check out the Developer Guide : https://developer.mozilla.org/En/Developer_Guide 2. Ask for help : #introduction and #developers 3. Notify the docs team : Add dev-doc-needed keyword if your bug is likely to require documentation.
  • 35. 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 ?
  • 36. 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.
  • 37. Step 7 : Get the code into the tree Ask your mentor or mark your commit with a checkin-needed keyword.