November 12th, 2010

Symfony 2.x, Apostrophe 1.x and Concrete

Tom Boutell
Chief Software Architect
Edit: Symfony 1.4 is officially supported until November 2012, which is quite a long time in software terms. It won't be going away any time soon.

We're eager to start working with Symfony 2.0. But we haven't, not yet.

That's because we're still building many projects, client and otherwise, in Apostrophe 1.x, which was built on Symfony 1.x. And we're still upgrading and improving Apostrophe 1.x in major ways, based on the clearly and urgently expressed needs of our clients and others.

I don't want anyone in the Symfony community to get the wrong idea here: Symfony 2.0 looks awesome and we plan to use it. But we can't do it just yet.

Here is the problem: Apostrophe is a house built on top of a foundation, a good quality foundation called Symfony 1.4 which was the latest and greatest when we began building the house. And people like the house and would like more houses like it, and we are busy meeting their need for them.

Meanwhile the Symfony 2.0 team have invented an entirely new kind of cement. The old cement is good, but this cement is awesomer— way awesomer. And some folks wonder why we don't replace the foundations of all of our houses. Or at least start refusing requests to tack on extended kitchens and third bedrooms to the houses we've already built.

Well... if you're a zillionaire and you're building a summer home as a hobby project and you discover this awesome new cement, maybe you knock the house down and start over then and there (leaving the environment out of the picture for a moment). But if you're a professional builder and you have a lot of existing commitments, you need to follow through on those. And you should. Those half-finished houses are great houses, with good foundations. Great foundations aren't necessarily worth setting the completion of the house back a year.

So please bear with us while we finish our houses and know that we are keen to use the new cement in our future foundations... that is, when we've had a chance to breathe and think about the entirely new (but better!) building techniques that are required when you use the new cement. And how those techniques might dovetail with our way of scaffolding a wall.

Periodically all open source projects say "this stuff stinks on ice, let's start from scratch, no backwards compatibility!" And they do, and not all of their users follow them to the new release right away, and people tend to get a little hot under the collar as happened with Apache 2 and even PHP 5.

When you're building something amazing and new it can be tough to remember that other people have their own development cycles, building beautiful and elaborate things on top of what you have built. They are following their own business imperatives, or at the very least trying to finish their own thoughts while you race on to the next idea. They will check out your latest and greatest when they are ready.

The enduring popularity of your really-good-but-not-latest-and-awesomest software is a testament to the quality of your past work, not an indictment of your latest work.

That said, as architects we have an obligation to check out technologies that will vastly improve our future houses, and that means carving out the time to seriously investigate Symfony 2.0 before it is 100% cast in stone. And we will do that.

Tom Boutell
Chief Software Architect

Check out another article
November 5th, 2010
Nice Touch