Uploaded by Google on 24.07.2007


FEMALE SPEAKER: It is my pleasure to introduce to you
our two speakers for the day, Wilco Jansen and Louis Landry.
Both of these gentlemen are with the Joomla! project,
which is an open source content management system.
They're joining us today to tell us a little
bit about the Joomla!
Project and the Joomla! project's participation in the
Google Summer of Code Program.
So, please join me in welcoming both of them.

WILCO JANSEN: I hope the sound is working.
Yes, it's working already.

We're actually going to talk about the Joomla!
Project and we did in Summer of Code.
I will hand this over to Louis because this won't work.
You can flip it.
Thank you.
We called it "Life at the Joomla!
Bazaar." We're open source.
And we're working hard on being one of the best open
source project management systems in the world.
We're going to look back, we're going to look forward,
and we want to tell something about what we did
in Summer of Code.
And this is us.
And Louis is a lead developer.
In fact, he will be lead developer soon.
He isn't yet entitled lead developer.
He's one of the developers of our new Joomla!
Me, Joomla! core team member.
I will explain something about our organization--
what we do there.

Louis is coming from the United States.
And he will take over now.
Wilco is one of my recruits to come in and
help with the project.
I met him on the forums. It was one of those random open
source things.
And within a matter of days, I knew that I wanted him to join
the project.
I asked him to join along with a couple of the other core
team members.
And now, he is actually coordinating our development.
He's the open source equivalent of a project
manager and developer, and just overall, a good guy.

As he said, we're going to look at where we came from.
Because we're a relatively new project--
well, it's an old project in a new skin.

Where we've come in the brief period of time that we've been
around, and what our plans are for the future.
How the Joomla!
and the Cathedral--
it's an interesting mix.
We try to find the balance between the purest open source
world and being able to choose the right tool for the right
job, and embrace the commercial aspects
of things as well.
And then, of course, the most important part
of the talk, I guess--
the Google Summer of Code's impact on our project and how
we've used it as a tool.

We came from a project called Mambo.
Or Mambo, depending on which part of the world you're from.
This was a content management system that was released I
think back around 2000, 2001.
A commercial company in Australia released it.
And it was released on SourceForge.
And a few guys picked it up and started working on it.
And it quickly became popular, mostly
due to its user interface.
It was one of the first ones that was just easy for
everybody to use.
People could pick it up and play with it.
LOUIS LANDRY: One of the most common questions I get is,
what happened?
Because about a year ago, everybody that was Mambo at
the time split and left.
And it was one of the more interesting forks, if you
will, in the open source world.
Because it was completely unanimous
and completely silent.
Like, there was no bashing coming from
the developer's end.
There was an open letter to the community, and everybody
just moved.
We like to call it a spoon instead of a fork, because
actually, everybody now at Mambo is new.
And everybody now at Joomla! is what was Mambo.

It's been an interesting ride.
But this is one of the important things
about where we are.
We started a project from scratch.
We had no infrastructure.
All we had was a code base.
And, of course, that's very important.
But we had to rebuild the community around it and
rebuild all of the sites and infrastructure and everything
that it takes to keep an open source project running.
And it's been really hard.
And I think because of the level of excess we seem to
have achieved, that seems to get lost in how far we've come
in the brief period of time that we've come.
Here's a quick time line.
Joomla! was born September 1, 2005.
We released the first version, which was rebranded and bug
fixed, which was Joomla!
Which is very similar to the Mambo roots.
We opened up our forge--
our developer forge--
very soon thereafter.
It actually, as it stands now, is the largest installation of
SourceForge enterprise on the planet.
VA Software donated it to us and has been
hosting it ever since.
And this has been one of our greatest successes.
Because all of the developers that build on top of Joomla!
register accounts there, and they have the full power of
the forge, and the source repository, and the Wiki, and
the trackers, and all those sorts of things.

The developer network is something that we did a
little later on.
There was always this sort of stigma that Joomla!
developers didn't really talk to the outside world so much.
We were always sort of looked at as a--
not closed.
but because it's such a tight knit group, there was not as
much outward communication for such a community that we have,
because it's very user-oriented.
And so, we created the developer network, which is
just a site within our family that has blogs on it that we
communicate with them, and houses a lot of our developer
documentation, and things like that.
And that turned out to be a great success, followed by our
greatest success, our extensions site.
Joomla! is a pluggable system.
You can upload zip packages that it automatically
installs for you.
And Joomla! is very much like the operating system of a
content management system.
And then, the packages that you install are like the
And most of the applications that exist are third party.
We don't write them.
And so, what we found was that most of our user base had
trouble navigating the forge, looking for packages and
things like that.
So we built this extension site, which actually gets more
traffic than any of our other sites at this point.
It's one of our greatest success stories.
And it was actually built by one of our third party

Let's see.
Much further on.
This is the rewrite that really is what Joomla! is.
1.5 is a complete rewrite of the existing code base.
It's an object-oriented framework.
It's lots and lots of fun to play with.
And it is the direction that we're going in.
It's been evaluated usability-wise.
We make lots of decisions based upon user feedback.
Because most of our community is user.
Anyway, it is the future.
And it's a wonderful milestone to have a complete rewrite of
the software in that brief period of time.
Our official user manual was released not long ago.
And then, Joomla!
1.0.12, which is what we're hoping to be the final release
of the 1.0 series.

The beta was released on the 12th.
And actually, if everything goes as planned, the final
will be released tomorrow.
So that's the brief history of it.
This is actually part of the success story.
When we first started, this is what a
Google search for Joomla!
looked like.
There was basically nothing.

And where are we now and where are we going?
We have 75,000 registered users on our forum.
55,000 registered developers on our forge.
Obviously, these numbers are self-explanatory.
We've blown up huge in the period of time
that we've been around.
The traffic that we get is ridiculous.
I still marvel at the fact that we--
different people have different ideas about how
important Alexa is.
But for us to be that high in this brief period of time is
just stunning to me.

As with what I've noticed to be a lot of open source
projects, the concentration is in Europe.
We've got obviously a lot of US and other areas.
But this is the analytics for the entire family of Joomla!
web sites.
And that is actually stunning, how popular we are in Europe.
Which is why all of our events in Europe seem to attract so
many people.
I'm continually amazed.
A lot of our developers are there.
And an enormous number of our users are there as well.
This is a few days ago.
And as you can see, there's an awful lot
of hits now on Joomla!
So in a period of about a year, we've gone from nothing
to just enormous amount of popularity.
The Google [? trims ?] graph is actually also a really fun
thing to look at.
But this amazes me.

I can't believe I'm even part of a project that was able to
do that in that period of time.

And then, musings in the future.
WILCO JANSEN: Who knows?
LOUIS LANDRY: But I'm, like I said, continually amazed at
how popular we've become this quickly.
Who's gotten there?
So, future.
Last release of 1.0 is very soon.
Tomorrow, hopefully.
The 1.5 release is the completely new framework.
One of the things that we've tried very hard to do is
provide backwards compatibility, so that all
these third party developers won't have to rewrite
Because everything has changed in the new versions.
So that's been something very important to us.
The future release is something that I will be
working on immensely.
This is sort of the dream, if you will.
It's had many names over the years, even back
in the Mambo years.
Version 2.0 will be, basically, throwing all of the
toys and gadgets that we've worked on and wanted to work
on for so long, but couldn't because of backwards
compatibility reasons.
And more on that when we talk about the Summer of Code
Summer of Code was something that we definitely used to do
research and development.
This is actually one of my pet projects as well.
We partnered up with the Eclipse Project, or a
committer on the Eclipse Project, and a few other
friends that I've met at different events.
And we are creating a Joomla!
IDE J!Code.
And it will be--
the first preview build was built a week or so ago.
And it will be a fully branded and personalized Joomla!
You'll be able to deploy Joomla!
There'll be wizards for creating Joomla!
components and things like that.
It's really exciting.
Because I don't know of any other projects, at least in
our area of the world, that have something like this.
And one of the things that we're trying so desperately to
do is attract developers and show that we are a serious
project for developers as well.
Because our user base is just so overwhelmingly end user
that we tend to not get the attention from the development
community that I personally think we should.

A quick look at our structure.
One of the things I learned at the Summer of Code Summit was
that all of these projects tend to have very different
Ours is equally different.
We started out with a core team, which sits on the top.
Right now, I think we have 22, 23--
something like that guy's.
And it's a flat structure.
There are project leads.
We have three interim ones at the moment.
But other than that, it's a completely flat structure.
And most of them are not developers, actually.
Most of them are--
we have coordinators over the different working groups.
And these would be the working groups--
translation, quality and testing,
development, and all of these.
And what we've done is basically created a three
chair system.
The core team is the coordinators and the people
that make the overarching decisions and things like
that, and provide or actually enforce the direction.
The working groups are where most everything happens.
We've just, with the new version, done
internationalization for static translations for the
different text streams within an application.
And the translation working group is a group of people--
I don't know how many languages we have now.
But I think it's upwards of--
LOUIS LANDRY: 70, yeah--
different translations of the Joomla! application.
And they have all sub-teams. But the translation working
group is made up of the leaders of each individual
translation group.
The quality and testing group is something
that's pretty new.
Well, it's not necessarily new.
But it's new that they're very active.
We've changed the way that we structure the project.

During the development phase, everything is run by the
development working group, which is a group
of 15 now, I think.
And he would be the coordinator.
But as soon as we reach an RC status, we pass everything off
to the quality and testing group.
And then, they drive development.
AUDIENCE: Question to translations.
Do you have any slide [UNINTELLIGIBLE] extension?
Do you have [UNINTELLIGIBLE] those as well?
[? system? ?]
LOUIS LANDRY: The transition working groups--
at that moment, basically, all it is is the core.
But we provide API abilities for--
and you can install language packs.
So, any third party developer can use the same system that
everything else uses and create the translations.
And it's a relatively new thing.
Because the translation in its full form only happened in the
1.5 version, which is in beta right now.
So my guess is as that progresses, a lot of these
translation working groups will likely be picking up on
the more popular extensions and doing that
sort of thing as well.
And we've allowed for you to install a core language pack
or an extension language pack.
So, it gives you the ability to do that.
So, at any rate, when we reach the RC status, the quality and
testing drives the release.
And they drive everything.
So at that point, the developers are basically
sitting in the backseat.
And the testers are checking for bugs, and filing reports,
and assigning bugs to developers.
And then, we attack them as we have time.
And when everything's settled and they sign off on it, then
it gets released.
Sites and infrastructure.
This is probably outside of, I guess, of development, the
most important working group that we have. Because--
WILCO JANSEN: It's the biggest one.
LOUIS LANDRY: It's the biggest one by far.
These guys run the show.
And these guys run the forums, all the websites, and make
sure that we are available to the outside world.
So it's nice having the separation, so that developers
can worry about developing and these guys can worry about
making sure that everything's OK within those
communication lines.
Documentation group-- self-explanatory.

Design and accessibility is a relatively new thing too.
They worry about the website designs, and such for all of
our websites.
They also focus on accessibility and usability
for the application itself.
So these guys tend to be more experts in the realm of web
standards and making sure that we are as usable and
functional as we can be for the largest
audience that we can reach.
And then, marketing and media, which is--
I've heard many open source people say, well, you really
shouldn't have marketing and media because
that sounds very corporate.
It's not that evil.
It's nice for us to have a cohesive voice.
And those guys-- it's a very small group-- help that.
And they also help plan events and things like that.
And then, underneath the community--
and it's an open thing.
The flux between the community and the working groups is
pretty good.
And we welcome any help, obviously.
We're open source.
The structure's relatively new.
But it's working out amazingly well.
Covered a lot of this.
We don't have a very, very strict hierarchy.
It's a very flat organization at the top.
And then, the working groups underneath is a very flat
And then, the community.
So it's very much like a meritocracy, if what you do is
what defines how important you are.
We have three different project leads.
Because our old project lead stepped down.
He was burnt out, I'm sure.
And they are making a lot of the decisions from a
structural standpoint.
But again, it's very flat.
So it's not as if there's a real solid hierarchy.
We have a nonprofit foundation, Open Source
Matters, which was one of the first things that was done
after the split to protect the assets of the project and make
sure that everything stays open and free.
Obviously, based on volunteers, most work is done
in the free time.
Actually, the company that hosts all of our sites pays
one of our site and infrastructure guys to just
maintain the sites.
Which is a really nice gesture.
So it's donated.
And at the same time, he's being paid, so that that's all
that he does.
Not for profits.
Gift economy.
This is actually a really important part of it.
We all have basically the same end goals.
And one of the things that I've learned is culturally,
we're all very different, because we're spread out all
over the place.
But we all basically have the same goals.
And we tend to help each other without even
really realizing it.
And I really love that aspect of it.
The motivation is really high, because much like the
difference between taking an art class or math class in
school-- if you take art, it's because you want to take it,
not because you have to.
And the same is true of open source and
the meritocracy aspect.
The status is based on what you do and not who you are.

And for this, I will let the develop coordinator explain.
WILCO JANSEN: As Louis explained, we are moving to a
more structural and organized way of doing things.
We're putting in a working group structure.
We're in the transition to putting things in place.
And one of things we did with the development strategy--
Louis explained something about quality and testing--
is put a decent development strategy in place.
We have written on documents.
You can download them from our site, which actually describes
our development strategy.
And it holds these topics in more detail.
We do have a code of [UNINTELLIGIBLE].
Actually, we took it from the [UNINTELLIGIBLE]
project because we liked it.
And that's the way we want to do and we want
to act in the project.
It's very important, when people who are not familiar
with open source, just understand how you work in
open source.
It's different when you're in a business environment doing
things and doing things in open source.
Team membership.
Like Louis explained, in the Mambo times, we had a core
team doing all this stuff.
And it was a relatively small group.
LOUIS LANDRY: About 8 people.
WILCO JANSEN: Yeah, a small group.
And we said, OK, we want to open up the project because
it's growing very fast. And you need to have some kind of
mechanism to add people who want to
help out in your project.

One of the most important things is, how do you handle
conflict resolution?
You will have some conflicts to solve.
And in the company, you just can say, just
shut up or go away.
And in open source, it's slightly different.
Also, resignation.
People can be inactive for over a year and then return.
So what's resignation?
It's when people won't step in and there's just no room to
handle the project because we're doing
this in spare time.
I can't handle 100 developers in my spare time.
It's just impossible.
15 people I can do.
But 50 people is already a problem.
So you need to have some kind of mechanism to keep the
project going and to keep the active members be there.
So, resignation--
yeah, that's something that happens.
Not often, because most of the developers are very active.
But it happens.
We are thinking about the development life cycle and
code base life cycle.
We have a very simple version strategy--
major, minor.
I mention some of these.
On the major and minor [UNINTELLIGIBLE], a
development writing group is in the
lead, as Louis explains.
And [UNINTELLIGIBLE] releases, quality and testing determines
what needs to be done.
That's a structure we put in place I think
three months ago.
And we really like it because the quality of the product is
just improving.

And last bullet, communications and tools, we
have a development working group with 12 different people
coming from 12 different countries and
different time zones.
And that's a challenge, because not everyone speaks
the language very well.
And we're an English-based community.
And there are cultural differences.
Oh, yes, there are cultural differences.
WILCO JANSEN: Sometimes you say something, and you're
completely misunderstood.
And then, the conflict resolution
comes in place sometimes.
But it's something you need to be aware of doing of things.
And very important, because on rare occasions we meet--
I've met Louis for two times now.
Two times at Googleplex, by the way.

Communicating with each other--
not seeing each other is a challenge.
Yeah, we have several tools.
We use IRC for chatting.
We have Skype to do live video chats.
Of course, we use a lot of the Google tools, just to have
mailing lists, et cetera.
And it's a basic set of tools everyone needs to know and
needs to use.

What did Summer of Code mean for us?
Actually, I came into the project when
Summer of Code started.
Louis asked me to be a mentor.
And I ended up to do the program management of all the
projects we did.

What does it mean for Joomla!?
Basically, this year's Summer of Code
was a research project.
We wanted to research new technologies.
We wanted to incorporate in our 2.0 framework.
We have an overview of the project we did and the
technology we have been researching.
And yeah, we did talent search.
I will tell more about that-- what actually
was a result of that.
The Google Summits in October, it was.
It was in October--
in November.
It was a great experience to interact with other people of
open source projects.
When you're in your project, you talk to
other open source projects.
But there were about 90 other open source projects.
And just interacting with those-- how
do you handle things?
How do you manage growth?
Because we are a pretty new project.
How do you do those things?
It was really great to be there.
The last bullet.
Some of the structural changes Louis explained were tested in
Summer of Code.
We didn't tell anyone about this.
But really, we did test some things.
Does it actually work in an open source environment to put
some structural changes in place?

And we did a questionnaire to all the people involved--
the mentors and the students.
Why do you even want to be involved in open source?
But in this case, why do you want to be involved in open
source and Google Summer of Code?
This is nice.
People just wanted to be part of the project, and add new
functionality, and say, hey, I have an idea.
I want to build it for you.
LOUIS LANDRY: By the way, these came from anonymous
questionnaires given to the students that participated.
And these were the top answers that we got.

For students, it's the first step in a professional career.
At college, they study how you can program.
In Summer of Code, they actually do it and are guided
by people who have a lot of experience in
the business area.

For some students, this is really true-- to earn some
money in summer.
$4,500 is a lot of money.
And we understand that.
To learn real-life project work, one of the things that--
and other open source projects already mentioned it.
Students are the most brilliant people you can find
in your project, but they have never done project work.
They want to jump to coding and don't
do any kind of planning.
So basically, they learn how to do project work and
interact with other members of a team.
And that's very important.

And this may be flattering for us.
Being in contact with the core-team members.
We want to talk to everyone.
But actually, some of the students are here.
And we can interact on the things we want
to do in the project.
And that's really nice.
And the last one, it's fun.
Summer of Code is just fun to be there.
And interacting with people, doing nice things, meeting
interesting people--
it's just fun.
Basically, I think the whole Joomla! project is fun, or
else I wouldn't be standing here.
But, OK.

This is a project structure of the program structure we did.
Besides the six funded projects, we did two
non-funded projects.

That one I can handle very easily.
The non-sponsored project didn't even start.
So the money thing is helping out when
you want to do something.
Eight projects, by the way, is huge.
Doing eight projects in 12 weeks--
that's a lot of work.
LOUIS LANDRY: An awful lot of work.
WILCO JANSEN: It's a lot to manage.
We're glad we did six projects.
And I see the things we did.
One of the students, Lawrence, will tell something about the
XML-RPC implementation we did.
One of the other students will tell something about the HCL
thing we did.
We did a proof of concept to the Ajax with an Ajax
implementation in our framework.
Basically, these projects are scheduled to be implemented in
our 2.0 framework.
And we had all these projects delivered a working proof of
concept or a working beta.
project is now in final stages, or at least it's in
beta stage.
And it's a pretty awesome application,
doing very nice things.
Summer of Code.
Where did everyone come from?
My student was here in the US.
So time zone differences were a real challenge.
And because Louis and I did project management, and we did
have very little sleep in that period, because we wanted to
interact with everyone on a regular basis.
For instance, we asked everyone
to do a weekly report.
And we wanted to interact with them.
How's your project going?
Do you need help?
Basically, anything to get things moving.
And the red dots are the mentors, and the blue dots are
the students.
Yes, like in an open source project in Summer of Code, you
have to handle certain things, like time zone differences.
Also, cultural differences are there.

When you have a German mentor, it's different than
you have a US mentor.
Believe me, it is.

Knowledge and skills.
Sometimes, a student knows a way a lot more about the
subject than the mentor does.
And that's sometimes a challenge.
A student who thinks he knows better, and sometimes he
actually knows.
But guiding them through the project and really put some
results at the end--
that's a challenge too.
LOUIS LANDRY: There's different between knowing the
technology and--

MALE SPEAKER: One second, guys.
Anyway, there's a difference between knowing the technology
and knowing how to create a solution based on the
And one of the things that we found, that a couple of our
students knew the technology very well.
They knew what they wanted to do and they knew how to
programatically make that happen.
But there's a very big difference between being able
to write an application and being able to work through a
project and work with other people.
And I think that's one of the things that the Google Summer
of Code really helped to hammer home
with a bunch of students.
We helped out by doing some kind of planning.
And when students started, we asked them to write a project
proposal defining some milestones, define some kind
of planning.
Because the experience we have, students are so excited
that they're part of Summer of Code, they just want to do
And they forget they don't have 12
weeks to do that thing.
And that's a challenge to say, OK, just do 10% of what you
want to do, and then we're happy to let you finish it.

[UNINTELLIGIBLE] early and often, we had six branches
where students committed their codes on a daily basis.
So every day, you could check out the codes and see what the
student has been doing.
That's very important that you have those opportunities in
your [? tooling, ?] that you actually can see progression.
And if a student doesn't commit code for a week or two,
then you know we have a problem.

very important too.
Not only for the student himself and the mentor who's
guiding him, but for the complete
Summer of Code project.
It's important to say, what are we doing?
How are we doing things?
Which problems do we face?
And how do we solve them?
And the last one, if you talk openly, then a student can
say, hey, that project is going like hell.
I want to catch up.
I want to do an extra effort to keep up and present my work
in a nice, proper way.
And next year, we'll focus more on this.
Because actually, the weekly reports--
it's difficult for students to write them, to do 12 reports.
Because the only thing they want to do is code.
Code, code, code, code.
And that's OK.
But the weekly report is important too.
What are our results?
It's questionable that you can give 100% post-evaluation.
We gave our students this year the benefit of the doubt.
Next year, we'll be more strict.
And we'll be more organized upfront.
Just saying.
When do we give a post-evaluation?
We're talking to Google about how we can manage that in a
more [? divided ?]
perspective for other projects.
Because a lot of projects struggle with this this
problem also.
We're very proud.
We have three of the students joining the development
working group from the six.
It's a 50% score.
And they actually are very active for
students at the moment.
And we're very glad to have them around.
And eventually, one mentor also joined the development
working group.
And yeah, that's OK.
If students put out so much time into project doing Summer
of Code and they end up in the working groups, that's OK.
To give you an estimate, students put in some time.
There was one student who had put 400 hours in this project.
That's an amazing amount of hours.
That's more than he should have done.
But he did.
And the mentors did 50 to 90 hours.
And we agreed that needs to be more next year.
So we do a very strict selection on who is going to
mentor or not.
And yeah, project lead-- yeah, that's part of the job.
I don't know how many hours we spent.
A lot.
A lot.
Now you see the six projects and the end of term
evaluation we did.
Also, I've written a report about Summer of Code,
describing how we came to these results.

Let's do a blog about it.
I'll actually promise to do so.
But we will see.

What do we expect from Google?
I'm wrapping up this presentation, and then we have
room for questions.

Just do the thing you do and help us out to have more hits
on your site.
There's 30 million seeds we planted.
So that's actually our hits.
And we hope to have even more next year.
At least, I expect a zero behind that, 300 million hits.
No, just kidding.
We're very glad to have Google helping us out this way.
Also what you do for open source.
We really appreciate it.
And it's fun to be part of it.
Actually, yeah.
We hope you just increase the effort you make.
Just what I'm asking.
And we end up with a slight [UNINTELLIGIBLE]
What Joomla! actually is, actually--
one of our lead developers, Johan Janssen
blogged it on our site.
Joomla! is not about a project, but is being part of
a community where you actually can work together, share
knowledge, and do great stuff, and having fun.
And Leslie knows what fun is in the Joomla!Sphere because
she was over with us on the Joomla!
Day two weeks ago.
And she had fun.
I thought she was having fun.
And this was our presentation.
We can talk for hours and hours about our project.
We only were given an hour.
So we're pretty good in time.
Questions about our project?
LOUIS LANDRY: Or about anything in general?
WILCO JANSEN: About anything in general.

I have an announcement if there are no questions.
This evening in Seville from 5:00 to 6:00, we have our
Summer of Code students from this year.
And actually, one of the students is from last year.
They'll be presenting on their projects.
So, if you would like to join us in Seville at 5:00, there
will be free software followed by free [? yogurt. ?]
So come on down.
It'll be fun.
MALE SPEAKER: Thank you.