True in theory: the meta data for different modules, such as version and
auth, exist.
In practice: so far as I know, (1) :auth is ignored, (2) the ecosystem
has no 'top-level' mechanism
Two situations:
a) a new environment is being created, so all modules should be the most
recent.
Which module (of two with the same name, but different :auth) should be
chosen? This default module is what I meant by 'top-level'.
Will the ecosystem display all modules?
b) an old environment is being maintained, and dependencies require
older versions.
It seems to me that the way the specifications have been written,
situation (b) is provided for. But it is also the more likely scenario
for a well-established language with a gradual evolution (perl 5).
But situation (a) seems to me to be the most likely for a new, rapidly
evolving, language. It is already a problem.
On Wednesday, March 29, 2017 12:05 PM, Brad Gilbert wrote:
Responses inline
On Tue, Mar 28, 2017 at 10:37 PM, Richard Hainsworth
<rnhainswo...@gmail.com> wrote:
I've seen a couple of references to modules that no longer work; it's
inevitable with a new language.
There is a balance between having respect for / protecting the original
developer, and also keeping a useful module up to date when the original
developer moves on / gets bored / dies / falls in love with someone else.
Developers see a protocol for adding a module to the ecosystem. I think it
would be effective for the perl6 community to have a visible protocol for
dealing with 'abandoned' modules. If it's visible at the start, it is
difficult to complain about arbitrary decisions later.
Anyone should be able to release a module with the same name,
it will just have a different :auth<>
So anyone can fix it and upload it, if there isn't a licence problem.
That leaves a few other problems. For one the old unmaintained module
would still
be there, and still be the newest version from that :auth<>.
We would probably need a procedure to get it de-listed.
Basically I think we are in a slightly unique situation, and we may just have
to wait and see where the chips fall for some of it.
I came across the following, which I thought made the balance in a
reasonable way:
https://learn.getgrav.org/advanced/grav-development#abandoned-resource-protocol
Richard Hainsworth
Some of that can be re-used, and it is very similar to the procedure
for Perl 5 modules.