Drupal.org - It's all about size.

It was 2003, six years ago, when I got started with Drupal. My user id is 4299. A few months later I contributed my first module (i18n). I can't tell how many modules there were at that moment, but Internationalization module is node number 5917.

Too many things have happened since then, most of them good. The community has seen an explosive growth, my job is now 99% Drupal, we've been to all these great conferences, companies have risen around Drupal, and many of us have drunk pints and pints of beer using Drupal as a excuse :-)

We are now more than 200000 users and the site has more than half a million nodes (content pages). So everything has changed quite a bit. But there's this single thing that, though it's seen many improvements, is still fundamentally the same, just bigger: drupal.org.

Good old times! We used to have useful forums where you posted something and in a few hours you got feedback from the right people, now they're still there just they're too crowded and dispersed. The issue tracker was a cool thing to handle module development, now you can search it for hours and still miss important things. Yes, we have groups.drupal, but to how many groups you need to subscribe just to know what's going on?

Well, there's this one thing that still works. It's drupal-dev mailing list, and you can still (almost) keep up with that one. But I'm gonna tell you a secret: That's mostly because young people and new Internet users in general don't use mailing lists anymore. I don't really have the numbers but I've consistenly observed that. You ever heard of Facebook or Myspace?

(Also there's this cool tool they call Drupal that allows you to run a community without needing old fashioned mailing lists!)

One more example: A module's issue tracker. Developers used to post there useful stuff for module development, everybody else used to post on the forums. Now they know no one reads the forum anymore (or at least not me) so they open support requests for the module trying to grab the attention of any of the module developers to point them to the right page in the handbook.

It is true that there are more people now helping with module development and maintenance. But certainly 100 people handling 1000 issues is way more complex than 1 person handling 10 issues. Really, how could I keep up when just one of the modules I'm maintaining has way more active users than the whole drupal.org had when I got started?

Actually this is a very good idea (Thanks Aron Novak and Alex Barth), which I'm afraid we'll need to implement for each of the modules, please read

So the question is: Are we properly handling growth? Will our infrastructure still keep up if we release Drupal 7 and the number of users doubles again? Will a magical redesign fix everything?

I've been doing some research in computer science books, management books, sociology books, history books and found this new break through technology (hope it's not patented in the US yet) to make big things manageable: You split the big thing in smaller manageable parts, and keep some ties to link them together.

And yes, we need groups.drupal.org, api.drupal.org and localize.drupal.org. But we also need devel.drupal.org, modules.drupal.org, handbook.drupal.org... and party.drupal.org... Just let drupal.org become the big hub to keep it all together.

I don't mean at all we need to ban novice end users from the modules issue tracker and build some exclusive old time developers club. We just need to place somewhere a visible line with a banner that reads something like 'Hey, this is for module developers. You are welcomed, but you may be better off asking at these end user forums'.

We do need to handle growth before growth handles us. And no, there's no such thing as a magical redesign that will make a site usable for thousands of users, thousands of developers, hundreds of companies and thousands of small development projects (we call them modules).

Of course, I may be wrong too. That no one has done it before doesn't mean it's impossible; but it certainly doesn't mean is possible either. Anyway books are no use anymore now we have the Internet.

Comments

it is happening

Yes, we are splitting sites! Setting up localize.drupal.org as a standalone site was made possible by the single-sign-on being rolled out. (And localize.drupal.org served a single-sign-on testbed). Api.drupal.org as well as groups.drupal.org got that single sign-on (falloff issues on groups.drupal.org are still being resolved). The idea is that we'd still make it easy to move around the subsites, which makes it possible to break them off.

Now moving content off of drupal.org to to a subsite is harder then setting up a new one obviously. We need to try to keep links intact, history of the created content accessible, etc. As a first example, the handbooks are also planned to move to http://docs.drupal.org/ which is already set up, but has not much to show yet :)

I'm seeing this diversification with local IRC channels popping up as well. Seems IRC is not as oldschool as mailing lists :).

All this diversification ironically goes against your point of stuff easily found and discussed however. You'll have docs for your modules on a different sites, groups, translations, IRC channels, etc :) It just happens that way.

how many sites are using drupal

Is there a way to know how many sites are using drupal. If not, is there any estimation of the number of sites using it.

Not just support/dev, but also documentation

You put the finger on the source of the problem with Drupal documentation. There's a point where the complexity introduced by growth overwhelms our ability to track it all, and important information gets lost.

I found a good example of that the other day, when I was searching for a list of publishing companies using Drupal. I eventually found this list buried deep in drupal.org (node 5100!). It's very useful and represents a lot of volunteer work, but because the drupal.org site hasn't managed growth it's also hard to find and therefore (somewhat) obsolete.

A resource you can't find is no better than one that doesn't exist. That's the challenge we face.

Great post

This is a great post. Thank you for sharing your idea. I totally agree with you that there's no such thing as a magical redesign.

IRC

Good points.

One of the reasons IRC is so useful is that it's very easy to create a new channel. Think of all the channels on IRC for drupal: #drupal, #drupal-support, #drupal-views, #drupal-ubercart, #aegir, #open_atrium to name a few. Have a problem installing drupal? #drupal-support. Need some help with drush? Head to #aegir.

Well written, but I'm dubious

Hey Jose,

I really enjoyed reading this. The problems are very clearly articulated. And if you take core dev as a microcosm of this concept it is 100x harder. Catch said to me the other day on IRC "Do you remember when issues got in with 5-6 comments?" Now the average must be closer to 80. Makes it hard for someone who doesn't want to spend 50% of their time to feel inspired to get into core issues.

Splitting up d.o. though doesn't seem like a great solution to me. That is, it won't hurt really, but it will end up just being namespaces, not a cultural change IMO. People would still just go to d.o., they'd search for their problem, and then they would use whatever avenues were available to them until they solved it (Forums, queues, etc). I don't know what the answer is here to be honest, but it's got more to do with money and time than anything else.

As Drupal grows the proportion of newbs:nerds changes in favor of newbs.
That's the case with anything - software or otherwise. That's why companies like Lullabot and Acquia get a lot of traction. Training and Support are likely important for the future. Also important is diversification, open atrium + Features, and other distros will make it so that contrib is not so big, which will help focus support. Some modules will continue to remain "Core Contrib" like views and panels - and as long as Earl doesn't kill himself or someone else (and get caught), that will be what it is.

But I think the idea of contrib modules just floating around and being pieced together will start to decline in favor of distros, professional support and training, and paid maintainers.

Anyway, thanks for opening up what is a very important topic with a great post.

Best,
Jacob