Alessandro, Thank you for taking this on!
I completely agree with everything you said, and I would also add this to the summary: - if possible, additions to the spec should be resolvable in implementations by running a tool such as phpcbf or php-cs-fixer -- Woody Gilk https://shadowhand.me On Thu, Jun 6, 2019 at 4:16 AM Alessandro Lai <alessandro.la...@gmail.com> wrote: > Hello everyone, > I would like to push forward a proposal that is bugging me for so long. > Today I read this comment on our GitHub: > https://github.com/php-fig/fig-standards/pull/1171#issuecomment-499382349 > > Larry correctly shot down the last in a long list of small PRs that our > approved PSRs had received in the past. This is because the PSRs, as > standards, should be immutable, and they cannot be changed meaningfully, > apart from small erratas. > > I would like to change that. > > This is a topic that many times surfaced in our chats, but we never tried > to solve it. The release schedule of the language is a lot more tight and > fast compared to the past, and we need to keep up the pace, to avoid that > our PSRs become obsolete in a matter of years. > > My proposal is simple but limited; I didn't work on a full text change of > our bylaws, but before I delve in the technicalities I would like to try > and explain my idea succinctly, to see if I have some consensus about it. > > This is the summary of my proposal: > - PSRs packages can receive new major releases > - new majors should be used just to improve the code, so that it can use > new language features (types, return type, void, \Throwable...) > - the new major should never break the spec > - implementors should be able to easily support all majors of the package > (AKA "psr/*": "^1.0|^2.0"); even more, it should be recommended > - if possible, the additions to the spec should just be added to > implement in code something from the spec that before wasn't expressible > before (like exceptions interfaces extending `\Throwable`) > - a changelog should be appended to the PSR to reflect the changes in the > new version > - the process to make this happen should be: > -- PR to the PSR > -- demonstrate straightforward cross-compat between version > -- editor approval, calls a CC vote > -- CC vote with 2/3 majority > > What do you think? Do you think this is doable? > > -- > You received this message because you are subscribed to the Google Groups > "PHP Framework Interoperability Group" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to php-fig+unsubscr...@googlegroups.com. > To post to this group, send email to php-fig@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/php-fig/89341907-fca6-448a-a887-531d0f7b6a89%40googlegroups.com > <https://groups.google.com/d/msgid/php-fig/89341907-fca6-448a-a887-531d0f7b6a89%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "PHP Framework Interoperability Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to php-fig+unsubscr...@googlegroups.com. To post to this group, send email to php-fig@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/php-fig/CAGOJM6JEWNGyzmMGjVzrXJWH1P5v%2Bgr6xBBnyTQNZAqAsGVj2w%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.