This Process is Broken

Diogenes's picture

This blog is about the Drupal community, new members who would like to contribute a module or theme, and the process now in place to regulate that.

Eating their young

Just recently I came across an old blog: Module Approval Process will KILL Drupal. It's almost 1½ years old now. It provoked a lot of discussion back then. I agree with much that was said. Unfortunately, almost nothing has changed.

Drupal has a caste system in place. There is the upper caste -- the members of who have Full Project (FP) privileges. They have one or more project namespaces. They can create a new project at will. Packaged releases of their module are available for download on the website. Their modules are favored in searches.

And there is a lower caste; new members who do not have FP privileges. They have none of the above.

It is possible to become a FP citizen. To earn that right you must first become an untouchable. The untouchables are the members who are working to have their module or theme approved.

I call them the untouchables because they are trapped in a purgatory called the FP code review process. They wait for months for someone to give their sandbox module a code review.

And if it's not perfect, it gets stamped with needs work. That means it goes to the very back of the line again. Rinse and repeat.

An untouchable can become a full FP citizen, but certain standards must first be met. Your module must NOT duplicate other modules -- collaboration, not competition, grasshopper.

Your motivation must be pure. You must try to reclaim an abandoned mine if that namespace is taken.

Your code must follow accepted standards and conventions. Documentation is important. Even proper punctuation in comments is critical. Unneeded spaces at the end of lines are to be purged. Only one blank line at the end of a file, please.

The underscore is sacred. CamelNotation is blasphemy. You should know by heart all prescribed passages verses conventions from the Koran Bible Doxygen Formatting page.

If your submission finally passes all of these tests; is secure, is ready for translation to foreign languages, does not infringe on the work of another, and is not another implementation of anything that exists, even if it may be better; your module or theme will be promoted to a Full Project.

You may join the party.

The Party

Meanwhile, there is a party going on in the FP fraternity house. They're wearing togas, they're drinking wine, they're making modules like there is no tomorrow. There is music and singing...

We don't need no education
We don't need no code review thought control
No dark sarcasm in the classroom...

All in all, you're just another brick in the wall

From the Modules of the Month room...

Hey look everybody, I just created a module with no code. Har har har.

That's nothing! I just created a module that randomizes variables, has no code, and depends on the Bad Judgement module. Oh - this is so much fun!

From the Drupal is Stupid (But I Love it Anyway)1 room...

Hey look everybody! - there are now 133 different modules for both Facebook and Twitter. Maybe we've bin' drinkin' a little too mush drupul... excuse me, I think I need to talk to Ralf on the great white telephone. Is there a module around here for that?

  1. Parodied from a talk by Brock Boland at CapitalCamp, July 2012. (@approx 12:30)

It's the wild, wild, west in the FP frat house. Collaboration is for chumps, everyone here can enter this horse race. Stake a claim while you can. Create a new project on a notion or on a whim, without any scrutiny, without any code review, hell, even without any code.

Outside the Iron Gates

Meanwhile, outside the iron gates of the Drupal community, the untouchables are queued up and waiting, hoping that someone leaving or joining the party might spare a moment for a code review.

"I thought this was supposed to be an open source community" one of them grumbles to another, taking care not to be overheard.

There are a few missionaries who walk among the untouchables, granting code reviews to those who have waited the longest. The missionaries have created tools to help the untouchables help themselves -- tools like coder and parereview.

But there are too few missionaries. And they are missionaries on a mission. These men of the code are pious, disciplined, and they adhere to scripture. They do good work and they do it well. They have the power to grant redemption full project status.

But there are too few missionaries. One of the missionaries has suggested and encouraged the untouchables to begin reviewing each other and has offered early salvation for doing so. There is some success with this, but it has been a disappointment too.

But there s a limit on how much one apprentice can teach another.

Should I stay or should I go?

I was looking forward to attending Drupalcon Munich this year, especially after the Drupalcon Chicago experience. I've never been to Munich, I hear it's beautiful and I know Germans are wonderful hosts.

The Drupal Jam events here in the Netherlands have been very good too. I like the people that like Drupal.

But my experience with the whole code review process postponed the 'book early' decision for Munich. Then I had the misfortune of trying to use a couple of modules that didn't work at all. That was followed by some rather heated exchanges on the respective issue queues.

So I decided to save time, money, cut my losses, and pass on Dupalcon Munich. I did listen to one session of interest though: The project application review process (PARP). I listened to it twice.

Klausi asserted that "many of the applicants don't have time to do code reviews". He is wrong. The people who are too busy are the ones creating Drupal websites for $150+/hour or yet another Facebook module..

The new members are patiently waiting for their next code review. They want to join the party. The Drupal learning curve is steep, an apprentice needs to learn from a master. Apprentices don't review because most are out of their depth.

I think a code review is a good idea, the process just needs needs some serious tweaking.

About those coding standards

I'm not against coding standards, but, face it:

<strong> some standards </strong> are<em> stupid </em>

Whatever empty value they add is lost by forcing it down the throats of people who are happy with how it was. I welcome a good explanation on why <b> and <i> tags should be obsolete. I know, the example above is not a Drupal standard, but Drupal has equally pointless rules.

The most important criteria for a module -- does it work as described? -- seems to be quite low on the list, even though most users don't give a damn what the code looks like if a module works.

Thinking Outside of the Box

The best moment in the PARP session came at approximately 54:30 -- Question & Comments. The first person up to the microphone was Benjamin Melançon (mlncn), one of the Git admins that can promote a sandbox project to FP status.

I have captured the discussion here. It's ad-lib and the sound quality is C-- (sorry - programmer humor), but there are some very important points made here (and a little tension too). Please listen to the full discussion.

Had I been present, I would have given Benjamin a standing ovation. I could not agree more. I'm not that upset about the inequality of it all. It's wrong, but it's not a good reason to abandon Drupal.

Looking around now

For me, one of the reasons to start exploring Drupal alternatives is the poor quality of some of these FP modules I encounter. They don't work for me and they don't work for others. Issues are posted and then closed (won't fix, need more info, works as designed, RTFM loser) or never fixed at all.

The Drupal project is supposed to be open source. But it has turned into an Open Sores project; a frat house community that has fallen in love with their own code, their own genius, and suffering from a serious case of cognitive dissonance.

I'm old enough to claim that I've been around the block more than most. I don't have a career path anymore, just an opinion.

Clean up your act Drupal, or become another chapter in the book of fallen giants -- Microsoft, Nokia, Blackberry; to name a few. Companies and people who were convinced they were right, convinced they were invincible.

Clean up your act Drupal, before it's too late.

Next Up:

You want answers? or maybe You Can't Handle the Truth!

I can't decide on which title. But I'm working on it.

Update: So I thought up a new title that was the best of both worlds.

Just A Few Good Men