I think there’s a lot of unwarranted criticism and unnecessary anger going around lately. CI has vastly improved how I code, and in short order. Likewise, I’m using Expression Engine on a project currently because it kicks ass as well. (Neither one is perfect, but they both have saved me HUGE amounts of work AND made me look good.)
The EE site’s Knowledge Base has this quote in the FAQ’s:
Is there an ExpressionEngine Roadmap?
Roadmaps are unreliable. If we say Feature X will be available on Date Y and then it isn’t, people get mad. This gets compounded if people are making business decisions based on a roadmap. And people will make business decisions even if we have big disclaimers in bold red type based on a roadmap. The reason for the delay usually doesn’t matter to people either.
We don’t like people making decisions on features that aren’t released. Further, until you can actually experience a feature you won’t know if it will really work for you. So even if the feature is released on the projected date you’d still have no way to evaluate if the feature meets whatever needs you might have. In our opinion the whole thing just gets messy and leads to PR nightmares that can simply be avoided with one little line:
Always, without exception, make decisions regarding EE based on what’s currently available.
Link
This says it better than anything I can say and applies equally well to CI. Roadmaps are unreliable at best. Base what you’re going to do on what’s currently available. End of story.
Speaking of CI, we don’t own it. EllisLab does. End of story. It’s based on a commercial (as in paid) piece of software and has been released as a gift to us all. The license is very flexible, allowing us to pretty much do whatever we want with it. CI is a great starting point, and does things so well, I completely understand people wanting to get involved.
Involvement might be correcting a bug, adding a feature, or helping in the forums. It’s as voluntary as using CI itself is voluntary. Likewise, it’s voluntary for anyone at EllisLab to use anything presented to them. If you don’t like that, then you can either not use CI or customize it to your liking. If you don’t have the skills or time to do that, sure, that kind of sucks, but it’s important to keep in mind at all times: CI is NOT our baby. It belongs to EllisLab and is available, maintained, changed, developed and presented strictly at their pleasure. This has been stated directly and indirectly, and I think it’s a bit unrealistic to expect anything different.
Don’t get me wrong, you don’t necessarily have to like it. It is frustrating to offer something to the community (and the owners of the project) only to have it seemingly ignored, dismissed, or disregarded. But since that is reality and not likely to change in the near future, it is something that we have to deal with. Personally, I don’t think it’s that big of a deal since we’re aware of it, but can see where others differ. And doing so probably works to discourage outside help. That’s a choice that EllisLab has made. And that’s also why there is currently another project based on CI with a different set of stated goals. That’s the beauty of the gift that CI is: we can do what we want with it.
Some might say that CI and any derivative projects compete with each other, but I think they can complement each other. Rick Ellis stated this eloquently enough. If you don’t like the way CI is handled, use something else. Better yet, use CI to make something else. That this something else might be based on CI, but with different goals, more public input, faster development, etc. is a huge bonus. The best of both worlds is available: a user-directed CI-based framework, or a tightly-controlled framework that has open source, but a more closed development process.
I also don’t see that participation in both communities is mutually exclusive. Far from it. I think a lot of people can and should offer things to both communities, strengthening both products. We need to move away from and avoid “us” versus “them” and accept what we do have. Complain about it if you must, be willing to accept what is, is.
CI is a great tool. It looks like Kohana will be as well.
In the meantime, I’m happy to have any great tool freely at my disposal.