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.

Reply via email to