CodeIgniter, The Honeymoon Phase is Over
November 23rd, 2010
A lot of things have been going on within the CodeIgniter community – well, let’s rephrase that – very little has been going on within the CodeIgniter community and this has brought about a lot of change over the course of this month. I’ve been actively involved in the community for a little over 3.5 years now, worked with the framework for around 4 and served as EllisLab’s first Community Chieftain (a program recently cancelled). During this time I’ve learned a lot, met some excellent people and managed to cause enough of a ruckus that real careers, with real salaries, were just being handed to me. Yet, I look back on this past year and I haven’t had the faintest bit of interest in the community and it got me questioning, “Why?”
It’s not due to lack of time. I’m more readily available now than I was during my military career. Over the past year I’ve actually managed to get myself more “connected” than I’ve ever been in my life (thank you Android-powered phone) – I’m literally on the Internet (actively and passively) 19-20 hours per day. I could count the few hours per day I sleep, but telling you I’m available 24 hours just kind of gets brushed off as if your boss was telling you his open door policy; 20 hours has meaning/impact.
It’s not due to lack of use/programming. In 2009 I was hired by General Dynamics IT as a Senior Web Developer and we used CodeIgniter on a few of the applications we built. I now work for Kforce Government Solutions and although not directly using CodeIgniter, a lot of the practices/influences from that framework reflect in the work I do. I still have my personal projects I work on and many of them use CodeIgniter.
It’s not due to lack of opinion/concern. Just today there were about 10 of us working together to lay out a roadmap for the new CodeIgniter Community Branch, organized by Phil Sturgeon. It became apparent very quickly, I still have very strong opinions of the direction CodeIgniter should be headed. There are concepts/ideas that I would love to see CodeIgniter implement, and there are lots of others, although interesting/nice to have I just don’t agree with being in-line with the framework’s goals.
I try to think back. When did I actually stop caring about what happened to CodeIgniter? The event that comes to mind was when Jamie Rumbelow was appointed Community Chieftain. Now, this has nothing to do with Jamie; nor about me no longer being the Community Chieftain. But, rather, it was the events leading up to that transition that put a bad taste in my mouth.
The role of Community Chieftain was not well-thought out, which was understood from the get-go. I approached Derek Jones telling him I wanted to be more involved than just being a user – that I had the time and passion to really help out. Derek had a similar concept he had been mulling around in his head so him and I fleshed out the position of Community Chieftain via email over the course of a week or so. It was known from the beginning that the position would be temporary and would primarily focus on forum moderation and working in the bug tracker. Over the course of my time as Community Chieftain I took on some other “fun” things, like the CodeIgniter Town Hall video chats, speaking at a few local conferences, and really focusing on the forum posts that didn’t receive replies. The job was a blast, I loved every minute of it but exhausting.
I no longer have the emails but I would estimate about 6 months before Jamie’s public announcement as the new Community Chieftain I was hitting a pretty low-point in my personal life. I emailed Derek at this time, explaining a lot of what was going on and informing him I would like to step-down, giving them time to select and announce a replacement. The selection of Jamie happened pretty quickly and then Jamie and I stood by for the announcement… and waited… and waited… and waited.
Now, EllisLab is a for-profit company – they’ve been pretty up-front from the start that their profit generating products are the focus (as they should be). This means, historically, CodeIgniter has been given the back-burner for quite awhile. The company didn’t focus on it much, instead leaving much of the community involvement up to the developers that were passionate about it (Derek Allard and Dan Horrigan specifically, both of which had personal projects built with CodeIgniter). But, I honestly think this one act of delaying the announcement, over and over, is what made me truly realize: EllisLab simply forgets about the CodeIgniter community, and often. It’s not like the announcement of Community Chieftain requires a significant amount of work: a few permissions within the ExpressionEngine control panel that manages codeigniter.com and a 5-minute blog post. No, the only excuse that makes any sense as to why it took so long is, “Whoops – I forgot.” It wasn’t until I got drunk and went off on a tirade during one of the CI Town Halls (not something I’m proud of and I personally apologized to all of EllisLab) that anyone knew Jamie was taking over – Derek then, finally, made the announcement as a measure of damage control.
We all know CodeIgniter was born from ExpressionEngine. The CMS was developed, then EllisLab ripped out the real guts-and-glory, cleaned it off and released it as CodeIgniter. So, when it was announced that ExpressionEngine was going to be rewritten, from the ground up, and based off the CodeIgniter framework us developers were excited. We had come full circle – we were now an integral part of EllisLab’s business plan. We were surely going to see more frequent updates rolling down; hell, we may even be able to improve ExpressionEngine – make it more efficient – and help out EllisLab with our volunteer work within the framework!
But, in our excitement we forgot one key thing: EllisLab simply forgets about the CodeIgniter community, and often. By being rolled into ExpressionEngine now, we have lost our identity. Whereas before, the framework had grown, evolved on its own and was vastly different than the precursor work within ExpressionEngine; now, we are one in the same. Rarely can you respond to, or resolve, an ExpressionEngine issue without involving the underlying framework? Do you duplicate effort now and involve both communities?
From a workload, source management view, rewriting ExpressionEngine on CodeIgniter simply made sense. The work can be completed in one location and it affects both codebases. But, from a community management standpoint, it does nothing to decrease the workload – in an odd twist, it actually doubles the workload by not changing the workload at all (thanks to duplicate effort). If the CodeIgniter community wasn’t around, EllisLab wouldn’t be tackling repetitive community tasks – “do this” for ExpressionEngine, okay no go and “do that again” for CodeIgniter. Monotony is a beast and that is all we are now, an echo of the ExpressionEngine community; and it is with the release of ExpressionEngine 2, that we see the beginning of the end for the CodeIgniter community.
I won’t go into the multitude of ways the CodeIgniter community is being ignored, there are numerous posts that explain it in more detail than I ever could (particularly given my extended absence) but I hope I can shed some light as to why it happened. EllisLab simply can not legitimize the time and expense in maintaining a redundant process. Sure, we may see some future releases of CodeIgniter, but only when those releases fall in line with what is best for ExpressionEngine; and this is the reason for the mockery of the Community Fork. EllisLab has decided to create this as an opportunity for the community to shape CodeIgniter, to implement your ideas into the framework and turn it into what you want. In reality, it’s a farce to give the community the illusion of control, the illusion of change, and the means in which to keep CodeIgniter suppressed so that it may run ExpressionEngine to the best of its ability.
Sadly, the “key players” within the CodeIgniter community just don’t care anymore. Those of us that were the loudest, and dare I say (without sounding like a braggart), most influential have resigned to taking our own little copies of CodeIgniter, tweaked and modified to perfection, into the depths of our own localhost and we’ll just toil away at our duties silently. Of the names that stick out in my head over the past 4 years (and I am sure I will forget some of you, please forgive me) just look:
- Derek Allard: The one person on the EllisLab team that always cared about CodeIgniter, left EllisLab at the beginning of September.
- Dan Horrigan: Left EllisLab at the end of October, working on FuelPHP
- Phil Sturgeon: He’s learning Ruby, working on another PHP framework (FuelPHP) with Dan Horrigan, and continuing to develop his CodeIgniter applications for the time being.
- Elliot Haughin: Although still using CodeIgniter in his daily work, the number of tutorials, blog posts and libraries coming from Elliot has diminished greatly. Apart from a post about a CodeIgniter conference, his last post in regards to CodeIgniter was when CodeIgniter 2.0 was announced in March.
- Jamie Rumbelow: I personally haven’t seen/heard much from Jamie in quite sometime and appears as if he successfully taken his CodeIgniter experience into the ExpressionEngine commercial market (nothing wrong with that at all).
As for me, I’m perfectly content with hacking away for Uncle Sam, much of which are heavily JavaScript-based, Rich Internet Applications, for which I wrote my own PHP framework to deal with months ago. My personal projects in development were frozen at CodeIgniter 1.7.2 a long time ago and I don’t see any reason to upgrade to 2.0. For those projects not yet in development – I’m going to be checking out FuelPHP.
Edit:
Let me go ahead and restate, in case this isn’t obvious – this is not an attack on EllisLab. I think they are a great company with some amazing people working for them, many of which I consider friends and know more about me than I care to share with the public. But, as stated, they must also remain profitable and promoting the growth of a redundant community is not how they do that.
Edit 2:
Added some clarification to Elliot Haughin’s current situation involving his work with CodeIgniter – thanks for the clarification Elliot!

November 23rd, 2010 at 7:42 pm
You nailed it.
P.S. The link to Phil Sturgeon’s website is broken, it has two times ‘http://’ in it.
November 24th, 2010 at 4:32 am
Jamie left in October: http://twitter.com/#!/jamierumbelow/status/27367221890
November 24th, 2010 at 8:27 am
It occurs to me that part of what has happened here is that many of the community “leaders” simply got bored of CI. What was once a cutting-edge framework, became old-hat. It’s become like being into a band two years too late.
November 24th, 2010 at 9:34 am
@Rob
In a sense, yes. The stagnation of the framework being the leading cause of this boredom. When EllisLab started using Mercurial/BitBucket, we were all excited about the opportunity to fork the framework, make changes, submit pull requests and get those bug fixes and new functionality into the framework. Unfortunately, that just hasn’t happened – even though it is insanely simple.
With the Community Branch, it’s the exact same story, except another level of abstraction has been layered on top.
November 24th, 2010 at 10:05 am
You could actually go even further with this article, but you probably weren’t part of the CI community in the very early days, back when EllisLab was pMachine.
In those days, there was no bug tracker, just a forum category, and people diligently filled it with posts and posted patches. There was a small group of really dedicated and passionate folks who wanted to see CI get better. There were all kinds of interesting discussions about how to solve common issues and best practices, etc.
To make a long story short, some of those really passionate folks decided to go through all the top (unresolved) bug reports and feature requests and implement them in an open source way, in the hope that it would make CI development a little faster, since all the code would be done and could be merged. It was received very well by the community, but not at all by EllisLab. Jones and Ellis proceeded to threaten the people involved legally and ran us out of the community, completely ignoring all the time and effort those passionate community members had put in, trying to make CI better for everyone. That is the story of how Kohana was born. Obviously not much has changed with EllisLab since.
These days, I feel like CI is nothing but a circus sideshow meant to attract people, give them a little taste of good stuff, then tell them “Oh, you want real support and tools? Try Expression Engine, it’s built on CI!” Shame on EllisLab for never letting CI be truly open source.
November 24th, 2010 at 10:11 am
@shadowhand
I won’t say I agree 100% with your comment but thank you for your thoughts. In fact I was around when Kohana was born (what was it’s first name, blue flame or something like that). I just mentioned on my Twitter account today how all of this CI Community Branch business reminds me very much of when Kohana was released and I see the “forking” of the community occurring again. Only difference this time is that this fork has EllisLab’s stamp of approval.
November 26th, 2010 at 12:48 am
Michael…read your post on my iPhone from a tweet by someone else. When I was done, I scrolled to the top and read your name again…hmmm, I’ve seen that name before. Isn’t that the name of…yep, a quick search on the CI forums confirmed you’re the dude (with the chick in the photo next to him) that has answered a ton of questions. I have seen you so many times on the forums and benefited from your input, I can’t even convey how much you have helped me out over the last year. I just thought you were a guy that spent way too much time on the forum
So, you were the chieftain? Didn’t know one existed (valid point well made in your post). For all you have done, “Thanks!”
Still, c’mon, your post really does read in such a way that you DO throw Ellis Labs far enough ‘under the bus’ that to say in your ‘first edit’: “this is not an attack on EllisLab. I think they are a great company with some amazing people…” is not a truthful statement at all. Don’t do what you very succinctly petition against in your post about Ellis Labs. You said what you meant. Don’t back down from that.
In your experience, they ‘say’ they are for CI, the community, the open-source love…but in reality are not. They act in their own best interest and have slighted you and the other rockstars of the community that you list. You’re pissed. You’re hurt. You’re angry. That’s alright man. Don’t come back and try to sugar-coat it once you have laid it out.
When all these ‘open letters to Ellis Labs’ started flowing a month ago…I seriously panicked at first. Great. My favorite PHP framework is going to die. I’ve got too many projects I want to do to invest my time right now in learning CakePHP, Yii, Kohana, et al. What am I going to do, I fretted. Then the reality set in that not a single one of you leaving was going to have a dramatic effect on me or my projects. The great exodus was not going to make my web apps ‘stop working’. Not make CI suddenly suck and no longer beneficial to me.
I’m not a ‘social’ guy. I don’t hang out in the forums.
I’m not a ‘hack in to the core’ guy either. I make things work with what the framework offers. I adapt the things others have made to my own needs.
I think that a huge percentage of CI users are just like me. The way Ellis Labs ‘treats the community’ doesn’t change where I am at right now with my projects. When I outgrow CI I will move on. Just like you.
As in all things, when current leaders leave…there are others who come and take their place.
I’m sorry that you and so many of the ‘great’ contributors have been shit upon. I think you truly have. You’ll move on to bigger and better and look back wiser for what you have done here.
So, that is a pretty lengthy reply to basically say, ‘bullshit’ to your ‘first edit’. I hope you’ll admit that is accurate.
Nonetheless, I also hope my comment expresses my thanks to you for all you have done in helping me and so many others along the way. Also, thanks for letting me hear ‘one more plug’ for Fuel. When I am ready to start down the path with a new framework I will definitely keep it in mind.
November 29th, 2010 at 3:15 pm
From my point of view, as a CI user and a person that has tried to promote community involvement through my shopping application, I always felt that I was a second class citizen.
I always felt that because I wasn’t part of the glorious few, the names mentioned in your post, that my efforts were made null. If I had been one of them, then I would have had other members truly excited and ready to participate, simply by the power of my name. Instead, there was nothing.
November 29th, 2010 at 3:32 pm
@Brian
I’d like to offer a “flip” perspective (being one of the “power names” in the community). The majority of CodeIgniter, outside of the power names you mention, has a gimme-gimme-gimme attitude. Hell, it’s not just CodeIgniter it’s open source in general – a small, core group of users develop and promote, everyone else takes and bitches when they’re not given more.
Further impacting this lack of involvement on your project, is that CI developers have traditionally been an extremely busy group of people. All of the names I can think of (even the ones not on that list) are mixing full-time jobs, CodeIgniter development, mobile development, personal websites, etc, etc.
For me, personally, to get involved and help out on another project it has to be something that really gets me excited. Unfortunately, a shopping cart isn’t going to do that – nothing against your app, I’m sure it works great – but for me, not something I want to do. I’ll personally never have a need for it and it’s a problem that already has a solution (not specifically for CodeIgniter, but in the greater scheme of things).
November 29th, 2010 at 4:56 pm
I’ll agree with Rob that, for me, the main problem with CI is stagnation. Although I’m frustrated that Ellislab hasn’t engaged the community in the past, all I want is a great framework. I don’t care who builds it.
I guess you know more about the Community Branch plans than me. I’m willing to see where it goes before passing judgement.
Anyway, good article – even if it was an attack.
December 2nd, 2010 at 1:44 pm
Hey there,
thanks for your thoughts! I am actually very sad about the recent developments of CodeIgniter and its community. When I first experienced CI I was blown away by it’s simplicity and great documentation. There was almost no learning curve and it was so easy to write great applications fast, especially with such a great community and motivated people such as the ones you mentioned above. I would also like to add Phil DeJarnett to this list, who took over DataMapper and put countless hours of work in it.
Personally I added the form generation library to CI and I must admit that I am not checking into the community forums as much as I did a couple of months ago. But not because I lost interest in CI. Maybe because I know it better and don’t have to go back to ask for help, but also because I have been working on other stuff to keep the cash flowing.
When Phil announced that he won’t be maintaining DataMapper and after reading your post I feel very sad about all this and I truly wish there would be a way to make CodeIgniter that “wow, awesome” framework it once was (and still kind of is to me)…
December 2nd, 2010 at 2:43 pm
@Frank
The framework, itself, is definitely still awesome. Like you said, maybe it’s from gaining more and more experience (and lack of time to assist others) but I just don’t find myself getting involved with the community that often. More and more, I find myself just writing things in straight PHP these days, but that is because the majority of my workload is JavaScript based.
December 10th, 2010 at 9:30 am
Michael,
You might want to check out Yii:
http://www.yiiframework.com/
http://twitter.com/yiiframework
The documentation isn’t quite as good as CI, but they provide a full PHP doc set that’s commented pretty well.
I used CI for a while until I discovered Kohana. Since Kohana is just CI forked (mas o menos) turned into PHP5 OO code. KO changed a lot from that initial fork and those changes actually led me back to CI for a short period of time and then I found Yii. I must say, for PHP projects, Yii is now my framework of choice.
My biggest complaint is probably the thing others love about Yii – they use wrapped jQuery widgets in a lot of their “view” widgets. It’s probably efficient and everything, but jQuery widgets isn’t something I really need in a PHP framework.
Nothing wrong with CI, but Yii could very well be the next “hot” framework with an active community.
-David
December 10th, 2010 at 5:08 pm
@David
I remember checking out Yii when it was first released, I haven’t looked at since then though. Thanks for the reminder.