[Dave:] I'm here with Dave Herman who works at Mozilla and directs research here.
Tell us how you go involved in Mozilla and open-source projects.
[David Herman:] I was actually a graduate at the time that I first got involved.
I was interested in JavaScript, and I was doing research in programming languages.
I was spending some time learning about JavaScript, and I wrote web pages about.
Out of the blue, Brendan Ike, the CTO at Mozilla and inventor of JavaScript,
found the web pages that I had written and sent me an email and said
that he was interested in talking to me about some of the things that I
had learned and was doing.
That experience alone was incredibly eye-opening to me.
It showed me that the assumptions that I had had about the boundaries
between research and industry, the boundaries between academia and industry.
The boundaries between just a person on the internet and the movers and shakers in industry
were a lot more porous than I realized, and it showed that the web is this place
that brings people together who might otherwise not have had any way of getting to know each other.
That was very exciting, and I started talking with Brendan and talking with Mozilla
and got involved with the ECMAScript Standards committee,
which is the standards committee that standardizes the JavaScript programming language.
I was doing that while I was in grad school, and when I finished grad school
I came to Mozilla full time.
[Dave:] A lot of the students in our class have only been programming for about 7 weeks.
Can they still get involved in opensource projects or do they need a lot more experience than that?
[Dave Herman:] There are all sorts of ways of getting involved in open source projects.
You don't have to be a computer science wizard to contribute.
One of our largest sources of community volunteer work is localization,
which is basically translation.
Firfox is developed in English and our official release is in English,
but we actually have close to 100 localized versions of Firefox in countries all over the world.
We have volunteers in communities that could be as large as many countries
or could be as small as a small community in one country
where anybody can simply provide translations of the menu items
and the windows and dialogue boxes--all of the stuff where we have to present
something to the user we do in English, and then you can translate it.
Now you can have contributed to your native languages version of Firefox.
Another project that we started is a project called universal subtitles
where you can take YouTube videos that were recorded in one language,
and you can provide translation and the software will automatically create subtitles
based on the translation that you provided.
There are all sorts of ways that people contribute to Mozilla software
and to opensource software in general, and it doesn't always have to be technical.
It can be code, and sometimes we end up hiring people who started out contributing code
and ended up working on some of the most advanced parts of our projects.
But it also can be as simple as editing documentation or providing translations.
[Dave:] We have a real wide range of different types of people in our class.
Can you tell us is it possible for anyone to get involved in opensource software?
[Asa Dotzler:] One of the things that really appeals to me about opensource software
is the opportunity for a whole variety of people with backgrounds and different experiences
and different interests to get involved with the project.
A good example of this is if you look back to the Mozilla Project in 2002 and 2003,
we were sort of struggling along with this next general Netscape communicator browser suite.
And one day a young 15-year-old high school student showed up in one of our IRC channels
where we all get together as engineers and testers and the people
working all across the project and talk about the work we're doing,
and he came in and said, "I don't like the way this particular button behaves in Mozilla."
"Can someone fix that?"
I reached out to him, and I said, "That button is actually powered by some simple JavaScript."
"You could look at the source code and maybe you could fix it yourself."
He said, "Well, I've put together a couple of web pages. I know some simple JavaScript."
And before you know it he was a dedicated member of the team.
Only a few short months later, he was one of the founding members
of the new Firefox project that would go on to reach 500 million users today.
This is a 15-year-old high school student with no background in computer sciences.
He got involved. He had mentors who helped him learn the pieces he didn't know.
He went and read books, and before you knew it
he was building one of the world's most successful software products.
We also have a number of students who come here, either for weekend work
as something to compliment their education.
We have people who are in the industry and have been developing software
for as far back as the Fortran and COBOL days
who are looking for something that's fresh and exciting and want to renew their skillset
and see participating in opensource software as a way
to work with some of the younger people on some of the newer technologies
and to refresh and get revitalized with their computer software skillset and interests.
We have people who are part-time Mozilla contributors working on it
because they're interested in a particular feature set.
We have retirees and people who have part-time jobs trying to fill the rest of their day
and who happen to know something about what we're doing somewhere on the Mozilla project.
Sometimes that's writing client software code in C++,
but other times that's manning our volunteer support desk and helping Firefox users
fix problems with their browsing experience.
So opensource really does, and many opensource projects really do, have
multiple points where one can attach themselves to that project and find support and mentorship.
Some of the places you attach yourself can be very simple.
We'll often put some of our most valuable programming resources
on very challenging projects and leave some of the easier or simpler features
or smaller bug fixing unowned, as it were, by a full-time staff member
with the idea that that staff member can instead mentor a volunteer or a student or a retiree
to go finish off that piece of the work.
This is a great learning experience and an opportunity to develop a set of skills
that you can advance and go and become more deeply with the project over time.
Ultimately, this young 15-year-old, Blake Ross who helped launch the Firefox project
moved from fixing a couple of style issues using some JavaScript and CSS on toolbar buttons
to being the authority on a bunch of the C++ code that made up Firefox.
That was probably in a short time period, maybe less than 2 years
that he was able to make that progression almost exclusively through
opensource mentoring relationships on the Mozilla project.