#li3 = Lithium = Cake3
10-25-09If you follow the goings on with CakePHP in any way, and you haven’t had your head buried in the sand the past week, then you probably already know that Nate Abele (@nateabele) has followed Garret Woodworth (gwoo) out of the door and left the CakePHP project. Nobody has stated reasons but seeing some IRC snippets and reading between the tweets it seems that the reasons behind the departures are centred around disagreements with the project lead Larry Masters (PhpNut).
While two developers leaving does not equal a great and profound issue, it does pose the question of whether or not CakePHP is a sustainable project in the long term. Over the years there has been a fair bit of core team dirty laundry being aired in public and I’ve long had my doubts about whether or not I should continue using the framework. Fortunately for me, I no longer work as a full-time Cake dev and so I’ve drifted away from Cake to a certain extent and have often looked for something to replace it for my prototyping needs.
I’ve toyed with Ruby (Rails) and played with Python (django) but I always come back to the fundamental issues of having to re-invent the wheel. I’ve mentioned many times that I consider myself a ‘duct tape coder’ and that means I try to simply Get Things Done. PHP is the only language that allows me to do just that - if you need some specific functionality, chances are that somebody has already coded it for you - and if I’m being honest with myself, I actually enjoy coding PHP.
It’s probably also worth noting that pretty code is not high on my list of features in an app for all the PHP boo-boys.
So, that brings me back round to the topic of this blog post. It turns out that Nate and gwoo haven’t abandoned Cake altogether, in fact they’ve forked the PHP 5.3-only rewrite of Cake (Cake3 to those in the know) into the Lithium framework. You can follow the #li3 hashtag on Twitter to see what I’m talking about.
Unfortunately, the Lithium website is behind lock and key right now (well, http auth) and is due to be relesed to the world sometime tomorrow. I don’t know what direction they plan to take the project, but I only really have two items on my wishlist:
- Super minimal core. Everything over and above basic functionality should be a plugin/add-on.
- Central repo for plugins. Something like apt-get or ruby gems would be awesome - I build a lot of small concept apps and so setup speed is critical to me. Being able to install a bunch of plugins from the cmd line would be amazing.
- Plugin wishlist: file uploads, image manipulation, media handling (video), Sphinx search, CouchDB.



2:11 pm
Granted we’re launching in a few hours, I figured I’d drop by and give you some answers on your wishlist:
(1) Yes.
(2) In progress.
(3) Media plugin in progress, CouchDB in progress (for the core), everything else… we’ll see. I mean yeah, probably.
4:24 pm
Good news Nate, it sounds like Lithium will be a perfect fit for my needs. I’m looking forward to the grand unveiling now…
4:40 pm
bitchin. that Ruby Gems-like system would be uh-maze-ing.
4:43 pm
On the part about “plugins like Ruby Gems”, I sure hope the plugin repository doesn’t give the same amount (or greater) of headaches that a “gem install” gives.
My two cents’ worth.