Posted by greggles on February 15, 2009 at 6:22pm
note: this comparison is provided for perspective on more recent duplicate modules. cck is clearly the better choice.
Flexinode
vs.
CCK
What a pity that CCK forked the community and duplicated the functionality from flexinode that was so awesome. Everyone who works on CCK wasted their time and damaged our community. We should prevent projects like CCK from happening in the future.

Comments
ROFL. Yes, Flexinode and CCK
ROFL.
Yes, Flexinode and CCK were competing solutions, and CCK ended up being better. I can see your point regarding this, especially in the light of the comparison being made in another thread about E-Commerce and Ubercart.
However Flexinode is a 4.7.x module and has no releases in 5.x and 6.x. Is anyone still developing websites in Drupal 4.7.x? It might be useful to point this out when casual visitors come by and begin wondering if they need Flexinode...
True, but...
Yes, that is an example of duplication that had a happy ending (unless you ask berkes. ;) but I don't think that a few positive examples here and there means the fight to avoid duplication is wrong. I'm not sure what the point of this sarcasm is? I thought you were against module duplication as well? The fact is that most duplication does not benefit the community and rather causes confusion over which module to use. At some point we will have better metrics for judging modules and then perhaps the "let them compete" attitude will work. But, for now, module duplication is not a good thing, occasional exceptions such as cck aside.
Michelle
See my Drupal articles and tutorials or come check out the Coulee Region
But aren't the parallels
But aren't the parallels apparent? CCK debuted before I was involved with the Drupal community, but I'll put down twenty bucks that there were at least a few people muttering "What are you doing? Why aren't you just working on improving Flexinode instead? This new CCK thing will just cause a lot of confusion in the Drupal community and pollute the already overcrowded contrib directory!"
So when can a dupe module transcend its dupeness and be a valuable improvement and contribution to the Drupalsphere as CCK has been? Can any one person really judge that? How do we know the module stifled under cries of "Duplicate!" until the maintainer just gives up and goes home wouldn't have turned out to be the next CCK?
Heck, even Dries is guilty of contributing the Mollom module when there were already plenty of other captcha and anti-spam modules in contrib.
The Boise Drupal Guy!
architecture
I'd been using Drupal very casually for a while before CCK arrived, but started to get into it more just as the 4.7 release of CCK came out - I remember there were several workarounds for getting teasers and body to display differently at that time so presumably fairly early on.
It was pretty clear, even to me at that time, that CCK was a response to many of the limitations of flexinode (particularly in terms of storage), and given the tough upgrade path between the two, there were plenty of good reasons to start a new project. I remember installing flexinode, uninstalling it, then deciding to tough it out with CCK until it got more stable (this was before I knew any PHP). So was saved the upgrade woes, but only just.
If someone does a lot of research then decides an existing approach is unworkable and starts something new, that's quite different to most of the projects discussed in this group - where in the vast majority of cases module authors aren't even aware of the existence of the modules they're duplicating (the various 'input format' node type/role default modules fall into that category afaik).
What concerns me most though, is the seemingly large number of people who haven't noticed the title of this group is firmly tongue in cheek :(
Sarcasm
I think he edited the link out of the topic. I still find it hilarious, and was kept amused all weekend. Greggles is awesome.
True, but...
It's true that my perspective on this has changed over time. I am generally opposed to duplication, but I'm even more opposed to trying to stop duplication.
I disagree with the first half of the sentence and agree with the second.
Duplication causes lots of problems, but it is also the source of many great improvements.
There are tons of examples.
The main problem with duplication is that it confuses users. So, we document the duplication here to both reduce that problem and make people more likely to collaborate. Problem (largely) solved.
--
Growing Venture Solutions | Drupal Dashboard | Learn more about Drupal - buy a Drupal Book
knaddison blog | Morris Animal Foundation
Missed this
I missed all the posts on here.
I don't think imagefield duplicates image at all. There's a difference between providing an alternative and duplicating. If someone came along and wrote a module that did everything Advanced Forum does but includes a purple style with it, would that benefit the community? I suppose the people who have purple themes would be pleased. But then we'd have two modules doing the same thing with a slight variation and people wondering what to use. I made sure Flatforum was dead before starting on Advanced Forum so there would be no confusion over which to use.
Documentation helps but the problems go beyond that. At the risk of stirring up a dead battle, look at the "buddy" scene. Discarding the ones that aren't used much, there are three main actively developed modules. Every module out there that interacts with "buddies" in some way now has three sets of integrations to do. Three times the work to deal with three modules that all have problems instead of one awesome module.
Sure, CCK is much better than flexinode and I wasn't deep enough into code at the time to tell you how soon that was obvious. But what if someone came along now and wrote something just a bit better than CCK? Not enough to blow it away and be a clear successor but enough to get a following. Think what a mess that would be. How many modules that interact with CCK then have to do double the work?
If Drupal were like an operating system where each module was an island doing its own thing I'd say sure, fine, duplicate all you want and we'll just document which does what so people can figure out what they like better. But it's not. It's an ecosystem of legos and you are trying to fit them all together to make a site. Choose the wrong piece out of a set of dupes and you could be shooting yourself in the foot when you realize down the road that some other module you really want uses the other one. Been there, done that.
Michelle
See my Drupal articles and tutorials or come check out the Coulee Region
Personally, I find it
Personally, I find it valuable when people release their code examples, whether or not they are duplications. Many people use Drupal to solve unique local problems. My opinion is that it is better (for me at least) for them to release duplicated functionality, than keep it to themselves.
I do appreciate when people do the research and take the time to research and avoid duplication, though. But, the overall ecology of open source software development means that you are going to see lots of duplication. I can't tell you how many developers I know that don't want to follow convention, that want to build all of their stuff from scratch, even when working with Drupal. I prefer to work with conventions when possible, but there are significant numbers of programmers/developers who do not.
Sam Rose
Social Synergy
Open Source Ecology
P2P Foundation
Sam Rose
Hollymead Capital Partners
P2P Foundation
Social Media Classroom
The intention behind joining
The intention behind joining forces is good, but sometimes projects get stuck because those who joined forces don't agree on how to continue. This may lead to endless discussions without develoment progress.
Duplication can result in competition which in turn can result in improvements and innovation. So I wouldn't consider duplication to be generally something bad. Duplication is useless though if both functionality and the underlying approach largely overlap.