Sorry to Disappoint You
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.
For those who didn’t understand, let me rephrase it. The release of symfony 1.1 arrived too late, didn’t create any buzz, left some developers on the side of the road, and was not enough prepared. It’s not that big a deal - it’s just a release, and symfony 1.1 is a great framework, with a bright future. I know that most of it is not intentional, that finalizing symfony 1.1 required a lot of work, and that choices had to be made. But it’s sad because it could have been avoided, and I was disappointed by the way it happened, after a year and a half waiting for it.
All these remarks were expressed in the past, either in private or in public, and in a kind way. I also proposed two solutions to avoid the kind of mistakes I am talking about: more communication, and more community. I suggested that as well, many times. With approximately no official reaction. So I rephrased my griefs, so that people would know that things could get better. I took advantage of the post to be sarcastic about these things, because they are not serious enough to get angry. People who don’t like that tone can just stop reading this blog, since it’s the way I am.
Hitting a project with only the intention to hurt it is a stupid thing to do. If you think that’s what my post was about, read this blog again. Symfony matters to me, because I gave a lot of my time to this project, because I still use it, and because I believe that it has a huge potential. Even if not part of the core team, I am still an active contributor to the project, I dedicate a large share of my free time to contribute tutorials and plugins, and I want symfony to get better. So I think that I’m allowed to voice my opinion about it. This is not a personal matter at all, it is all about a community project I feel involved in.
Please note that my post was provocative, but that it didn’t include lies nor insults of any kind. So yes, I trolled on the sole purpose to provoke a large reaction on a calm and sunny afternoon. I guess it worked, and I hope for the sake of symfony that my concerns will be addressed in the future.
Possibly related posts (automatically generated):
At least you made my day ;). Well - the way you provocated is surely not the most productive, but it keeps eyes open on the things you pointed on. Chin up!
Hurting to be heard? That’s a strange way to get some attention, but okay I can eventually understand your frustration not beeing heard as you’d might expect, as an historical contributor.
My main concern is that put aside your angry posts and even you point some relevant points, I cannot see some /concrete/ implementation of your propositions and claims.
Why didn’t you make a sfFormsYamlPlugin? Why didn’t you organize a party by sourself? Why didn’t you help to contribute the “My First Project” tutorial? Because Fabien and you disagreed on the way to achieve it and on the core features implied? Common, every open source project is always fully made of exchanges, negociations and compromises, as in life in general. I cannot see Fabien as a dictator as I can see a lot of external contributions provided by third part developers…
Sorry for beeing a bit hard, but I do think you’d be more productive and happier by contributing something on your own concretely to solve the current problems than creating new ones.
i was realy disappointed by previous post:))) nice try;)
@Pierre: Try to check your information before saying stupid things. I’m the third contributor of the symfony project, and I don’t wait for your signal to contribute my code.
And again, I didn’t write my post out of anger. But replies like yours tend to make me angry, so please avoid that in the future.
Dear François,
Indeed I’ve been very disappointed by your last post, I would have been so with anyone, but a post like this from you, who are so much involved in symfony made me feel a real strange impression.
Anyway, even if I didn’t agree with you on all the points you shared in the post, I thought you were legitimate in putting on the table the remarks you made.
From the other hand, I was strongly persuaded that it wasn’t the right way to do it.
Today, I think I have to apologize : the “buzz” you missed with symfony, you made it for your blog, everyone had to thing about your thoughts, so congratulation, from a “marketing” and “communicational” point of view, you were totally right.
This “apologizing” post is a good thing for the previous one.
(But that’s true, you could have been a little bit less hard in the previous post … I can understand that some people felt insulted)
I’m very glad that someone is speaking for us. Believe it or not… there are actually some developers that think as Francois!!!
I think that he is one of the few people who can make things change for better. He has a great way of describing the actual problems of symfony. I believe that what he is doing, in the end, will contribute to the improvement of the framework.
We need people with a deep understanding of symfony to be very critic. It’s the way to improve.
Thanks Francois! I really appreciate the effort and time that you invest in “our” framework!
http://en.wikipedia.org/wiki/Non-apology_apology
Hi Francois, i ‘ve read the previous post and i really got impressed!! Anyway i know this is a good way to explain your thoughts to the community about symfony but i don’t agree with some things in the previous posts. In otrhers yes. Maybe the previous post ‘d be more efficient if you weren’t soo sarcasm. Maybe the next time think how you express yours ideas twice. I know this is your blog and you post what you want and i’m nobody to say what you have to post or not. But take care about there is a lot of symfony people who read this blog and appreciate your effort put in the symfony preoject. And understand we have a kind of respect of you, so please i suggest you just to not throw this out(i being polite, please don’t get offended ).
Sorry for my poor english…best regards…
I thought your post yesterday was funny and incisive, Francois.
Pierre, when the “bugs” or “missing features” you see in a project are at the communication, marketing and user acceptance level, code checkins aren’t the way to fix it. Gradually escalating your efforts to explain how to fix them is about all you can do.
Francois, hopefully the net effect of your escalation will be better symfony releases, and hopefully you can find ways to de-escalate the discussion too.
Hey Francois,
I don’t get what this fuss is all about. Your previous post was brilliant! Not many people can pull off sarcasm without becoming hostile, and, as everybody can see, writing your post as you did is getting everybody engaged and that is what community is all about. Seriously, to all the people trying to tell others how to express themselves - join a company instead of a community.
However, one thing that seems weird to me is that one of your biggest issues with v1.1 seems to be the lack of a “magic” layer.. Shouldn’t this be easy to implement as a plugin that provides all sorts of helpers and abstractors? Expecially since you said v1.1 is one of - or possibly the most flexible framework?
I mean, look at Linux.. tons of different distributions of the same core thing.. why not have a “symfony a la Francois” distribution with its own book?
Have a great day everybody, Daniel
@Daniel: You’re absolutely right. I have already began doing it with sfPropelFinder, and it seems that my idea of a missing form component has convinced Kris Wallsmith to start a plugin actually doing it.
But there are things that I can’t contribute in my side, and decisions that I’m not making. Among those, the lesser simplicity of symfony 1.1 leaves a lot of developers out of the project, and I think these decisions should be discussed among the community… and cannot be undone by a plugin. For instance, think about the choice to remove simple form generation in the CRUD in symfony 1.1 and its consequences on the First Project Tutorial.
@Pierre, whilst there is debate about whether Francois’ post approached the issue in the right way, the idea that Francois is telling people what to do whilst not contributing himself is simply not true. Have a look at some of his previous posts to see code his company has donated to the symfony community.
I think your previous post was sarcastic and passionate, but not vulgar, nor offensive, in any sense.
The community, and the core team developer, should listen to your rants, leaving aside the tone you used to get them out. Because they’re constructive opinions and they come from a main contributor.
On the other side, I can understand the effort the developer team put in the symfony 1.1 release and how they left any other issues aside. I understand it, but I still think it’s a mistake.
Good coding tools are not made just by good code. You need to involve the users, find a way to get feedback from them and improve the tool in the direction they tell.
So, I agree with you on this, there WAS need to prepare the sf1.1 launch, from a communitcation point of view, it WAS an opportunity to build up the community. I hope that in the future Francois won’t feel personally offended by such harsh criticisms, and that the path to the 1.2 and 2.0 milestones will attract more partecipation and (why not?) hype.
Ooops I wanted to say Fabien. Fabien should not feel peronally offended by harsh criticisims, not Francois.
Sorry.
Hi Francois,
I read the ‘previous post’ today (13 July where I am in the world) and had the benefit of reading all of the comments, plus this current post and all of its comments to date.
First: I am in your camp. There was nothing other than a blog post to announce the stable release of 1.1. If it’s such a great tool, then certainly it should be marketed as such. Your points are all valid in my opinion. I don’t see it as ‘bitterness’ and it’s too bad that people who have arrived at that conclusion might have missed your true points about community, marketing, etc.
Probably just like most of the posters here, I have to be selective with my time when it comes to how I invest in my skillset because it is my skills that pay for my life and my family. I don’t want to be the guy who put an incredible amount of effort into learning a product that will not pay off when I try to land my next consulting job. (I speak as someone who does work with PHP, so we can remove learning Ruby on Rails, etc. from the point I’m trying to make).
Let’s look at the case of Zend Framework:
Whether Zend Framework is a great tool or not can be debated — no doubt — but what I am finding out more and more often is that developers and managers alike have HEARD of Zend Framework and these people will make development/business decisions on proceeding with that framework before truly comparing it to symfony or another framework. Does that seem ‘fair’ or ‘responsible’ on the part of decision makers within a company? Probably not, but it happens. I don’t have hard statistics to back up my claim… I am speaking from my own experiences from doing consulting in the San Francisco, Los Angeles, Orange County, and San Diego markets.
So, for someone like me: the investment that I have made in learning and harnessing symfony is not paying off if the marketing behind the framework isn’t there. I end up being the guy having to put together a PowerPoint presentation to convince those who have accepted Zend Framework as the ‘right choice,’ simply on the grounds of the buzz that surrounds it, to even consider looking at symfony. That is not an easy thing to do and it certainly would be useful if Sensio Labs themselves put some effort into the marketing of symfony (namely with respect to the 1.1 release) that is equal to the marketing (and eventual market acceptance) of other frameworks such as Zend Framework or Code Ignitor. Francois, yes, I agree with you: symfony 1.1 was a major milestone that many of us have been following and waiting for and it seemed to have just been a bleep on the radar when it came out finally.
In conclusion, Francois, you said it loud and clear and you have a lot of courage to be going against the accepted (perceived?) culture in the symfony community with respect to marketing and product release. You are doing it at the expense of having your name and reputation dragged through the mud as someone who is PERCEIVED to be ‘bitter’ about his relationship with Sensio, but hey — this is YOUR blog and you can say whatever you want.
I think that regardless of your efforts to symfony, there will be those too quick to conclude that you are bitter, but no, I don’t see it that way. As I said, I am a working man who needs to be sure that his time learning a tool pays off. I neither have the time nor willingness to still be that young guy I used to be being awake till 4 a.m. to learn every cool tool out there. Nowadays, that investment needs to demonstrate a ROI.
Bravo, Francois, you are speaking for at least some of us in the symfony community.
Regards, Michael
@Guglielmo, @Michael: Thanks for your support. Don’t hesitate to voice your opinion in the symfony users mailing-list.
Folks, do not forget if Francois were not to contribute so much into the documentation project, Symfony would still be yet-another-php-framework out there! This is the sole major reason why I chose symfony over other frameworks. Well, if Sensio still do not take heed of this “rambling” from their third contributor, I think someone is going to fork it sooner or later.
You are my hero !!. I think most of the people here or there don’t have the right to judge you. You have a perfect, clear and different point of view about the the dessitions that are better for best of symfony. So please dont shut up. Keep on working as you have done! and let them know that the community also have the power.
I voice my support as well - though I do like the decoupling effect the new code base has introduced, the sheer verbosity will be the deciding factor when new people join the community.
On projects in the past, I’ve used Symfony from version 0.6.x onwards and found it to provide magic methods that really made templates and actions concise and clear to anyone reading the code. Now, it seems, verbosity is coming in the way of things.
There are good and bad things, considering opposing viewpoints - the verbosity tends to worsen code readability to all but the most adept users of the API. But the new structure does expose more of the framework and things I’ve had to struggle before (like aggresively patching, subclassing and merging code bases with the framework itself) are easier to do now than it was before.
Symfony, as François said, should be treated as a community, not only as a code base, since it exists FOR users to use, not for the sake of its own existence.
I agree - François breathed life into the code and community with his numerous documentation and development efforts. And likewise, I am not diminishing - rather commending! - the core development team on their work on the framework. But what I see more as a phase in a framework’s cycle, the team needs to harmonize with their users for the community and framework to grow as a whole. Alienation will be Symfony’s downfall if it doesn’t address these seemingly frivolous and trivial issues.
I’m really glad that you wrote that piece Francois. You did not disappoint.
What can be done to update the 1.1 documentation right now?
The chapters on controllers and form handling are out of date.
I’ve got the info, who do I send it to?
@Barce: Fabien Potencier is responsible for the documentation, you should send him an email.