I love Drupal. I really do, even if many people do not understand why (one day I will explain to you what you don’t see, guys). I’ve been working with it since the version 4.6. Then, during the 2008/09 I stopped for like a year (for many reasons that are not worth to be told), but eventually I came back aboard, and now I am also the “specialist in charge” for this platform at Ibuildings.
For a long time I never had the chance to contribute “seriously” (just some little patches here and there) in the community, but now different working conditions allow me to do so. This brought to my attention some issues in the community attitude. And when it comes to social attitudes, I am not an easy person to deal with when I get disappointed.
Maintainers can decline patches for any reason
However, here I’ll be focusing on the political/sociological/philosophical aspect of the matter. I won’t talk again about avery single disagreement, but just about the most important fact: markus_pretrus refused the patch for no valid technical reasons, but just for personal concerns. He never brought a valid counter-example that proved the patch to be dangerous, he was just afraid the patch could cause harm somehow.
(In addition, he later said that I should have used CRUD APIs to update a content type and not the import procedure, never realising that what my patch did was to use CRUD APIs to enhance the import procedure and making it able to import a new content type definition into a pre-existing copy).
So, the point is: if maintainers have personal concerns not supported by any proof, they are still in the position to refuse the patch, whereas the correct behaviour should be to accept the patch, test it extensively, etc. etc. We are still talking about software, after all.
Chain of trust might be dangerous
The usual chain of trust we find in communities might be dangerous in this case, as it happened that someone else found perfectly reasonable the markus_petrus’ argument. This, of course, led to the situation where my CVS application to publish the Alternate Content Copy module (a module created out of the patch of the discord) was refused. The reason was simple: such a contribute is supposed to be a patch to the original module, not a module itself, and that makes sense. But at the same time the patch won’t be accepted. Deadlock.
The CVS application process flaw
All the story above led me to realise the big flaw of the Drupal CVS application process. They have some conditions to be respected in order for your application to be successful. And to be honest, they make sense. What a pity, though, that once you’ve got your CVS account, you can create as many projects as you want. First of all, this doesn’t make sense; secondly, it makes too easy to bypass the conditions for the application: all you have to do is to take over an abandoned module (easy) and apply for a CVS account (that you need to maintain the module you took over).
I am sure that everyone in the community has got the best intentions, but when a situation like mine shows up, it makes it too easy to mutate a community in an oligarchy. Also, having such a flaw in the CVS application process, makes several efforts worthless.