ramblings on PHP, SQL, the web, politics, ultimate frisbee and what else is on in my life
back

Mission impossible?

Well I have learned my fair share while working with Johannes to RM the PHP 5.3 release. The main one that my time predictions suck. Now my last time prediction was that we would release in Q1 2009. Chances of that happening are getting slimmer and slimmer. In an effort to ensure that we at least stay close to that timeframe Johannes and I have asked Christian Seiler to remove the special OO handling in Closures so that the discussions do not bog down the 5.3 release process any further. I thank Christian for being so understanding of the "big picture".

So why do I even care about when PHP 5.3 is released? After all this is open source. Its not like I have shareholders who are sitting at my neck. We generally can take all the time in the world. Then again, 5.3 has been under development for ages. Big stuff like traits have been delayed until after 5.3. And of course there is tons of stuff in 5.3 that is waiting for months .. even years to finally make it into the hands of people. So at some point not releasing is going to put a serious dent in the motivation of developers and the willingness of end users to look at our alpha releases in the future (after all it gets harder and harder to justify to play with features that are not going to be released within a year).

More over by the same token that open source is not bound to specific dates, we also have the luxury of being able to use versions for what they are meant for: defined points where we deem things as sufficiently stable. Of course QA'ing everything so that we can give this "stamp of approval" is real but I think the "release often" mantra has been a good guiding light.

Given the above argument, its better to strip down stuff in order to be able to release earlier, as we now did with Closures. We will just make it to beta1 at the end of January, it seems like hitting Q1 for a release is a mission impossible. But even if we do not make it, lets try hard to get there. So I ask everyone to jump on beta1 when its released on the 29th. Test it .. hard. Help document BC breaks etc. This way we can start solving the issues sooner rather than later. If in the end we do not make it for Q1, so be it. But if we even want to still dream of making it, we need the entire PHP community to step up and get this gigantic release out the door.

Comments



Re: Mission impossible?

For me, it's better to release late than to release crap. The PHP community is not easy to handle, mainly because of the huge lot of developers with different viewpoints on the language. However, this mixture makes PHP unique. As you already said correctly: This is open source, so we basically have all time in the world to fill internals with rants to come to a solution that satisfies everyone. Taking this time and creating the best PHP version ever should be the mantra. :)

Re: Mission impossible?

What happened to closures? Or what gets stripped down if I may ask?

Re: Mission impossible?

I just wanted to thank you Lukas for your patience with all this and I'm sure we will see this long awaited 5.3 in the foreseeable future.

And for all the others, there's always place for a 5.4 :)

Re: Mission impossible?

As Toby said, is more important to make a stable and secure release.

Today, is very difficult to keep php version up-to-date in shared hosts and so on in some "stable" linux distros. So I want a rock solid php 5.3 as you and php-internals are doing.

BTY, thanks Lukas for your effort in make php better.

Re: Mission impossible?

@Toby/Lucas: Err, we have no intention to releasing crap. The idea is that if for all features we cannot finish now, we just strip them down so that we can finish them in a later release, because even if we strip a few features, we still have enough for 5.3.

@Chris: As far as what is being removed from Closures. They will essentially get all special handling for objects context removed. To quote Christian Seiler:

Thus, closures will always be normal functions without access to $this or having a class scope and that may later be added in the fashion that we agree upon once we do that. (It will certainly still be possible to define closures inside class methods then, they just won't know about that.)

Re: Mission impossible?

Hi

The simple fact that there is now someone trying to get to a point is making the product better.
Maybe 5.3 will not be the mother of all releases, but the process creating 5.3 is more open than ever. period.
I dont mind when it comes in July ;).