On 09/09/02, "Brian Lalor" <[EMAIL PROTECTED]> wrote:
> "Wez Furlong" <[EMAIL PROTECTED]> writes:
> > Which part of "EXPERIMENTAL" in the docs at
> > http://www.php.net/manual/en/function.socket-select.php
> > don't you understand?

I didn't mean for that to come across quite so strongly; I apologize.

> The problem, Wez, is that this extension has been "experimental" for nigh on
> two years, now.  The API has been completely changed three times and never in
> compatible ways.

That is unfortunate (but experimental does mean that things can change!).
However, there has been a lot of work in this area recently (in HEAD),
so I would hazard a guess to say that it is stabilizing (I think Jason
has done a lot of good work here).

Part of the problem here is that HEAD has such a large quantity of
enchancements, new features and bug fixes (with a few things still pending
some more polishing) that the last few official releases have been
based on code that was branched a very long time ago.

The user (perhaps quite rightly) expects that a new release will have
everything they were hoping for, but is dissappointed when it doesn't,
because the code that has those new features is "locked up" in the development
version.  While we try to backport fixes as we find them, our policy is
to not backport new features (which might introduce new bugs); and since
all the work on sockets is classed as new features, virtually none of it
has made it into the 4.2.x series.

It's a bit of a crappy situation, but we are not too far away from a 4.3
release that should make a lot of people happy.

> At this point, I'm going to have to fork
> it for internal use because we need a reliable interface for communicating
> with our back-end systems.

Instead of forking it, get a CVS account and improve what we have in CVS
for everyone - your help is welcome!
[If you're doing this on company time and your boss/manager is a bit touchy
about contributing just point out that your company can have it's name/url
listed in the credits for PHP :-)]

That's how I got into PHP; I wanted to use SSL for my sockets (fsockopen
and fopen) in a commercial project, so I wrote a little patch.

However, that simple patch grew into the idea behind the streams API; it's
now something like 18 months and that code still hasn't made it into a
release - is it because we are sat on our hands?

No - we are all very busy people and getting something working well enough
to pronounce it as stable takes a lot of time, effort and responsibility.
The moment we mark an extension as stable we get stuck with the lumbering
inertia of backwards compatibility. (and that would be far worse than the
current situation!)
 
> I apologize for the tone and frustration oozing out of these messages; I am
> responsible for building PHP for our development and production environments,
> as well as coding applictations that use the extension.  I am unable to keep
> up.

Then take a front-seat role and start driving :-)
Your frustration is understandable, but if you are about to do the work
to make the extension work properly, you might as well share it - and then
you can rely on it being in future releases.

--Wez.


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to