Hi Derick,

I see another issue after reading this, and that is that it makes it
much harder for users to depend on specific extensions just being always
available by default. It's important for application distributers to
have this core set of extensions to rely on. It's annoying enough that
some distributions (gentoo, freebsd) already use --disable-all and their
users then bugging us (or me) with "you should check that SPL is enabled
in your code".

Well, you should, while it's possible to disable it!

Consider a distribution that has _only_ the essentials. Consider also a relatively small bundle of PECL extensions that ships alongside it. Say we classify them: everything that currently ships with core would be class A1 or whatever, as would anything else in PECL that is stable and considered likely to be useful to a wide range of users. Anything in that bundle is "recommended", and we make it very plain to sysadmins that they should install any of that bundle supported by their system. It includes things like (most) PDO drivers, SOAP, sqlite, zip, curl, json... all things that are currently shipped with the core but not necessarily (under doze at least) enabled by default. We educate PHP users to insist on 'the A1 pack'. We also make it _possible_ to operate PHP without 'the A1 pack', but I do just mean 'possible'. (In other words it should be possible to write a basic website using PHP as it comes, without adding or enabling anything.)

If everything in PECL were classified, it'd be much easier for people to figure out what to load and when. A simple 'justification' line alongside the classification would be immensely helpful, assuming the info in package.xml is made obvious via the installer. You'd need a few extra sections in package.xml, e.g:

<version>2.0</version>
<status>stable</status>
<classification>
<rank>A2</rank>
<reason>specialist interest</reason>
</classification>
<maintenance>
<level>active</level>
<lastfix>10/01/08</lastfix>
<bugsopen>5</bugsopen>
</maintenance>

That tells users and sysadmins alike everything they need to know about that extension and allows them to make an informed decision about installing it, or not, as the case may be. Some of that info could even be autogenerated...

Anything _not_ in 'the A1 pack' would need to be downloaded individually, via a system we don't have yet (again, speaking as a Windows user). Another thing would be to offer downloads by classification, e.g. 'pecl install A1'.

- Steph





regards,
Derick

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


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

Reply via email to