1List::MoreUtils::ContriUbsuetrinCgo(n3t)ributed Perl DocLuimsetn:t:aMtoiroenUtils::Contributing(3)
2
3
4

NAME

6       List::MoreUtils::Contributing - Gives rough introduction into
7       contributing to List::MoreUtils
8

DESCRIPTION

10       List::Moreutils has a turbulent history and a strong approach. Before
11       going further, please step to Open Source Contribution Etiquette
12       <http://tirania.org/blog/archive/2010/Dec-31.html> and then come back.
13
14       The current distribution is a balance between finishing the history and
15       claiming for future requirements. Therefore some components will
16       receive a rewrite on purpose - others won't.
17
18       For the moment - it's not the primary goal to clean up the
19       configuration stage, until the primary goals and prerequisites are
20       done.
21
22       To contribute to List::MoreUtils, one has to arrange with the current
23       situation, dig into details and ask for clarifying when parts are
24       incomprehensible.
25
26   Primary Goals
27       The very first primary goal is to clear the backlog. These are
28       primarily the open issues, feature requests and missing infrastructure
29       elements.
30
31       As example see RT#93207 or RT#75672 for missing configure time checks,
32       while RT#93207 radiates until test - but doesn't affect runtime nor
33       installation (beside test failures).
34
35   Secondary Goals
36       Secondary goals are harmonizing the function names and calling
37       convention (see RT#102673), tidying the infrastructure of the
38       distribution and remove unnecessary complexity (while protecting the
39       necessary).
40
41       One example of removing unnecessary infrastructure could be to move
42       Data::Tumbler and Test::WriteVariants into authoring mode, when
43       improved test for RT#93207 could be reasonably done by a module which
44       is recommended for test. The recommendation of Graham Knop's
45       Makefile.PL#L82 <https://github.com/haarg/List-
46       MoreUtils/blob/dd877f963deead742fc90005636c72c6be9060fc/Makefile.PL#L82>
47       in PR#9 <https://github.com/perl5-utils/List-MoreUtils/pull/9> a
48       desirable one.
49
50   Orientation Guide
51       List::MoreUtils configuration stage heavily depends on Config::AutoConf
52       and Data::Tumbler. A few prerequisites of both modules aren't available
53       for Perl 5.6 - which leads to a tiny emulation layer t the begin of
54       "Makefile.PL".
55
56       The reason for Config::AutoConf is quite simple - the opportunities for
57       checking the environment cover a much wider range than a simple test
58       whether there is a working compiler. It requires a lot of improvements
59       since its base ExtUtils::CBuilder was never designed to support that
60       kind of solutions - but there is Work In Progress. To finally solve
61       issues as RT#75672 even in cross-compile environments - there is no way
62       around such a checking tool.
63
64       The reason for Data::Tumbler in combination with Test::WriteVariants
65       are extensible tests with reasonable effort and easy figuring out which
66       extra condition causes failures. Also - missing pre-conditions should
67       result in failing tests i some cases - what is fully supported by the
68       logic behind Data::Tumbler in combination with Test::WriteVariants.
69
70       Finally - inc::latest glues the stuff in a bundle together to allow
71       people with older toolchains to use List::MoreUtils out of the box
72       (maybe with reduced quantity but full quality).
73

SEE ALSO

75       Config::AutoConf, Data::Tumbler, Test::WriteVariants,
76       ExtUtils::MakeMaker::Extensions
77

AUTHOR

79       Jens Rehsack <rehsack AT cpan.org>
80
82       Copyright 2015-2017 by Jens Rehsack
83
84       All code added with 0.417 or later is licensed under the Apache
85       License, Version 2.0 (the "License"); you may not use this file except
86       in compliance with the License. You may obtain a copy of the License at
87
88        http://www.apache.org/licenses/LICENSE-2.0
89
90       Unless required by applicable law or agreed to in writing, software
91       distributed under the License is distributed on an "AS IS" BASIS,
92       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
93       implied.  See the License for the specific language governing
94       permissions and limitations under the License.
95
96       All code until 0.416 is licensed under the same terms as Perl itself,
97       either Perl version 5.8.4 or, at your option, any later version of Perl
98       5 you may have available.
99
100
101
102perl v5.32.1                      2021-01-27  List::MoreUtils::Contributing(3)
Impressum