Provided by: liblist-moreutils-perl_0.416-1build3_amd64 bug

NAME

       List::MoreUtils::Contributing - Gives rough introduction into contributing to
       List::MoreUtils

DESCRIPTION

       List::Moreutils has a turbulent history and a strong approach. Before going further,
       please step to Open Source Contribution Etiquette
       <http://tirania.org/blog/archive/2010/Dec-31.html> and then come back.

       The current distribution is a balance between finishing the history and claiming for
       future requirements. Therefore some components will receive a rewrite on purpose - others
       won't.

       For the moment - it's not the primary goal to clean up the configuration stage, until the
       primary goals and prerequisites are done.

       To contribute to List::MoreUtils, one has to arrange with the current situation, dig into
       details and ask for clarifying when parts are incomprehensible.

   Primary Goals
       The very first primary goal is to clear the backlog. These are primarily the open issues,
       feature requests and missing infrastructure elements.

       As example see RT#93207 or RT#75672 for missing configure time checks, while RT#93207
       radiates until test - but doesn't affect runtime nor installation (beside test failures).

   Secondary Goals
       Secondary goals are harmonizing the function names and calling convention (see RT#102673),
       tidying the infrastructure of the distribution and remove unnecessary complexity (while
       protecting the necessary).

       One example of removing unnecessary infrastructure could be to move Data::Tumbler and
       Test::WriteVariants into authoring mode, when imrpoved test for RT#93207 could be
       reasonably done by a module which is recommended for test. The recommendation of Graham
       Knop's Makefile.PL#L82 <https://github.com/haarg/List-
       MoreUtils/blob/dd877f963deead742fc90005636c72c6be9060fc/Makefile.PL#L82> in PR#9
       <https://github.com/perl5-utils/List-MoreUtils/pull/9> a desirable one.

   Orientation Guide
       List::MoreUtils configuration stage heavily depends on Config::AutoConf and Data::Tumbler.
       A few prerequisites of both modules aren't available for Perl 5.6 - which leads to a tiny
       emulation layer t the begin of "Makefile.PL".

       The reason for Config::AutoConf is quite simple - the opportunities for checking the
       environment cover a much wider range than a simple test whether there is a working
       compiler. It requires a lot of improvements since it's fundament ExtUtils::CBuilder was
       never designed to support that kind of solutions - but there is Work In Progress. To
       finally solve issues as RT#75672 even in cross-compile environments - there is no way
       around such a checking tool.

       The reason for Data::Tumbler in combination with Test::WriteVariants are extensible tests
       with reasonable effort and easy figuring out which extra condition causes failures. Also -
       missing pre-conditions should result in failing tests i some cases - what is fully
       supported by the logic behind Data::Tumbler in combination with Test::WriteVariants.

       Finally - inc::latest glues the stuff in a bundle together to allow people with older
       toolchains to use List::MoreUtils out of the box (maybe with reduced quantity but full
       quality).

SEE ALSO

       Config::AutoConf, Data::Tumbler, Test::WriteVariants, ExtUtils::MakeMaker::Extensions

AUTHOR

       Jens Rehsack <rehsack AT cpan.org>

COPYRIGHT AND LICENSE

       Copyright 2015,2016 by Jens Rehsack

       This library is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of
       Perl 5 you may have available.