== Project Description ==
This project will create a resource kit suitable for
new developers and students, and contain all the code, tools, build environment, documentation, and learning materials necessary to become a productive Mozilla developer and contributor .
== Project Leader(s) ==
* David Humphrey
* Chris Tyler
== Project Contributor(s) ==
== Project Details ==
Mozilla is a large and difficult project to get started on because of its scale and scope. A number of issues stand in the way for new contributors:
# tools and documentation is often scattered across the web in wikis, blogs, forums, etc. This situation has improved greatly in recent years, with improvements to [http://developer.mozilla.org MDC]. However, MDC is not enough on
it's own, and suffers from a lack of top-level paths through the enormous amounts of content (i.e., reference vs. learning).
# often one needs more than just a tool or instructions on how to use it--examples, tutorials, etc. are also useful
# many developers, especially those in the east where bandwidth is lacking, struggle to use web-based resources. Having local access to Mozilla's large resources (mxr, mdc, source) would open this world to a new set of developers
=== Resource Kit Contents ===
The resource kit will be contained on one or more discs (likely DVDs)
. Initially the kit will '''target Windows developers''', since this is the largest set of potential developers and because the tools and configuration necessary to do Mozilla development is less foreign to Linux/Unix developers. The disc or discs will contain a number of resources:
==== Complete Linux Development Environment ====
While the kit will target Windows, it will include a complete Linux-based Mozilla development environment. This will be done in order to introduce Windows developers to the need for cross platform development and testing, and also to help transition them onto other platforms like Linux and OS X.
The OS chosen would be '''Fedora Core''', and the included software/packages would match the [http://developer.mozilla.org/en/docs/Linux_Build_Prerequisites Linux Build instructions], the [http://wiki.mozilla.org/ReferencePlatforms/Linux-CentOS-5.0 Linux reference platform doc], and the existing [http://blog.mozilla.com/bhearsum/archives/16 Linux Reference VM]. We would not use the existing reference VM because our goal is to add convenience software and settings such that Mozilla development is made easier for new developers and so that Windows developers are made to feel comfortable.
This Linux development environment will be available in a number of formats:
# LiveCD, which is also installable
# VM Image. I have contacted VMWare to see if it is possible to redistribute the VMWare Player. Other hosts are also possible, but need to work well so that developers aren't turned-off Linux based on the Windows host software. '''UPDATE''' I have filled out the VMware Player Distribution Questionnaire, and am waiting for further information.
==== Tools ====
Ideally these would be installable via a single setup/wizard/installer as options, or perhaps in the model of the Open CD (i.e., a XUL Runner web based installer, where you choose each package separately).
* [http://go.microsoft.com/fwlink/?LinkId=51410&clcid=0x409 Visual C++ 2005 Express Edition] - checking with Microsoft to see what choices there are for including or auto-downloading this
* [http://msdn2.microsoft.com/en-us/vstudio/aa700755.aspx Microsoft Platform SDK] (NOTE: When installing the SDK, you must install at least the "Windows Core SDK" (Tools, Build Environment, and Redistributable Components) and the "Web Workshop SDK" (Build Environment)).
2.exe Mozilla Build 1. 2]
* [https://addons.mozilla.org/en-US/firefox/addon/16 Chatzilla]
* [https://addons.mozilla.org/en-US/firefox/addon/216 Venkman]
* Editor config files and addons for common/supported editors
* [http://developer.mozilla.org/devnews/ Mozilla Developer News]
* [http://developer.mozilla.org/devnews/index.php/categories/about-mozilla/feed/ about:mozilla feed] (NOTE: included in devnews by default).
===== [[Create Local MXR|Local MXR]] =====
The local MXR would index only the trees in the kit (see the Source Code section). The look of the HTML pages should be modified somewhat to make it clear that this is a separate resource to what is on the web, and therefore the code indexed is not the same. See the [[Create Local MXR]] project for more details.
===== Documentation and Learning Materials =====
* Documentation on using each of the tools included in the kit
* Reference and other Documentation (much from [http://developer.mozilla.org MDC]). Where MDC is a wiki meant for distributed collaboration, the documentation in the kit is read-only. Furthermore, where wikis prefer writers to readers, the documentation in the kit needs more top-down organization to link everything together (cf. MSDN). Getting rid of the wiki would mean that the content can be distributed as files vs. needing a web/wiki server. Like the local MXR, the look-and-feel of the pages should be altered so that they don't appear to be MDC, and it's clear that this is something separate. In addition, some docs would need to be changed sho they reference the contents of the kit (i.e., where multiple tools can be used, focus on the one(s) that are included in the kit).
* Learning materials (much from [http://zenit.senecac.on.ca/wiki Seneca courses])
** Presentations/Lectures (from Seneca and Mozilla)
** Video/Audio content (guest lectures, conference talks, etc.)
* Is it worth mining the newsgroups for info?
* What about Mac OS X?