I believe that ugly, chaotic mess of multiple contributed
modules
replicating functionality is a wonderful thing. It is one of
the many
wonderful things that attracted me to Open Source, and
specifically to
Drupal. It encourages innovation. So what if 90% of the
modules
developed might be labeled as duplicate, poorly maintained,
junk, or
what have you. It's that wilderness that encourages the 10%
to thrive.
Related to this is the cry I've heard over the past few
years for
support for multimedia in Core.
No, I say! Keep Core to its bare bone structure. I want 50
different
ways to display an image! If the Image module had been in
core, there
would have been less incentive to create alternatives.
Imagine Drupal
for a moment if Flexinode had been put in Core.
When we stop the creative flow of contributed modules, we
are
effectively making contributed Core. "You can't make
that image handler
that does it slightly differently, because there's already
an image
handler that does it well enough. So what if your use case
is slightly
different? Write a patch. Or force your site to work out of
the box."
We discourage module development when we tell people not to
build module
Y, because it already exists in module X. Yes, we end up
with modules D,
E, and G that do similar things, but as has been pointed
out, they might
be slightly different use cases. Also, some developers might
have a
different vision than others, and we nip that in the bud if
we tell them
not to bother, since it's already been done, or if we stifle
their
creativity by telling them to build a patch that ends up not
getting
accepted because the maintainer doesn't like the feature.
If it is a real problem for users, then restructure the
project pages to
make it easier to sort. Or create a third branch: Core,
Contributed, and
Experimental/Universal or something. Whatever you do, don't
cut off the
wellspring of creativity and innovation that makes Drupal
such an
amazing beast.
Enough rant. Back to work.
Aaron Winborn
|