
What can I do for Mozilla - vishal0123
http://www.whatcanidoformozilla.org/
======
bbx
It's a nice initiative but only aimed at developers.

Only yesterday, I was browsing this page: <https://www.mozilla.org/en-
US/contribute/> (How to get involved with Mozilla). I'm a non-English web
designer so I thought "Maybe I could help with something". I find this page
more helpful than <http://www.whatcanidoformozilla.org/> because it covers a
lot of areas. Even if you're just a Firefox user with no web
development/design knowledge, you can help spread the word, or translate
stuff, or become a software tester.

Maybe "What can I do for Mozilla" could include these aspects and turn the
website into a step-by-step wizard that would ask questions such as "What are
you?" with these following options: developer/designer/writer/publisher/user
for example.

~~~
seivan
Maybe you should learn how to code then? Instead of asking for "simpler"
positions. We got past the designer who can't do HTML but just Photoshop. It's
time to get past the designer who can only do HTML but no scripting.

I know a ton of developers (whom you might call backend developers) that can
do great design work with little effort. Especially with tools like SCSS
and/or compass/bourbon.

~~~
richardkeller
I'm sorry, but this is a terrible response. Clearly this person's expertise is
in web design, so why would you expect them to pick up an entirely new domain
of knowledge when they're already able and willing to contribute web-design
now?

Having somebody who has only just learnt how to code contributing to a massive
codebase is in nobody's best interests. All this will do is increase the
workload of the developers who have to review the potentially crap code and,
on top of that, it removes a potential contributor from an area where they
could contribute far more valuable resources in a domain in which they
actually have experience.

Suggesting that the op picks up an additional skill in their spare time is
fine, but not at the expense of being able to contribute in an area where they
already clearly have experience.

~~~
seivan
Ugh. I'd say the knowledge is in the same area.

~~~
msutherl
I'm sorry, it's really not. The state of design on the web is quite bad
currently thanks to the number of developers who think design is easy and do
it themselves. It's a 'you don't know what you don't know' thing.

------
simonsarris
This stuff is pretty inspiring. I'd love to see a broader "What Can I do for
the Web", though, and to Mozilla's credit there would be an awful lot of
overlap!

I'm a full time JS/canvas dev, but I greatly enjoy helping others and writing
tutorials, so I've spent my spare time doing just that. (At my peak I had
answered more than 10% of all canvas questions ever asked on StackOverflow.
I'm putting that in my resume under "poor time management".)

I had to stop SO/tut writing last June because of a book deal, but I'm very
nearly done, and sites like this inspire me to return to "contributing" to the
web. In a lot of ways, I can't wait.

I had considered taking some time off my job to do nothing but make JS
tutorials, and try to make some "Bob Ross"-style learn to program with JS
videos, update the MDN, and hold office hours in StackOverflow chat.

My "dream job" would be doing something like that full-time, maybe for a year,
but I can't really afford to quit work for more-or-less charitable web stuff
just yet. Someday though, probably in a couple years, I'll have the money to
"buy" the time.

~~~
reubenmorais
You might be interested in this spot: <https://careers.mozilla.org/en-
US/position/opLgXfw7>

------
TamDenholm
After picking PHP (yeh i know, dont hate), the next line was: "So you like
your variable names to include dollar signs? That's cool, everyone misses Perl
once in a while."

Nice touch.

~~~
kostya-kow
I also liked the one for Java is "So you're a believer in
AbstractMethodFactoryBeans?" and C++ "So you like long compile times and
incomprehensible error messages? That's cool, we do too."

------
cpeterso
"Bugs Ahoy" is another way to find ways to help. Bugs Ahoy is a Bugzilla
search engine of "mentor bugs" with filters for programming languages and
product areas that may interest you.

<http://www.joshmatthews.net/bugsahoy/?unowned=1>

------
jaredsohn
Previous:

<https://news.ycombinator.com/item?id=4635990>

------
redment
<https://news.ycombinator.com/item?id=4635990>

~~~
Offler
No harm in putting it back up on the front page again, I never saw it the
first time.

------
saosebastiao
This is cool...but it also tells me that I can't do anything for Mozilla. And
I find that unfortunate.

I wish open source projects would openly solicit help with things like 1)
Writing tests 2) Writing documentation and tutorials 3) Bug finding and
reporting 4) Bug report maintenance and management 5) Porting to new platforms

Not everybody is capable or willing to work on the stuff that devs find
glamorous...and a project has no chance of real success without the things I
mentioned.

~~~
Osmose
EDIT: Looks like at least some of my links can also be found on
<http://www.mozilla.org/en-US/contribute/>. Who knew?

My attempt at providing helpful links for your requests (and ignoring the
problem of whatcanidoformozilla.org not having this stuff):

1\. There's probably better resources for QA for the browser and other Mozilla
projects, but the WebQA is awesome at working with contributors and getting
them to help on real projects (I've worked on website releases where 100% of
our QA and bug verification was done by contributors):
<https://quality.mozilla.org/teams/web-qa/>

2\. MDN is the biggest place contribution like this happens:
<https://developer.mozilla.org/en-US/docs/Project:How_to_Help>

3\. This seems like a decent resource, specifically the bug reporting
guidelines: <https://developer.mozilla.org/en-US/docs/Mozilla/QA>

4\. I'm not sure about this one; A lot of triage happens by the teams working
on a specific project, as managing these bugs requires a lot of domain
knowledge. Closest link I could find was how to contribute to Bugzilla itself:
<http://www.bugzilla.org/contribute/>

5\. This looks like an outdated page (updated February 1st, 2012!) but it has
some info on ports. I would recommend joining the #developers channel on the
Mozilla IRC and asking around. In general the larger IRC channels will help
point you in the right direction.

------
Paul_D_Santana
Here is a list of everything available in case anyone might find that more
convenient:

 _Languages:_

    
    
      - C
      - C++
      - C++ (Firefox)
      - Java
      - JavaScript
      - PHP
      - Python
      - Rust
    

_C_

    
    
      So you think OOP is for hipsters?
      That's cool, we all get nostalgic sometimes. You could work on:
    
      - NSS: The network security pieces of Firefox
        https://developer.mozilla.org/en-US/docs/Getting_Started_With_NSS
    

_C++_

    
    
      So you like long compile times and incomprehensible error messages?
      That's cool, we do too. You could work on:
    
      - Gecko: The engine that drives Firefox
        See: C++ (Firefox)
    
      - Boot2Gecko: The operating system for Android phones built on web technologies
        https://wiki.mozilla.org/B2G/Hacking
    
      - Thunderbird: The open source email client
        http://developer.mozilla.org/En/Simple_Thunderbird_build
    
      - Seamonkey: The open source web productivity suite
        http://www.seamonkey-project.org
    
      - v8monkey: Implementing the v8 API on top of Spidermonkey
        http://github.com/zpao/v8monkey
    
      - emscripten: Creating a LLVM-to-JS system to allow porting native code to the web
        https://github.com/kripken/emscripten/
    
      - SVG Project: Help with the implementation and testing of Mozilla's
        Scalable Vector Graphics engine (https://developer.mozilla.org/en-US/docs/SVG)
        https://wiki.mozilla.org/SVG:Contribute
    
      - Windows 8 Integration: The Metro-style enabled desktop browser for Windows 8
        https://wiki.mozilla.org/Firefox/Windows_8_Integration
          See 3.3 Platform Integration Windows 8 Development
    
      - MathML: Display and represent math formulas on the web
        https://wiki.mozilla.org/MathML:Home_Page
    

_C++ (Firefox)_

    
    
      That's cool, but not very specific. You could work on:
    
      - General Firefox work: I don't really care about the details
        http://developer.mozilla.org/En/Introduction
    
      - Graphics: Lots of work with OpenGL, DirectX, and Skia making things draw quickly
        https://wiki.mozilla.org/Platform/GFX/Contribute
    
      - Accessibility:
        Make the web more accessible for users using
          assistive technologies (eg. screenreaders)
        https://wiki.mozilla.org/Accessibility/Contribute
    
      - Networking: Tcp, http, ssl/tls, spdy, and more
        http://wiki.mozilla.org/Networking
    
      - Spidermonkey:
        The JavaScript engine: if you like compilers, interpreters, JITs, and more
        https://wiki.mozilla.org/JavaScript:New_to_SpiderMonkey
    

_JavaScript_

    
    
      So you're a dynamic individual who thinks that, underneath,
      everything is an object? That's cool, we like to dream as well.
      You could work on:
    
      - Firefox: Did you know that all of the UI is written in JS?
        See: JavaScript (Firefox)
    
      - Mobile Firefox:
        It's the Gecko engine, with an Android-specific UI. No Android device required.
        https://wiki.mozilla.org/Mobile/Get_Involved
    
      - pdf.js: A PDF viewer written entirely in JavaScript
        https://wiki.mozilla.org/PDF.js
    
      - Shumway: a Flash player written entirely in JavaScript
        https://github.com/mozilla/shumway/wiki
    
      - The addon SDK: The foundation upon which all new kick-ass addons are built
        https://wiki.mozilla.org/Jetpack
    
      - Gaia: the default UI for the web-based mobile operating system Boot2Gecko
        https://wiki.mozilla.org/Gaia
    
      - DXR: The intelligent source code indexing system
        http://github.com/mozilla/dxr
    
      - Thunderbird: The open source email client
        http://developer.mozilla.org/En/Simple_Thunderbird_build
    
      - Seamonkey: The open source web productivity suite
        http://www.seamonkey-project.org
    
      - Web development: We have many large, complicated projects that use JavaScript
        https://blog.mozilla.com/webdev/get-involved/
    
      - Popcorn: Create interactive media pages that seamlessly integrate video,
        audio, and traditional web technologies
        http://www.benmoskowitz.com/?p=527
    
      - Windows 8 Integration:
        The front end for the Metro-style enabled desktop browser for Windows 8
        https://wiki.mozilla.org/Firefox/Windows_8_Integration
          See 3.2 Front End Windows 8 Development
    
      - Persona: Implement a new way to safely and easily sign into websites
        https://wiki.mozilla.org/Persona
    

_JavaScript (Firefox)_

    
    
      Good choice - there are a lot of different areas if you'd like to specialize.
      You could work on:
    
      - Firefox in general - I don't really care:
        http://developer.mozilla.org/En/Introduction
    
      - Developer tools:
        Implement a suite of tools similar to Firebug directly in the browser
        https://wiki.mozilla.org/DevTools/GetInvolved
    
      - Sync: Help users take their personal browsing data on the road
        https://wiki.mozilla.org/Services/Sync#Get_Involved
    

_Java_

    
    
      So you're a believer in AbstractMethodFactoryBeans?
      That's cool, we all have our vices. You could work on:
    
      - Mobile Firefox:
        It's the Gecko engine, with an Android-specific UI. No Android device required.
        https://wiki.mozilla.org/Mobile/Get_Involved
    
      - Rhino: It's Spidermonkey in Java. Is this actually still a thing?
        https://developer.mozilla.org/en-US/docs/Rhino
    

_PHP_

    
    
      So you like your variable names to include dollar signs?
      That's cool, everyone misses Perl once in a while. You can work on:
    
      - WordPress: The code that runs our blogs (http://blog.mozilla.org)
        https://wiki.mozilla.org/Webdev/GetInvolved/WordPress
    
      - Marketplace: The PHP client for Marketplace (https://marketplace.firefox.com)
        https://github.com/mozilla/Marketplace.PHP
    
      - The Mediawiki-Bugzilla plugin:
        The Bugzilla plugin for Mozilla's MediaWiki https://wiki.mozilla.org
        https://github.com/mozilla/mediawiki-bugzilla
    

_Python_

    
    
      So you enjoy the paradigm of backtrace-driven development?
      That's cool, everyone gets a bit tired of static typing once in a while.
      You can work on:
    
      - Firefox: Lots of code is generated by python scripts
        http://developer.mozilla.org/En/Introduction
    
      - Web development: We have many large, complicated projects written in Python
        https://blog.mozilla.com/webdev/get-involved/
    
      - DXR: The intelligent source code indexing system
        http://github.com/mozilla/dxr
    
      - Tools & Automation:
        Various projects to facilitate easier automated testing of products
        https://wiki.mozilla.org/Auto-tools/New_Contributor
    

_Rust_

    
    
      The new systems programming language created by Mozilla.
    
      - Rust: http://www.rust-lang.org

------
octo_t
This is really cool!

Didn't realise NSS was part of the Mozilla project, might start having a read
of the bugtracker and see what there is :D

~~~
justincormack
Apparently it is their only code in C according to this!

~~~
cpeterso
NSPR (Netscape Portable Runtime) is also C:

<https://developer.mozilla.org/en-US/docs/NSPR>

------
alecbenzer
> C++ > So you like long compile times and incomprehensible error messages?

um, okay.

edit: oh, nvm, they're just making fun of all the languages

~~~
jakub_g
AFAIU this is not an "official" Mozilla site. Which you can see in the footer
("Created by Josh Matthews"). But I might be wrong.

~~~
cpeterso
I'm pretty sure this is an official Mozilla website. Plus, Josh Matthews is a
Mozilla employee who, among other things, works on contributor engagement.

~~~
lastontheboat
We're definitely blurring the bounds of official-ness. Everybody in the
organization who has seen it is always enthusiastic, and nobody has asked me
to remove the tabzilla branding.

------
Ygg2
They still haven't updated it with Servo as a Rust project? I'm slightly
disappointed.

------
brvs
Is there a site like this for open-source projects/orgs in general, not just
Mozilla?

~~~
oscargrouch
if not, is a must have.. excelent idea!

~~~
S4M
It already exists: <https://openhatch.org/>

------
oscargrouch
I like the human friendly approach.. very smart!

i also think that maybe it must have something to young folks entering in the
world of technology.. they maybe dont even know any specific computer
language..

Something more passion focused.. like "how about to build the nextgen mobile
os?" then point to boot2gecko..

Then map some sort of profile.. like if the guy is more focused in system
programming, or more visual programming.. or more artistic focused..

After profiling the user will be more easy to point him to the projects he is
more likelly to contribute..

anyway, very cool and inspiring initiative.

------
ancarda
I'd love to get into Open Source (right now I'm trying to figure out how to
properly use Git).

My biggest issue right now is when do I work on it? Is it just in my spare
time? Are people able to work on Linux in their spare time?

I'm not really sure how it all works to be honest. And if I commit/push an
update, how does it eventually end up in Firefox?

~~~
lastontheboat
[https://developer.mozilla.org/en-
US/docs/Introduction#Step_5...](https://developer.mozilla.org/en-
US/docs/Introduction#Step_5_-_Get_your_code_reviewed) should address the last
question.

------
EllaMentry
This provides a really nice intro, but I feel that what many projects are
missing is this++ (or ++this), and by that I mean a nice summarized dashboard
with a roadmap, links to bug reports, new features, discussions etc.

The problem as I see it is I can click through a few buttons and then I get to
the last "Tell me More" and it points me to a wiki page, with lots of missing
sections, half paragraphs, unfinished bullet points etc. Then there is a link
to a bugtracker, on a different domain, with no introduction text, then
contributing to the source code is on a different site, with yet another
profile to fill in (Once you have gone through the Wiki, Bug Tracker ++ !)

Actually I guess my main problem is lack of concise, consistent "Getting
Started" documentation (Not just Mozilla, nearly every project - in fact
Mozilla is far better than many!). Yes, I could read through pages and pages
of wiki but, let's be honest, it's ugly and in some cases badly organized - it
just gets the job done (let's somebody who is interested in getting involved
in that project find some information they need to bootstrap themselves),
rather than lure in new developers.

I know many, many excellent developers who would love to try their hand at
open source, but simply are not going to spend the hours/days necessary to
trek through wiki articles to find what they need, especially on projects they
barely know about (Mozilla's Build and Automation tools for example - not
public facing, but many many devs have an interest in this area and would love
to work on something like that)

In an attempt not to just complain, I will offer a few ideas, please steal,
iterate and implement!

A Dashboard - What are people working on, talking about, planning to do now?
What are their blockers? I see so many projects with a Project Website, Wiki,
Development Wiki, Bug Tracker, Source Code, Road Map, Discussion Forums etc.
All with different branding, not linked together and without actually finding
the default page you become lost.

Digging further, who are these people, what parts have they worked on? Who can
I ask about a certain section of code (git annotate?)

Bring developers, testers, writers, artists, support etc. together in one
place. When a new feature is being planned, be able to co-ordinate, form a
mini strike team and go!

Build a style and a community. I see far too many default Bugzilla themes in
open source projects. Which is great and fine when you are small and starting
out and need to keep track, for someone new wondering around your docs
suddenly faced with a blank bugzilla theme with zero branding information
anywhere.

To summarize: Bigger projects need to do the follow to their on boarding new
contributors documentation:

Have It. Brand It. Simplify It.

(And yes I know, the problem is time and money! But one can dream...)

(PS, If there are any projects that would like a C++ programmer with a passion
for documentation, give me a shout!)

~~~
lastontheboat
You have hit the problem on the head. I'm very interested in surfacing better
information for potential new contributors, and these are all points that I've
harped on before. There's an eternal tradeoff - things like wiki pages are
easy to slap together, but just as easily can grow stale. Information that is
retrieved from live databases is almost always better, but such dashboards can
be complicated beasts to both build and make useful, especially with projects
like Mozilla that are distributed among many different silos. Getting other
people to care about keeping information relevant is another problem I face.
So yeah, no solutions, just acknowledgement that you're right.

------
hackmiester
Maybe if I know HTML, then what I can do is make the page fail more gracefully
when there is no JS. :) <http://puu.sh/2v6hB.png>

------
niggler
Aren't there paid mozilla employees working on the various items?

~~~
melling
Wouldn't having a 1000 more developers contributing to the project make it
even better? 10,000 more?

------
maga
The question I often caught myself asking these days.

------
__herson__
The Spanish translation is really bad, I had to choose it in english in order
to understand the purpose of the page.

~~~
lastontheboat
<https://github.com/jdm/asknot/blob/master/locales.ini#L62>

I love getting pull requests!

------
magg
Hi, What is the required knowledge for someone to gain in order to contribute
to Mozilla projects?

------
shurcooL
Sadly there's no mention of golang.

------
michaell2
the website organization seems targeted to "special education student at
incompetent guidance counselor's office" level of intellectual ability. People
who have the smarts to do any serious contribution to Mozilla probably prefer
reading meaningful articles, not being spoonfed fortune cookie BS.

