Moritz rant away! Actually, I think this it is a very significant milestone in the development of a language and its ecosystem when backwards compatibility becomes an issue.

There will always be modules that have bit rot, insufficient documentation, inadequate testing, no reviews, etc. The problem is not their existence, but how they are perceived. Newcomers to Perl6 will not know much about which modules are useful, which are buggy, which are OK, etc. If a newcomer comes across some module that promises a lot and fails to work, it may not (unfortunately) be the module that gets the blame, but the Perl6 language/community/culture.

Some suggestions:

1) On the perl 6 modules page (modules.perl6.org) , sort the modules by number of Badges, with a label for each category like Good (all of the badges and 'build|passing'), Less Good (some badges and 'build|passing'), Experimental (the rest). Perhaps also a warning about the modules in the category. This way, the better quality modules are listed first by default. If someone wants to use a Less Good or Experimental module, they have been warned.

2) Add another badge for 'reviewed'. I found the CPAN reviews to be existentially useful, even if some of the content may be less useful. The fact that a module has been reviewed by someone other than the author increases my confidence that the module can be made to work. If there are negative comments, I am more cautious.

3) Would it be possible to develop a sort of Citation Index? That is the number of times a module uses another module? Citation Indices are widely used in academia to highlight key articles and papers. It's not an infallible tool as the system can be gamed, but it is much better than nothing.

4) How about developing the 'bundle' idea more? Perhaps, putting Bundles on the Perl6 Modules top page, starting with Task::Star? Bundles could be moderated more strictly. Perhaps Bundle authors would need to supply a mandate, eg. "Bundle for GUI development", or "Essential beginners bundle". Also bundle authors would need to have vetted the modules in the bundle, especially those without all badges.

Regards,
Richard


On 10/14/2015 05:54 PM, Moritz Lenz wrote:
On 10/13/2015 10:52 AM, Richard Hainsworth wrote:
Following on the :D not :D thread, something odd stuck out.

On 10/13/2015 03:17 PM, Moritz Lenz wrote:
<snip>

But hopefully none of them breaking backwards compatibility on such a
large scale. The last few backwards incompatible changes still cause
pain in the ecosystem. We have 390+ modules, and hand-waving away all
trouble of maintaining them seems a bit lofty.
<snip>

Surely, the idea of keeping the release number below 1.0 is to warn
early adopter developers that code is subject to change and thus in need
of maintenance?

It is. But we still should try to limit the module author's burden.

In Practice, there's a small number of people who try to update modules to match when the compiler changed. Most module authors don't hang out in #perl6, eager to update their modules to the lastest rakudo change.

So a large percentage of the module updates are done by group of maybe five to a dozen volunteers. So, do the math: 5 people updating 70% of 390 modules. Modules they are usually not all that familiar with, and usually don't have direct access. So they need to go through the pull request dance, waiting for reaction from the maintainer. In short, it sucks.

The ecosystem hasn't yet fully recovered from the s/done/done-testing/ change, nor from the GLR, nor from the need to prefix 'unit' to some declarations.

And this is why I'm getting increasingly frustrated and angry when people propose major breaking changes, brushing off the implications for the ecosystem and its maintainers with "but it's not 6.0", "shouldn't be a problem", "we aren't stable yet".

We want to release Perl 6 by Christmas, and it'll reflect *very* badly on us and the language if many modules in the ecosystem are broken. And any change that requires us to touch all .pm files will result in that.

Richard, I'm sorry that I'm writing the response in an email of yours; Mark or any number of p6l participants in the last few years triggered the same mental response from me. I only just now articulated it.

</rant>

Cheers,
Moritz

Reply via email to