With the current number of contribs, it's not only hard for 'end-users' (whoever they might be) to find modules to suit their needs, it's also hard for developers. As others have noted, some (especially new) developers don't even bother to check before rolling their own and contributing it back. However I've seen well known names publish a module, have an issue in their queue that says 'is this duplicate?', then they've almost immediately joined forces and marked one or the other as deprecated. A lot of work gets wasted that way and it's not really anyone's fault, especially when it's people who always search first before they do any work :)<br>
<br>The more modules there are, the harder it'll be to select one, so more duplicate modules will be written, so there'll be more modules, so it'll get harder to select one...<br><br>We know none of this holds true for all modules, superficially at least - CCK and
flexinode did similar things, but there's a reason why CCK, introduced
later, is on it's way into core now, and the architectural difference
was there from the beginning - so not really duplicate. Plus CCK and Views have eliminated a whole plethora of 'node modules' built for specific tasks - which can be replicated in a couple of minutes via the UI. However that
tends to be the exception which proves the rule, especially when
discussing smaller or more specific projects.<br><br>A similar discussion came up last year (it was shorter than this one I think), and with tongue in cheek I suggested a "Duplicate modules Hall of Shame" somewhere in <a href="http://groups.drupal.org">groups.drupal.org</a> - where you could post up modules you think are very similar, discuss the differences, ways of collaborating - and in aggregate it might lead to us finding better ways to prevent this happening accidentally.<br>
<br>As a side note, the 'pivots' work for module recommendations, which is targeted to mine the forums for information - I'd really, really like to see if this could be applied to Projects and Issues (and groups posts, since a lot of newer projects get more traffic there). That way you'd get "here's some similar modules/issues" when you view one, or even a list displayed as part of the validation on node submission (did you see these yet?). That at least might speed up the process of discovering accidental duplication of work.<br>
<br><br>