## How I got involved with Mozilla and try to bring new contributors

By fredw on Monday, August 27 2012, 14:25 - Permalink

As many people I learnt Web languages by myself. While I was a middle/high school student, I started to create my personal Web site and played a bit with HTML, CSS and Javascript. I wanted to write about mathematics but I realized quickly that HTML was too limited for all but the simplest mathematical notations. The Web has been invented at the CERN but, quite paradoxically, writing equations and viewing them in browsers were hard at that time! Even until now, most browsers lack this feature and researchers continue to use the Web as just an internet repository where they store their pdf papers. Of course, that was not a satisfying approach to me. I tried Amaya and was impressed by its MathML editor but was disappointed to see that the mathematical formulas were not displayed correctly in Internet Explorer unless one installs the MathPlayer plug-in.

Thus I used one of the ugly workaround possible and wrote my own PHP generator to display mathematical formulas as HTML+CSS. I continued with this dirty approach until someone on the forum of my Website mentioned a new browser that recently released under version 1.0: Firefox. As many people, I realized that my Web site was "optimized" for Internet Explorer and that the source code was not standard at all... It took some time to clean up the source code, validate the pages and make the Javascript programs work with Firefox. Note that MathML was only usable in XHTML and hence your page needed to be a well-formed XML document. After these changes, I started to use the standard MathML language for mathematics, which turned out to have actually been implemented in Gecko since 1999! I contributed to Amaya to improve its mathematical editor and later naturally got involved in Mozilla with simple bugs like validating Web pages containing MathML formulas or small changes to mathml.css and svg.css.

When I joined the project in the year 2007, the Mozilla MathML project was at a turning point. Gecko's MathML layout engine had been almost entirely written and maintained by one volunteer contributor, Roger B. Sidje, but he was about to leave the project. MathML had been severely broken and recently restored by Mozilla's employee Karl Tomlinson. At that time, I did not really know anything about what was going on and just wanted to help. My first serious contribution was the implementation of the <menclose> element. I faced the usual difficulties of newcomers to submit a patch and get it accepted but I am grateful to Karl for his help and patience. After several months, I was finally prude to see the feature I implemented integrated into Firefox...

On August 2009, discussions occurring on moodle were reported to the Mozilla MathML mailing list. Someone was promoting yet another workaround for the lack of MathML support in browsers (using SVG to render formulas) and was arguing that the Mozilla MathML project was stailed. This gave me even more will to contribute to the Mozilla MathML project and I have led the project since then. However, to ensure the continuation of the Mozilla MathML project, it soon became clear that the help of new volunteers was necessary. Indeed, among the people who have contributed to project, only Karl Tomlinson, Bill Giannopoulos, Florian Scholz and I are still involved. Last year only one student, Jonathan Hage, brought a relevant contribution but did not continue after the summer. Some months ago, I also helped my brother to fix some bugs but he currently no longer has time to work on the project...

This summer, many people contacted me to work on MathML bugs. I see several
reasons to explain that: the introduction of "mentored bug", the MathML project
ideas for the Google Summer of Code and the fact that we finally set up a
`#mathml`

channel. I would like to mention in this blog post those
who submitted patches and thank them for their hard work. I hope they will
continue to be involved in the project and that new contributors will join
us!

- Andrii Zui was selected as a GSOC student to work on dynamic MathML (javascript, <maction>). He fixed several bugs but was unfortunately not able to continue after the mid-term evaluation.
- Mohit Sinha has worked on improvements to the mtable@align attribute and has continued a bit Andrii's work on maction@toolpip.
- Quentin Headen has been working on refactoring the <mtable> implementation. This was initially a GSOC idea and the bug blocks many issues related to the current bad implementation.
- Rami Khader has translated the MathML start page in Arabic. In addition to providing a nice demo of the MathML RTL support, this allowed to discover bug 757125 (fixed in Gecko 15).
- Xuan Hu has translated the MathML start page in Chinese and is currently working on the <mpadded> element.
- Raymond Wells has been working on sending MathML parsing errors to the developer console.

As a conclusion, I am glad to see the progresses that have been made since I
joined the project. With the inclusion of MathML in HTML5 and the development
of the MathJax library, it is now
extremely easy to write mathematics on your Web page (e.g. using LaTeX or
AsciiMath notations) and serve it as MathML or via other workarounds for
browsers that do not support this language (HTML+CSS and SVG). MathJax
no longer uses Firefox's MathML support by default but I think it is a good
motivation to improve this support so that it will be used again. Wikipedia is
switching to MathJax and one can finally choose to display the formulas in
MathML instead of raster images (this requires a Wikipedia account at the
moment). Tools like LaTeXML allow
to convert an entire LaTeX document into HTML+CSS+MathML which I hope will
enable researcher to *really* use the Web. Mozilla is still alone to
have a decent native implementation of MathML, but things are starting to
change in Webkit. I expect the next releases of Firefox and MathJax to finally
fix the Font
support
issue. Finally, as other Mozillians explained, it is now much easier to
attract and welcome new volunteers, even in projects like MathML with less
visibility than the main Mozilla projects. I am still wondering whether they
will become long-term contributors but the future of the Mozilla MathML project
looks more promising than five years ago...

## Comments

This post is a response to http://davidwboswell.wordpress.com/2011/10/11/how-i-got-involved-with-mozilla-and-why-that-wouldnt-work-today/