Re: [RFC] Random Extension 3.0

From: Date: Wed, 22 Sep 2021 17:05:00 +0000
Subject: Re: [RFC] Random Extension 3.0
References: 1 2 3 4 5  Groups: php.internals 
Request: Send a blank email to internals+get-116139@lists.php.net to get a copy of this message
Go Kudo wrote: > Dan Ackroyd wrote: >> you can _simply_ include ext/random/random.h." sounds pretty >> dismissive of causing possibly unneeded work for downstream projects. > > The point I was trying to make was that while BC Breaks do occur, they are very easy to solve. I've found it useful to think about "value = benefit minus cost". I was calling out that it seems to be that this is a change you want to do for aesthetic reasons and are justifying it by trivialising the work involved. i.e. it has a tiny benefit that only has a positive value if the cost is also tiny. Although the change is simple: * Any code base that includes standard/php_rand.h won't compile, and people will have to find out what changed. Even though the fix may be easy to implement, each of those people will have to figure it out for themselves. * quite a few people will have to learn (or relearn) how to use #if to compare PHP version to include either standard/php_rand.h or random/php_random.h if they want their code to work on more than 1 PHP version. * it makes more work for downstream distributors of PHP, as their patches (including security patches) will need to be moved around. If there's a good reason to move stuff around, then fine, but avoiding creating extra work downstream is worth doing. And possibly is a hot topic right now. You could probably avoid a lot of downstream work by leaving a stub file at standard/php_rand.h that includes random/php_random.h. cheers Dan Ack btw, if you could please avoid top-posting, that would be appreciated: https://github.com/php/php-src/blob/master/docs/mailinglist-rules.md "Do not top post. Place your answer underneath anyone you wish to quote and remove any previous comment that is not relevant to your post."

« previous php.internals (#116139) next »