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