A couple of weeks ago, Derek Jones of EllisLabs announced that the CodeIgniter Core would officially be branched so a community-driven version of the framework could be created. This new branch will be called CodeIgniter Reactor.
The plan, which was clarified today, is focused on allowing a select group of CI engineers to actively commit new features to the codebase, while taking feature requests via a uservoice forum. Over time, any proven, time-tested features in Reactor will be merged into the Core.
This announcement comes after a two year period of relatively few changes to CodeIgniter — something the community has had mixed feelings about. For some, it meant CodeIgniter would remain a remarkably stable platform to build on in contrast to frameworks like Cake or Kohana. For others, it meant CodeIgniter was probably dead.
So is that why frameworks like Kohana, once a fork of CodeIgniter, exist?
That, and also: A frustrating reality for many in the CodeIgniter community is that although it is the fastest, lightest MVC framework for PHP, it still lacks some important features. Many once-smitten CodeIgniter evangelists grew out of the framework and began looking for something that was more full featured. That is, they wanted an ORM, more libraries, more robust implementations of unit testing and caching, and a style of usage that actually conforms to the definition of MVC.
Why does CodeIgniter still have such a loyal following if more full-featured frameworks are around?
As mentioned, CodeIgniter is considered one of the fastest script-based frameworks available. It takes a “load only what you need” approach — something other platforms definitely don’t do. Rasmus Ledorf, the original author of PHP and skeptic of PHP frameworks in general, has even singled out the framework as something he might actually use.
As a side note, while at Yahoo! I’ve had the chance to read into exactly why Rasmus doesn’t like MVC via the internal wiki pages that he wrote himself — and guess what, he’s right. But that’s a topic for another post.
The other big (if not HUGE) reason that CodeIgniter has remained popular is the documentation. You cannot find a framework with more clear or concise documentation. Of course, it’s easy to keep the docs current when the framework hasn’t changed for two years!
So what the hell is going to happen with CodeIgniter Reactor?
I’m one of the engineers on the project, and I’ll be clear that CodeIgniter Reactor will pick up where CodeIgniter left off. Although the official roadmap hasn’t been laid out just yet, you’ll find Reactor will still have a high level of dependability and outstanding documentation. If Reactor’s docs fall into dismay, hold me personally responsible. I won’t let it happen.
There is a feature request forum for Reactor set up at UserVoice — a place where CI users who want to suggest additions can go.
Of course, that doesn’t mean every feature suggestion, whether it’s the popular or not should actually be implemented. The Reactor team will make intelligent decisions about what and what not to change, remaining in line with the original principals of CodeIgniter: Light footprint, low barrier to entry.
If I had to underscore my own objectives in implementing new features, they are speed, efficiency, and power. That is:
- Does it belong in the framework?
- Can this feature be built efficiently?
- At the highest level of efficiency, will it be fast?
- Is it comparably robust, and powerful in the face of similar features in other frameworks?
A word to the skeptics:
A tweet I saw immediately following the Reactor Announcement was “Death by bureaucracy is the fate for CodeIgniter shame … Good riddance, it never matured”. This really embodies the sentiment most users have about other frameworks. It’s arguably the fate that Kohana and Cake have seen.
What I’m saying is: stuff away the cynicism until the first quarter of 2011. You’re going to see a ton a positive changes in the framework, and CodeIgniter users will have plenty to brag about without sacrificing usability and documentation.
There are 6 engineers on the dev team — one who I know very well, and a few others who I’ve met just recently. In all honestly, I’ve been very impressed by everyone, and I couldn’t imagine anything but a bright future for the framework. The other devs are:
Six developers can approach the “too many cooks” scenario, but I think you’d also have to recognize that CodeIgniter is supported by volunteers, and a project needs 5 or 6 people in order maintain consistently high activity when they’re generally working on it part-time.
Okay, so now what:
Over the next few weeks, the Reactor team will be getting organized and planning out the future of CodeIgniter. Check back here or at my Twitter feed, because I’ll definitely post a podcast outlining exactly what the Reactor team plans to do. Also, I tend to lurk around the IRC #codeigniter channel on freenode as _kennyk_ .
If you have any questions, comments, or general skepticism, comment below. I’m all-ears.Follow @_kennyk_