Symfony is pretty good for a PHP framework — it’s probably still one of the better ones. While Symfony is open source, its development clearly isn’t open.
Nowadays, it is mainly unmaintained. Well, it’s maintained by Sensio, which is very closed towards outsiders, and doesn’t apply fixes for versions below 1.3 even when patches are handed ready to them. Which means for instance that the official 1.0 doesn’t work with PHP 5.3 even though the fixes are available and straightforward.
I will pass on the worrisome attitude towards security of the most used plugin as I’ve talked about it extensively already. Constant reminders don’t even work.
There is much more activity towards Symfony2, which might explain the lack of updates to the 1.x branches. Symfony2 introduces more decoupling, which should avoid many bugs reported but ignored by the development team, probably because they are boring to fix and require very deep knowledge in Symfony’s architecture — I would have tried to fix them myself if I had the time and motivation; I’m afraid I usually take the easy route and work around them.
But how does Symfony2 looks for a developer? What I’ve seen is fairly standard and boring, and sometimes looks like sad attempts of reimplementing Python features in PHP. Why not use Python then?
Doctrine2 is even worse — it’s the same broken, undocumented API. Propel 1.5, with a minimum set of changes, became much more powerful and easy to use for a developer. At least there’s hope on this side.
Overall, it seems the Symfony lead developers don’t take much input from the community (like the decision to follow Zend conventions), and focus on making something fun to write, instead of fun to use. I have the choice between an undermaintened version and a future version which will break compatibility without giving me much advantages; moreover some of the stuff that was shown in conferences isn’t event implemented yet. I’m not used to see that in the free software word.
Time to switch?
21 Comments
On our intranet, I still have 1.0 apps installed, but I don’t care too much as they are not vulnerable to exploits.
Other than that I really like symfony although I might start migration towards ZendFramework at some point.
Maybe someone can fork the 1.x branch in a new community driven project !
Switch to what ?
If Sf2 really sucks that bad once it’s done, people will continue using old versions and there might even be a fork. That’s the real beauty of open-source. Why should only the inventor take care of the progress of his/her software? What if they got ill or otherwise unavailable? In an ideal world, everything would be so well coded and well documented that anybody can just dive right in and solve the problems. Of course, nobody is perfect and thus our code isn’t.
I found fixing problems with symfony and Doctrine, at least the ones I have, pretty easy to do. But I feel your pain about the lack of docu, sometimes I am frustrated that only the “beginner” stuff is explained but the full power is concealed, e.g. by lacking a simple list of possible values in a config file.
Symfony2 is a great move but as you said, switching to smthg likePython would be more efficient if uwant to rely on more robust tools than php…
Personnaly I’m giving a try to django these days and am perfectly happy with it.
I don’t claim to have the perfect replacement. Never tried Kohana, but it seems much less powerful.
Maybe the alternative is a community-maintained Symfony.
publish regularly, and you will see that symfony is actually maintained. And
symfony is not maintained by Sensio; it’s maintained by the symfony core team,
which is mainly composed of people not working for Sensio. Have you noticed
that Kris Wallsmith, the symfony 1.3/1.4 release manager does not work for
Sensio? And the same goes for the symfony 1.2 release manager, Fabian Lange.
Sensio is very closed towards outsiders? You must be kidding. Just have a look
at all the contributors we have for Symfony2, even if it’s not even in alpha
stage.
As far as old versions are concerned, just give me which other framework has
such a maintenance plan? Which one offers 1 to 3 years of maintenance for all
its versions? And I’m talking about maintenance, not new versions with new
features (even PHP does not do that). Want support for 5-7 years? That’s also
possible through paid support. But I guess you just want free stuff, right?
Want to support it yourself? That’s also possible. But as you say in your
post, you just go the easy route and you don’t really try to contribute back.
What a poor attitude towards an Open-Source project.
To sum up, keep in mind two things: an Open-Source project is as good as its
community; and a community needs more people willing to help and less people
ranting.
Good luck with your next framework.
People are submitting patches. Which are seldom applied, often without attribution, and only to newer branches when it would cost nothing to apply them to the older ones too.
Hopefully, using
gitwill negate some of this.*Most* patches cannot be applied because they are just plain wrong (they kind of fix the specific problem of the person and they break something else; and they don’t fix the root cause). That said, if you think there are tickets with valid patches, which is of course quite possible, then feel free to raise the issue on the dev mailing-list.
There is a cost for everything (think release process). But if you want to become the new maintainer for symfony 1.2, I would be very happy to give you everything you need, even if you don’t work for Sensio ;)
As a side note, before the end of life of symfony 1.2, many people said that they wanted to maintain it for a longer period of time. Not one or two people, I’m talking of many people. What have they done? Nothing? Why? I don’t know. Probably because contributing to an Open-Source project means commitment, it means dedicating some of your free time to something that you are not paid for.
I’ve always wondered what does this exactly means. All I know is if you want to book adwords with the word “symfony” in it, you have to request explicit permission to Fabien. I think it’s totally unfair regarding healthy competition and companies who try to make money out of services around an open-source project like Symfony. Remember that without any user, a framework simply doesn’t exist.
And what’s the point with the “get a Symfony guru” for 3k€ a day? who can afford such a price nowadays? and no mention of the “Symfony expert” which can be rent for 1.5k€/day because “he worked more than one year for SensioLabs on professional projects”. One year? must be kidding, probably.
Sorry for the rant but I think that Sensio is taking the wrong communication path at this very moment.
You are free to copy Symfony and name it Cacofony or something!
I think it is necessary to protect the symfony brand. Imagine if Walmart wanted to call their new Yogurts Symfony and bought all the related domain-names ? Symfony developers would be hurt as much as Sensio.
Concerning the sensio guru website which did shock some developers in the community, I do not see how it hurts any of us, on the contrary ! If Sensio is able to charge as much, and you think you have more experience than their “symfony experts”… now you can use this website as a proof that you deserve more than 350€ a day ! And you can thank Sensio for that.
As for maintaining the 1.0 version, Theodo has discreetly started such a task, with http://github.com/theodo/symfony1.0-backports Please feel free to contribute !
I have always been Doubling my PHP and DotNet(VB,C#<ASP) but I am recently planning to switch fulltime to DotNet (C#,ASPX) due tosome weaknesses of PHP I have been able to identify.
.NET? OK, the troll got too far.