CodeIgniter Reactor? What’s Going On?

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.

This entry was posted in CodeIgniter, PHP Development, Tools. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.
  • David Arnold

    Kenny, thank you soo much for mentioning the docs. I’m glad that someone understands that good docs can make/break a framework (or anything open source).

    I know one place you can start on the docs. If the active record insert_batch, update_batch are here to stay, they could use some quick mentions in the docs!


  • Kenny Katzgrau

    Hey Dave,

    Thanks for the tip! I’ll look into that as soon as EllisLab officially gives us repo access.

    Also, a big thing that might be happening soon is comment-able docs. A lot of people agree that the comments are sometimes the best places to learn about something.

    – Kenny

  • Pingback: CodeIgniter/PHP + IIS + MySQL + MSSQL: It Works!

  • sakuki

    Why in first place two branches for a framework ,whatsoever ?

    We are seeing a new php framework out there on Internet each day. No one is thinking about mustering knowledge and resources towards common single php framework or event keep things simple.

    split , split , split …..

    The worst thing in open source community.
    Don’t get me wrong I don’t hate open source

    “…… When you see “CodeIgniter” by itself on this web site, it is referring to CodeIgniter Reactor. The downloads, documentation, and forums all reflect this change. Put simply, Reactor = CodeIgniter. …..”

    Where I ll get the f… docs, forums etc .. .. ?

    Are you going to brand “CodeIgniter Core” a commercial version after a year or two ?

    Will “CodeIgniter Reactor” will be buggy version of “CodeIgniter Core” ?

    you see without no reason I got all these questions , which were not there in first place !

    bad decision !

  • Kenny Katzgrau

    There were a couple different reasons for the creation of the Reactor branch. All you need to know is that “CodeIgniter Core” isn’t going to see a whole lot of development. It’s essentially frozen in time because it’s super-stable, and also, because EllisLab’s Expression Engine runs on top of it.

    I don’t work for EllisLab — I’m an open source developer who commits to the project. They branched because the community wanted to see new features, but EllisLab still wanted to retain a something that wasn’t a “moving target” for enterprise development.

    There are going to be some very positive changes, so trust me, it’s a good thing. And is “splitting”, or “branching” such a bad thing? Isn’t the ultra-awesome GitHub built off the very idea of forking, merging, and branching with community? Keep an eye on the framework — you will not be disappointed.

  • frank

    the main reason why i am using CI is the docs

  • Pingback: CodeIgniter/PHP + IIS + MySQL + MSSQL: It Works! « Niroze's Weblog

  • jurlan

    I’m a little bit confused. Will future updates of CodeIgniter still appear on the official website or do I need to start looking at other places in order to stay up to date with official ‘Reactor’ releases?
    Thanks for clearing this out to an absolute beginner

  • Phillip Hebert

    From when CodeIgniter reactor open again, it is working perfectly. I just found your this post and think to appreciate your work when it was down for nurser users about issues regarding it.