[development] module duplication in Drupal contrib
Aaron Winborn
winborn at advomatic.com
Wed Mar 19 18:48:50 UTC 2008
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
More information about the development
mailing list