2009/1/26 Michael G Schwern <[email protected]>:
> Adam Kennedy wrote:
>> Of course, the "recommends" keyword also doesn't mean what you think
>> it means and is largely pointless.
>
> Near as I can figure what Adam's complaining about, since apparently we're
> mind readers now and so is he, is that, AFAIK, no CPAN client currently does
> anything with recommends.  This is a SMOP to fix, and I note that Adam is a
> programmer.
>
> That or Adam's on another "never ask the user anything" tear.
>
> The intent of requires vs recommends is to implement something like the Debian
> Binary Dependency structure where "requires" == "Depends".  Debian's
> "Recommends" suggests a stronger dependency than we do, since we lack
> "Suggests", and our "recommends" simply means "optional dependency".
> http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps

We wanted something like what Debian had, but failed.

Debian has a nice set of keys that split intent out into different
keys with different meanings, it is made quite clear that recommends
means "always except in extreme cases" and so on.

We, on the other hand, kind of force everyone to overload the same
key, and we don't actually explain what it means. We say "recommends
means the things you recommend". It has a circular definition which
leaves it to the vagueness of individual knowledge of English to try
to work out what it means.

The other part of the problem is that we simply aren't a binary
package repository, we're a source repository, which is an entirely
different beast with different needs.

We don't just have individuals using us, we have source-repository to
binary-repository converters.

And because things like ExtUtils::MakeMaker don't understand anything
more complicated than "depends", all other recommends stuff gets
folded down into a regular dependency, based on the answer of one
person.

Now that configure_requires is almost finished, perhaps it's time to
look at the whole METALOCAL.yml or MYMETA.yml or whatever feature that
was discussed at the last QA hackathon...

Adam K

Reply via email to