Symfony 1.1: A Smart Move
You’re probably thrilled about the recent release of symfony 1.1. The new features and the rework of the inner architecture are just astounding, and yet you probably miss the real beauty in it. There is a strategy behind this release, that gives a glimpse of the future of the web. Once you get all the pieces together, you can do nothing but acknowledge that symfony 1.1 is, indeed, the best framework ever.
A Perfect Timing
Symfony 1.1 was released on a Sunday night, the last day of June 2008. In the future, people will remember this day as being the first day of the holidays. They will probably associate it with a nice movie watched on TV, or a ride back home after a week-end in the countryside. Or, most probably, they will just forget this day. Only the true developers, the ones that keep an eye on the symfony timeline all the time, will ever keep 2008/06/29 in their deepest heart as a moment of deliverance.
Symfony 1.1 was released at the perfect time to leave aside all the people that are not really involved. If you just used symfony for one project, and left if afterwards because it lacked some feature that you needed, then you don’t deserve to be informed that this new release does have this feature. Symfony 1.1 is so good, that it should not be left in everybody’s hands. Think of it as a forbidden manuscript of the middle ages, that only a few copyists ever read and got a fair picture of.
It could have been released a month before, and people would probably have heard of it. It could have been released during the week, and people would have heard of it. It could have been released when people expected it (at least 6 months ago), and people surely would have heard of it. Instead of that, symfony 1.1 was released the same day MedicineNet.com published their famous paper “Working While Tired May Harm Heart”, and that’s a sign.
An Event Like No Other
Do you remember Firefox 3 download day? The event was prepared so much in advance that the guys at Mozilla got to the Guiness Book. This is the kind of publicity symfony really flees. Being popular brings in a lot of undesirable people, like non-professional PHP developers, people who ask questions, or worse: business opportunities.
Instead, symfony didn’t do more than a single blog post. No screencast of the new features, no public call for blog posts and community buzz, no special event in Paris, France, where some champagne could make heads dizzy. Let Ruby on Rails, CakePHP and CodeIgniter spend money in stupid events that just aim at creating buzz. Symfony is serious, it is for professionals, it has no time or energy to lose in such childishness. The code is what’s important, nothing else. And most of all, the website was not redesigned for the occasion. The current design of the symfony project framework is so great (I made it three years ago) that it should never be changed - ever.
So basically, the release of symfony 1.1 was organized as a non-event. The whole world had to understand that, even if it was the end of an 18 month development cycle, in one of the best open source web application frameworks, it was not a matter of importance. Please people, don’t come and try symfony 1.1, we don’t want you.
Barriers For The Masses
But that’s not enough. Even with absolutely no publicity, there is still a slight chance that the news of the symfony 1.1 release come to a non-symfony developer. Fortunately, a fake “First Project Tutorial” was there at the time of the release to repel such an unconscious fellow. Let him try symfony and get stuck in an impossible and non-working tutorial. Any normal-minded developer following this tutorial should just feel insulted and walk away. The impossible tutorial was removed from the documentation index afterwards, so people can’t get fooled anymore. That’s a pity, but at least they have no simple way to get into symfony - there is no “First Project tutorial” at all for symfony 1.1.
And if any madman really sticks to symfony 1.1, then he has to read 50 more pages than for the 1.0 version and understand the sfValidatorSchema to build a simple contact form. The fact that all the available plugins, tutorials and applications use a much simpler method should take care of the last non-motivated ones. Anyone who stays after that is either a masochist or a true symfony zealot.
Only then can a developer consider himself a symfony 1.1 developer, and join the brotherhood of the Proud PHP Developers Who Hate PHP.
Never Answer The Critics
With this strategy of focusing on a little kernel of early adopters and leaving the others out, there is a risk that some dissidents voice their opinion and protest about being ignored. How can symfony 1.1 and the symfony Core Team react in such case? What if the part of the community they are getting rid of publicly disagree? What if someone expresses a diverting opinion concerning the people left aside?
Once again, the symfony project gives us a great lesson of communication. They just ignore the criticisms and never answer them. Their motto is: Never reply to hostile posts, never answer embarrassing questions, never explain your choices. Symfony users must understand that they embrace a religion more than a framework, and that decisions are made for the greater good. It’s all a matter of trust. If you don’t trust the symfony core team, then you should just leave.
Conclusion
Once all that in mind, if you are in the core of the symfony target, you probably feel very comforted in your opinion that symfony 1.1 is, indeed, the best framework ever. And you probably agree that the future is bright for what was once a set of “Professional tools for lazy folks”. Symfony 1.1 is a set of “Professional tools for not lazy folks”. And be prepared: symfony 2.0 will be “Professional tools for somebody else than you”.
Possibly related posts (automatically generated):
I appreciated your position on 1.1 much more before reading this.
Well, let me be the first to say this… Huh?
Very nice post:))) thinking symfony as religion is VERY VERY fun;)))(b.t.w. I’m symfony user too)
I really don’t understand what you’re trying to do but I will never ever reply to such a troll.
Well, symfony 1.1 was not really the framework that I was waiting for. It does the same things that could be made with Symfony 1.0, but syntax was completely changed. Especially it hurts you start to migrate your project. All the time Symfony has updated itself without affecting program code, but now you need to review everythning to update for 1.1.
I really don’t understand why should I migrate to 1.1? I need this new form framework just in one place of my project. It has new more logical architecture, but it doesn’t affect development process. I upgraded one my small project just to see what magic is there, maybe I missed something in all this release features lists.
François, I do really appreciate your interest about our health and business opportunities, but does the community really need such flamewares?
I don’t think so. I’m very disappointed.
Hey, are you drunk, man?
Hey man, are you drunk?
Everyone is entitled to an opinion, but this is not really an opinion but it looks like personal frustration/flamewar
I think you can update the information in the right top of this blog : He is an active contributor of the symfony project and the main author of the symfony documentation. He recently released a book, The Definitive Guide to Symfony (Apress).
Change it to he WAS, alot more acurate.
P.S. Who cares when it was released ? It’s about the framework right…
So, what is the point of this? is it good than CakePHP ? It probably falls on a special kind of crap …
isn’t it ?
OK so there are obviously some sour grapes. No need to burn your bridges my friend. You’re obviously passionate about symfony but are frustrated the project isn’t being managed in the right way.
It took me 6 months to get my 3 days of improvements to the Askeet tutorial approved, so I know where you’re coming from. The processes the team is using are just not up to professional level. They should charge for the project and employ people to fix the bugs and documentation.
I can see you’re upset because you put so much into the project and its not going the way you want it to.
Well, time to do what every other open source project does. Fork the code and create a new project. Make it your own ideas. Charge for it, a reasonable sum, and employ people to make it great.
Unfortunately that is the only logical thing to do.
But I agree you should revise this post, no point in burning your bridges, it brings nothing positive.
PS … and if your posts are going to be like this then I will be reluctantly deleting my RSS subscription …
For sure this kind of post is the best promotion for symfony. Wake up, Francois.
I believe that this post will be long remembered.
Most developers do not know the real causes of your conflict. It’s the reason that positioning in favor of someone would be an injustice.
I think everyone appreciates the great work done by François but at the same time we all hope that the framework is maintained in good health and with many admirers.
Great life to Symfony ! (anyway, a party would have been ok)
Go easy, Francois. You’ve done some great work with documentation and sfPropelFinder. It sounds like you’re hurt, but keep your composure and be dignified. The world doesn’t need another Zed Shaw.
This is a very depressing debate. I’m new to the Symfony framework - I have used it on one small project thus far. Over the next year the company that I work for will be undertaking several large PHP projects, and part of my job is deciding which one to use. Based on my experience of Symfony 1.0, I would currently favour Symfony (over Zend Framework and CakePHP; I haven’t looked at Kohana yet), but posts like this suggest that Symfony might not be a great choice.
As an outsider to the debate, I recommend to both sides that you try to reconcile your differences and act for the good of the Symfony framework. Francois makes some very good points and it would be very wise of the community leaders to address these. Likewise, there are probably more constructive ways of expressing these suggestions!
I am a newbie in the world of Symfony, so I don’t expect that anyone will listen to me. But this is precisely why I have a good perspective on this - I’ve seen many open source projects succeed and many fail, and I want Symfony to succeed because, right now, it makes my job a lot easier.
If you’re interested, I recently posted a review of Symfony 1.0 as part of a series comparing different PHP frameworks. I’m hopeful that when I revisit this series in a year’s time, Symfony is still the best.
Some points really are valid. This definitely needs a long answer anyway. Toutefois : pourquoi tant de haine ?
Great article François! It’s heavily exaggerated, but the issues you address are definitely there. I suspect there was a bottle of wine involved?
Fabien: Take it with pride and prepare for symfony 2.0
I don’t really see what a post like this will achieve.
You have stated previously that you aren’t involved with the project, which is a shame, but you did it in a dignified manner.
In conclusion, “symfony troll is symfony”..
François pls delete all comment from the same email address as this comment (ie including this one to).I’ve decided to stay out of this one!Thx.
I hereby definately decern you the BEST 2008 TROLL award.
Maybe you can even concurrence L. Jouanneau.
I want to contribute what I believe are signs of success for Symfony:
Strong documentation with community involvement.
Solid support for web services (JSON, XML, SOAP, RPCS …).
Ease of creating new secure web apps.
Performance
Good vision for future direction.
Professional level CMS, Ecommerce, and Forum that work together and are easily extensible.
A few of these are well on their way. I don’t think the last point is on track though. This is where the talents of people like you, Fracois, come into play. You can create your own enterprise while playing nicely with others. Look what Varien did with Zend Framework. It looks as though they have a thriving business that is making a large impact on the ZF community.
One last comment. A lot of “frameworks” are difficult to truly learn. Take Drupal for example, it is a great CMS but the learning curve is high. Granted at the top of that curve you have control over a powerful CMS, but that just leads back to the previous point.
Mark 1
You are not going to do any good to symfony nor yourself with posts like this. You are talented, why are you shooting a bullet in your own foot ?
@all: Thanks you all for your comments. You may be interested in my next post Sorry to disappoint you.
I’d echo the sentiments from Rob Knight.
There are some good points made in Fabien’s post, and I guess I’ve been too consumed by my 1.0 projects to have noticed the lack of buzz and “interest generating” strategies that could bring more people into symfony. I understand also that it must be frustrating to pour a lot of work into a project that then goes off on a tangent that you don’t agree with.
That said, like some other commenters here, I tend to be worried about posts like this that might somewhat fragment the community. Both you, Francois, and Fabien too, have been instrumental in creating some great software, though mistakes have been made - it happens in open source just as it does in business, and in life in general! I wonder though whether the general tone is a touch too hostile, and that such a position might harm rather than foster debate.
Despite my reservations about this post, I do hope Fabien answers some of the issues, namely that some of the tutorials are not particularly ready. Askeet in particular is generating some annoyance amongst new users - and perhaps more fanfare might have been a good idea. Lessons to be learnt for 1.2?
Sorry - I think I was on autopilot… I should have said that there were was good points in **Francois’* post. Sorry Francois!
Incidentally I posted my previous comment at the same time as Francois’ response - thanks for the new post, Francois. I think this does serve to clarify things.
sounds like lovesickness to me…
yeah… I would love that boat party, though… Champagne flowing and b*tches dancing while sfForm API would be projected on a big screen…
@Cedric: your misogyny is unwelcome here, and off-topic. Discuss the topic at hand, or go elsewhere.
halfer, the topic here is “stressed” enough to let someone make humor no ? (It was quite funny and cynic, just like the post. Anyway if it made other people laugh it could have been good, cause this page is definitively hard to stand).
It’s very dificult to learn symfony with so many errors in the tutorial!
Funny how everyone calls him a troll, but until today there is still no working tutorial for Symfony 1.1… I can’t even locate an updated piece of documentation on how to use the forms.
Thank you, thank you, thank you! You have confirmed that I am not crazy.
I am a new symfony developer. Just spent the last couple of months working on a project built on symfony 1.0. Earlier this week I decided to start a new project in symfony 1.1. After beating my head against the wall with the forms process I searched the web. And I have come across this blog. Now I know I am not crazy. The new way of doing things is just way more complicated. Perhaps more complicated than it needs to be.
What attracted me to Symfony was the professional quality of the documentation. It was easy to get started, and the book guide was well organized for a resourceful newbie like myself.
I am not intimate enough with the community to understand the ins and outs of the direction symfony is taking, but I can tell you as a new user it is a bit daunting. 1.1 is a bit of a misnomer in the version numbering. Given how dramatic the changes are in the syntax is feels like it should be called 2.0.
Thank you for writing this. I have been working on a project that has fallen way behind because I made the mistake of thinking the documentation would be up-to-date and unreliable. Also, there are some serious bugs which at least there are patches for in trac.
That said, I still think the symfony community is has been helpful and very friendly to me in #symfony in irc.freenode.net
Like Gordon, I feel validated and no longer think I’m crazy.
yeah, interesting. I will say this though. I used V1 on 3 or 4 sites about 2 years ago then company policy forced us to change. I have come back to symfony in the last 2 months and found (by accident) v 1.1. Your right, the docs aren’t up to scratch, i had to read the source to work out how to use forms and other elements.
the point is. once you get there 1.1 is very impressive, I am in the process of assessing it for company use and am excited about using it again.
don’t be too hard on yourselves. symfony is heading in the right direction, you all do an excellent job.
[...] Yesterday’s post got its share of reactions, mostly negative, as I expected. People were either not getting my point, or complaining that I’m using the wrong method, or thinking that I crossed a line. [...]