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 Drupal.org 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 drupal.org 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?
-
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