Projects
The primary mission of mozilla.org is to coordinate and integrate the work of others. Here are all of the ongoing projects. If you have a new project you'd like us to host on our CVS server, consult the guidelines on hacking mozilla for info on obtaining a CVS account and interacting with our tree.
- Browser Components
-
- SeaMonkey
- The SeaMonkey project is an effort to deliver production-quality releases of code derived from the application formerly known as "Mozilla Application Suite" and is the codename for the Mozilla browser. They include the NGLayout/Gecko layout engine and are built atop the XPCOM component architecture.
- User Interface
- The user interface for Mozilla has a new look and feel. Check out the list of available UI specifications for details.
- Editor
- The editor project is focused on developing an HTML 4.0 compliant WYSIWYG editor. Composer is designed to be easy to use, fast and reliable; facilitating web page authors to make quick edits to their web pages. Composer is also the underlying editor within Mail/News.
- Instant Messaging & Chat
- Our goal is to make it possible for Mozilla to support Instant Messaging and Chat with a variety of different protocols. As a proof of concept, Rob Ginda has written an IRC client he calls ChatZilla.
- Help Viewer
- The help viewer is a separate browser window in which user documentation (and other types of documentation?) can be navigated. The help viewer includes an index, an RDF-based table of contents, HTML content, a skinnable chrome, and context-sensitive loading.
- Java Integration
-
- Open JVM Integration
- The Open JVM Integration (OJI) project is extending the plug-in architecture to allow Java virtual machines to be plugged into Mozilla-based browser releases.
- Blackwood
- The goal of the Blackwood project is to provide a set of facilities to better integrate the Java platform with Mozilla. These include a bridge to XPCOM, a Java DOM API, the Open JVM Integration (OJI) facility, a Java WebClient API, and Plug-ins implemented in Java, called 'Pluglets'.
- JavaScript
- JavaScript is a Netscape-originated programming language designed for scripting object systems (HTML, Java, CORBA, your own) and embedding in a wide range of applications. It is the basis of the ECMA-262/ECMAScript specification (and subsequent ISO-16262 standard), and is the most widely-used client-side programming language on the Web by a large margin. Both C and Java implementations are available.
- Mail/News
- The Mail/News project is focused on developing a new application based on new mozilla technologies such as XPFE, XPCOM and RDF. We're bringing over most of our features for POP, SMTP, IMAP, NNTP, as well as making some key improvements.
- MathML
- An implementation of the W3C's Mathematical Markup Language.
- Netscape Portable Runtime (NSPR)
- NSPR provides platform independence for non-GUI operating system facilities, including threads, thread synchronization, normal file and network I/O, interval timing and calendar time, basic memory management (malloc and free) and shared library linking.
- Platform for Privacy Preferences (P3P)
- An implementation of the W3C P3P specification.
- Plug-ins
- The implementation of Netscape's Plug-in Application Programming Interface (API) within Mozilla.
- Embedding
- The Embedding project is focused on allowing easy reuse of the Mozilla browser components and providing an SDK for an embeddable browser and HTML editor.
- Scalable Vector Graphics (SVG)
- An implementation of the W3C's Scalable Vector Graphics Language.
- Web Services
- Simple Object Access Protocol (SOAP) and Web Services Description Language (WSDL) support in Mozilla.
- XBL
- The XML Binding Language is used to implement parts of XUL and HTML, and could be used from Web pages to create custom widgets.
- XForms
- Goal to produce an implementation of the W3C's XForms 1.0 recommendation.
- XML Extras
- In XML Extras module we have implemented XML functionality that is not part of the mainline XML infrastructure, like the XMLHttpRequest object copied from Microsoft.
- XML-RPC
- XML-RPC module implements the XML-RPC specification as a JavaScript component.
- Xprint
- Very advanced print module for Unix/Linux which supports automatic printer and printer feature lookup, TrueType font support, support for international printing (including languages and scripts like Arabic, Chinese, Cyrillic, Greek, Hebrew, Indic (Devanagari, Tamil, etc.), Japanese, Korean, Polish, etc.) and MathML.
- XSL Transformations (XSLT)
- The TransforMiiX module implements both a XSLT component for Mozilla, and a standalone commandline tool.
- Search
- The internet search component provides support for aggregating search results (via RDF) from one or multiple search engines and is used by the sidebar's "Search" panel.
- SQL Support
- The SQL support allows to query and update relational databases directly from JavaScript and also integrates well with the Mozilla UI.
- Browser Infrastructure
-
- Netlib (Necko)
- The main function of the netlib kernel (AKA Necko) is to act as an efficient data pipe between multiple physical transports (ie. file system, network, etc.) and a standardized stream abstraction which protocol handlers consume. The three main design goals in the netlib kernel architecture are footprint, maintainability and performance.
- New Layout (Gecko)
- The goal of the New Layout project is to create a fast, small, standards-based layout engine designed for performance and portability.
- RDF
- RDF, or Resource Description Framework, is a W3C standard for representing meta-information. In Mozilla, we're using this to aggregate and display information about all kinds of Internet resources, including email, UseNet news, site maps, bookmarks, and browser history.
- XPCOM
- Our Cross-Platform scheme for turning objects into discrete components.
- XUL
- XML User Interface Language, basis of Mozilla's cross-platform user interface and XUL Runtime Engine (XRE)
- XPConnect
- XPConnect is the binding between XPCOM and JavaScript.
- PyXPCOM
- Python Cross-Platform COM (PyXPCOM) is ActiveState's bindings between Python and XPCOM.
- XPToolkit
- The XPToolkit design documents live here. This cross-platform UI abstraction provides web browsing and scripting UI and application logic for the New Layout engine.
- XPInstall
- XPInstall is a technology for doing cross-platform installations, packaging, and software updates.
- XPNet
- XPNet is a cross-platform, lightweight download library used by the native installers. It has support for HTTP/1.1, FTP, pause/resume/cancel and HTTP proxies.
- Footprint
- Information on work that's underway to reduce Mozilla's runtime footprint, both as a full-fledged browser suite and as an embeddable layout engine.
- Internationalization And Localization
-
- Internationalization (I18N)
- The Internationalization group is responsible for making it possible for Mozilla to deal with various writing systems. This page describes the current activities in this area.
- Localization (L10N)
- Many different people and groups are planning to localize the Mozilla user interface into their own languages. This page describes how to localize Mozilla Browser and Mail/News client.
- BiDi
- A project to enable bi-directional text. This feature will enable Mozilla to render Arabic, Persian and Hebrew.
- Security Projects
- Mozilla includes several security-related projects:
- Open Source PKI Projects
- Thanks to relaxed US export regulations, mozilla.org can now host
security and cryptographic code. Open source PKI projects include:
- Network Security Services (NSS)
- NSS supports cross-platform development of security-enabled server applications. Applications built with NSS can support PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, TLS, SSL v2 and v3, X.509 v3 certificates, and other security standards.
- Network Security Services for Java (JSS)
- A Java interface to NSS that supports most of the security standards and encryption technologies supported by NSS. JSS also provides a pure Java interface for ASN.1 types and BER/DER encoding.
- Personal Security Manager (PSM)
- PSM supports cross-platform development of security-enabled client applications. PSM includes libraries (built on top of NSS) and a daemon that performs cryptographic operations on behalf of a client application--operations such as setting up an SSL connection, object signing and signature verification, certificate management, and other common PKI functions.
- PKCS #11 Conformance Testing
- Test suites designed to test PKCS #11 implementations.
- Component Security
- Component security supports the addition of Java and JavaScript security to Mozilla components, mainly in terms of mobile code and the browser interfaces available to programs from those languages. For cryptographic security projects, see Open Source PKI Projects.
- Other Browser Projects
-
- Mozilla Firefox
- Mozilla Firefox is a redesign of the Mozilla Navigator component. The goal is to produce a cross-platform stand-alone browser application.
- Access Mozilla
- This is the official accessibility page. The goal of Access Mozilla is to provide accessibility solutions (text-to-speech, magnification, high/low contrast themes, speech-input, onscreen keyboard, braille display support, etc.). This would create the first truly seamless accessibility solution for the internet. The solutions can be via 3rd party tools, extensions or built right in.
- ColorSync
- The ColorSync project, sponsored by Apple Computer, attempts to manage color displayed from source html to destination browsers, compensating for various viewing conditions. It allows for pages to viewed as intended with the correct colors.
- Performance
- The Performance project is an umbrella for many small features and enhancements that are intended to make Mozilla the fastest browser around.
- Unix
- Unix Front End. GTK 1.1, Linux/glibc2 is the reference developer platform. Support for other OS's and toolkits also exists.
- Ports
- Many different groups are planning ports of Mozilla to new platforms and toolkits. The Ports page list all of the known, active porting projects.
- SilentDownload
- SilentDownload is a background transfer method that allows files to be downloaded to the users machine without interfering with their network performance. SilentDownload does this by only downloading while the network library is not busy. In this way, users can "silently download" large files over a period of time and be notified when the file transfer is complete.
- Minimo
- Minimo is a project that focuses on code-size and footprint reduction, as well as porting the Mozilla code to small consumer devices such as PDAs.
- Non-Browser Projects
-
- Mozilla Thunderbird
- Mozilla's Thunderbird mail client is a redesign of the Mozilla Mail component. The goal is to produce a cross-platform stand-alone mail application using XUL (XML User Interface Language).
- Calendar/Sunbird
- The Calendar project is a standards-based calendar client effort. The Sunbird project aims to produce a standalone client based on Mozilla Calendar.
- Penelope
- The Penelope project is an effort to build the Eudora e-mail client on top of Thunderbird and the Mozilla platform, while maintaining the Eudora user experience.
- Tamarin
- The Tamarin project seeks to deliver a high-performance, open source implementation of the ECMAScript 4th edition (ES4) language specification.
- CCK
- Client Customization Kit provides tools that simplify customization and distribution of the client.
- Directory (LDAP)
- The Directory pages include Java class library source, C SDK library source, and PerLDAP source. Each of these libraries provides access to Directory Services via LDAP (Lightweight Directory Access Protocol). This project covers only the LDAP library, and not LDAP access from the mailnews project.
- Mozilla Documentation Project
- The Mozilla Documentation Project is the central clearinghouse for documentation-related issues at Mozilla.org.
- Rhino
- Rhino is the Java implementation of JavaScript that conforms to the ECMA standard and is written entirely in Java.
- Marketing Project
- The marketing project is an umbrella project for a number of projects that help market the technologies and products developed by the Mozilla project. There are lots of opportunities for anyone to get involved.
- Technology Evangelism
- Mozilla Technology Evangelism actively promotes Mozilla as the premier Internet client technology in the world. It accomplishes its mission through working within the mozilla.org community to develop working examples, author documentation, perform general education, and educate Web site authors through one-on-one contacts.
- JavaScript Debugging
- The JavaScript Debugging project includes a cross platform debugging support module for the Netscape JavaScript engine, a Java-based GUI debugger for JavaScript, a JavaScript logging tool, and a console debugger. Work is beginning on a new debugger, written in JavaScript, for the XPFE/NGLayout Mozilla.
- DOM Inspector
- DOM Inspector is a tool that allows you to debug, and edit HTML, XML, and XUL documents.
- Grendel
- In 1997, Netscape embarked on a project to rewrite Navigator/Communicator in Java. This project was cancelled before completion, but the mail/news component of it was nearly finished. Grendel is that mail/news client. Recently, work has been restarted on Grendel.
- Tools
- Besides the browser, we've also released our home-grown development tools. Bonsai is for keeping track of the CVS repository, letting you view checkins, log messages and diffs. Tinderbox monitors the progress of our automated continuous-build machines, letting engineers know when a checkin breaks the build. Bugzilla is our online bug database. Its web interface allows entry of bugs, queries, reports and dependency graphs.
- Mozbot
- In addition to our web-based development tools, we have also developed mozbot, a modular IRC bot.
- Browser Distributions
- Browsers based on the Gecko layout engine.
- Other
- This page lists links to other Mozilla-related projects of which we are aware, but which are not currently a part of Mozilla itself.