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.
Agreed. I also dislike that I have to click a button (with text that probably isn't accurate anyway) to see the next result. A list of possibilities would be much preferred.
There's an alternate stylesheet for the page, but yeah, it's not very discoverable unless you like to read source code or have some extensions installed. In Firefox, one can switch the stylesheet with View > Page Style, don't know how about other browsers.
Amazing! I've been writing CSS for the last 6 years (as my job mainly), and I've never heard of alternate stylesheets. I wonder how many of them I've missed.
The only time I provided different styles for the same web page was by adding a class to the body tag, and modifying it using JavaScript.
This is quite probably the only time you've missed them. Seriously just not a feature that caught on (because of poor browser integration, and limited use cases)
You are absolutely correct. The domain doesn't match the content right now, but I'm going to be running a sprint to fill it out with non-coding-related activities soon. You can see a prototype at http://www.joshmatthews.net/asknot/; I'm mainly lacking experts who can provide me with content and links.
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.
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.
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.
What if a lawyer step forward wanting to help? Wod he need to learn how to code? Your comment is disrespectful. This person is asking for opportunities to help, and ou response is learn something valuable. As if design was not. Mozilla needs designers too. More so with the mobile OS looming on the horizon.
His point stands though. What if I want to help Mozilla but don't want to learn code/design? Clearly I won't be able to contribute to their core stuff, but maybe I can spread the word or donate or something.
You have managed to insult both programmers and designers with this statement. Yes, there are people who program and design. Yes, to some people its easy to go from one thing to the other. But neither skill is nowhere near each other.
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.
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."
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."
"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.
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.
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/
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.
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
Mozilla webdev here. I could be wrong, but given that the repo is still on Josh's github account (https://github.com/jdm/asknot) rather than the official Mozilla organization (https://github.com/mozilla/), my guess is that it's not "official".
I'm almost certain we know about it after the last time it hit Hacker News, and given the amount of people contributing to it (https://github.com/jdm/asknot/commits/master) there's at least some level of effort in making it better, but it probably doesn't have priority over official entry points for contribution, like http://www.mozilla.org/en-US/contribute/
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.
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.
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..
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!)
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.
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.
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.