Joomla Open Source Web Content Management System (CMS)It's been a long, difficult journey for the Joomla! (news, site) web content management community. Born from a project fork of the Mambo CMS, and with strong early ambitions, Joomla! has struggled at times with its place in the open source landscape, and with the ideas of what is best for both the project and the community.

Between license issues and striving toward a more open, welcoming process, the Joomla! community has had their work cut out for them. Along the way they've made mistakes, but they've also made a popular and powerful open source content management system that promises to only get better in the years to come.

We spent some time talking with various community members and piecing together the project history and current status. Here's the state of the project as we see it.
 

The Journey Begins

On August 17, 2005, events propelled a group of developers to fork away from the Mambo CMS project (news, site). From there, the Open Source Matters (OSM) organization was created, with the intent of forming a new project that the proponents felt aligned more closely with their idea of open source tenets.

This project became Joomla! on September 1, 2005. Its name comes from the Swahili "jumla," a word meaning "all together" or "as a whole," and the term also happens to describe the Joomla! community's own rocky but determined story.

Joomla! Project's Original Goals

The original intent was to use the GNU Public License (GPL) for Joomla! However, there was an entire ecosystem of proprietary extensions around the open source CMS, with many people making their entire living from these extensions.

In 2005, the core team had a member of the OSM board write up a rider, granting an exception for these extension developers to use any license they wanted.

This rider was added in May 2006, but that wasn't the end of the issue. Over the next year, the core team began to worry that exceptions were not in fact legal within some interpretations of the GPL and may put the project in jeopardy. On June 14, 2007, the official announcement "Open Source Does Matter" appeared, re-committing Joomla! to full GPL compliance and promising that the road would not be littered with lawsuits or snap decisions.

The problem was that they had also decided that extensions had to be considered "derivative works," and so also had to be licensed under the GPL. For many members of the community, this was the first time they'd heard of the issue.

Defining Derivative Works

To say that the new take on extensions caused a firestorm would be an understatement. Proprietary extension developers -- many of them making their living from their extensions -- lashed out. So did users who relied on these extensions.

Everywhere, misinformation and misunderstanding of the tenets of the GPL abounded. And many people caught in the middle worried that the change had simply been made too late, leaving a lot of developers feeling betrayed -- as though they'd been victims of a licensing bait-and-switch.

In protest of the changes, the "Commercial Joomla Developers Alliance" was formed. However, their web site is now down and there is no visible activity from them into 2008 or 2009.

Many of these developers turned back to Mambo -- the project that Joomla! forked from -- but when the market didn't follow they returned to Joomla!. Of the returnees, some continue to hold out, while others have begun to embrace the GPL point of view.

There's a Model for GPL'ed Joomla! Extensions

Not all commercial developers were irate. Damian Hickey's company, ZacWare, built GPL-licensed Joomla! extensions even before the compliance announcement.

According to Hickey, "It's not going to kill the extensions market, just make it work differently ... there are hundreds of viable small businesses that could be formed around great Joomla extensions."

Moving to GPL Compliance

The full GPL compliance process began with "cleaning house." This task involved rewriting non-GPL parts of the Joomla! core.

Today, Joomla! 1.5 has one remaining PHP-licensed library that has been removed from the Joomla! 1.6 trunk and is not used by Joomla! core itself, but may be used by an existing extension.

According to Open Source Matters President Elin Waring, they hope to have a GPL version 3-compliant replacement by July 1, 2009. If not, they may leave the library in place for now. Since the library is GPL version 2-compliant, the bigger fear is breaking existing sites.

The next phase of the process kicks in at the end of March 2009. After that, no new non-GPL extensions can be added to the Joomla! Extension Directory (JED). By July 1, 2009, the transition completes with all non-GPL extensions being removed from the listing.

This collection of deadlines has re-opened old wounds and arguments, but keeps in line with the 2007 GPL commitment announcement.

The Joomla! Community Today

Despite many dire predictions along the way, the Joomla! project continues to grow. The Joomla! forums alone have over 260,000 registered members. There are over 4500 extensions available for download.  And Joomla! itself has half a million downloads a month.

The evolution from an ecosystem of independent business entities, to a community-based approach, has been a difficult but important one. One of the biggest challenges in this area has been opening for wider participation and handling decisions in a more transparent manner.

According to super-active Joomla! champion Amy Stephen, opening the decision-making process involved a few practical steps:

  • Creating developer and Bug Squad email lists that anyone can join and participate in
  • Building a framework for how the community submits feature patches for Joomla! 1.6
  • Getting the development team actively onto Twitter

Improving Project Collaboration

Another challenge is retraining people to think in terms of collaborating and contributing, rather than either keeping their work to themselves, or hoping someone else would do it. The first major push in this regard was done a year ago, opening the Joomla! Bug Squad for community participation.

The Bug Squad's duties are to watch the forums for reported issues and help people resolve them, maintain the Joomla! Bug Tracker, and test reported issues and offered patches.

With Joomla! 1.5.0 up through 1.5.10 released so far using the expanded Bug Squad, this is one experiment that has gone quite well. For those who want to get involved, the Bug Squad is one of the best ways to do so.

The release of Joomla! 1.5 was the source of more than one milestone. Along with greater community involvement, it also led to more interest in the business community in Joomla! as a CMS solution. Damian Hickey points out, "We've noticed a lot more maturity with the advent of Joomla 1.5. Lots of larger organisations are considering Joomla whereas they shied away before."

Where The Community's Going

So where is Joomla! headed through all of these growing pains? For one thing, there's the need to always attract new developers, and support them to become involved and grow within the project. The Bug Squad is in many ways a crucial part of that equation.

As developers grow more comfortable and confident with Joomla!, its architecture, framework and components, Stephens says that they're gaining traction and extending it "using smart approaches like the UserMeta plugin or by building system plugins that can override Joomla!'s routers." She points out that such strategic development approaches drive innovation, such as powerful packages focus on specific use cases and vertical markets.

A Need for More than Developers

Of course, new members are not always developers. Waring points out: "I think we need to constantly be aware of the need to be welcoming to beginning users and webmasters who are not developers, but who just want to make fantastic sites. We need to work to make sure that all of these groups have space in the community to meet and help each other."

Amy wants to make sure that these groups have places to meet and help one another. In particular, she'd like to see more blogging and discussion of Joomla! topics across all of the project's sites -- especially talk about what people are doing with the CMS, sharing ideas and experiences. Right now, many of these and other discussions happening in side communities on Twitter, external blogs, and sites like Stack Overflow, as users interested in similar aspects gather in smaller groups.

Events and Google Raising the Energy

Methods of tying the community back together include venues like the Google Highly Open Participation contest, the Google Summer of Code, Joomla! User Groups and Joomla! Days worldwide. The combination of these activities offers a shared, unifying experience that helps all of the smaller groups feel connected toward a common goal.

Managing, Steering and Communicating Priorities

Since tens of thousands of people directly make their living on Joomla!, there's a lot of pressure on its volunteer leads to keep things not only moving, but moving in the right direction.

Waring says, "It's exciting that what I do makes it possible for people all over the world to start and grow businesses, but knowing they depend on me doing what I do makes the pressures associated with the work that much greater. A lot of what I do is to try to find ways to lighten this pressure on the volunteers who build Joomla and try to prevent burnout."

In order to make the project's overall needs better known, Joseph LeBlanc, an author of several books on Joomla!, suggests setting public goals for fund raising, along with public priorities for contributions. And not just for financial goals, but also for code and documentation needs as well.

"I think things would be a bit smoother if we listed out what needs funding (servers, representation at conferences, organizing Joomla! Days, etc...)," says LeBlanc. "With such a list in hand, we would then be able have focused campaigns and recognize the people who step up to the plate."

Increased Corp Contributions, Donations

People like Wilco Jansen -- Open Source Matters board member and Development Workgroup Coordinator -- talk to companies on behalf of the project to get support for its efforts. His focus tends more toward sharing resources and infrastructure, but of course finding financial support for Joomla! doesn't hurt.

Jansen expects that as the community continues to grow, the professional level of corporate interest also will. As it stands, companies have donated test and development tools, with Rochen in particular donating infrastructure and support time. He's in talks with a number of other vendors as well, but not to the point of sharing details.

One example of vendor participation is ZacWare. They're hoping within the next two months to contribute two full-time developers to Joomla! core. In addition to people, they're preparing to donate a collection of code around managing extensions.

Where the Technology's Going

On the technology side, expect more releases of strategic extensions and components. For example, Yootheme has released a Content Construction Kit (CCK) extension for Joomla! called Zoo (see Zoo microsite), adding the ability to create and manage custom content types in Joomla!.

Another strategic item is F2's F2 Mapper component, allowing people to upload small image markers and associate them on one or multiple maps.

Joseph LeBlanc, author of "Learning Joomla! Extension Development" and "Joomla! 1.5 Essential Training," feels that components are one of Joomla's key features. "Components act as independent applications," says LeBlanc, "but still blend in with the template you choose. Adding a third-party component to your Joomla! site is ridiculously easy."

LeBlanc would also like to see some of the Joomla! core trimmed back, and brought up to date in its use of web standards such as not using tables for default article layouts. "There are some features in the core that made sense five years ago, but are less helpful today (such as the banner ad system) ... I frequently get the feeling that we're maintaining some features that people don't even know about, let alone use."

There's also the task of separating the Joomla! framework from the CMS. The framework handles everything under the hood, much like a kernel does for an operating system. De-coupling these pieces allows using the framework to build completely different tools such as Customer Relationship Management (CRM) and Learning Management Systems (LMS).

Mitch Pirtle, Joomla! project and Open Source Matters co-founder, predicts that Joomla! is reaching a point where the greatest advances will happen in usability and integration. He also sees Joomla! branching out to work with other projects and organizations, a process that has already started.

Damian Hickey feels that it's vital that companies such as ZacWare fund "large scale development of the complex parts of an ECM version for Joomla," since "it requires a huge amount of focus beyond the scope of the core team's resources."

"It makes Joomla! a really valid case as an ECM system for web delivery of content," Hickey continues, "broadening to more enterprise document management processes is inevitable for [ZacWare's] Jentla and we'll roll stuff back into the project to help foster this direction."

What else is in store for our intrepid band of open source adventurers? It's hard to say, but if the last 4 years are any indication, it'll be one hell of a ride. Please share your thoughts below.