link fixes
[catagits/Catalyst-Manual.git] / lib / Catalyst / Manual / DevelopmentProcess.pod
CommitLineData
cb93c9d7 1=head1 NAME
2
3Catalyst::Manual::DevelopmentProcess - Administrative structure of the Catalyst Development Process
4
1e4b9eda 5=head1 Contributing to Catalyst
6
7The main philosophy behind Catalyst development can be summarized as:
8
9 Patches welcome!
10
11Everyone is welcome (and will be encouraged) to contribute to Catalyst
12in whatever capacity they're able to. People in #catalyst-dev will be
13more than happy to talk newcomers through contributing their first patch,
14or how best to go about their first CPAN extension module....
15
e91e320b 16=head1 Catalyst development
cb93c9d7 17
1e4b9eda 18=head2 Discussing proposed bugfixes or improvements
19
32882a5e 20L<http://wiki.catalystframework.org/wiki/#Community> has information about how
1e4b9eda 21to get in touch with the Catalyst "community". In particular, you would
22want to discuss a proposed change on the mailing list:
23
24 http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst-dev
25
26or on IRC:
27
28 irc://irc.perl.org/catalyst-dev
32882a5e 29 http://wiki.catalystframework.org/wiki/livegroups
1e4b9eda 30
31Usually, the core team will be more than happy for you to contribute, and
32will talk you through how to submit a patch, or get a "commit bit".
33
34=head2 Repositories
35
6d4f27bd 36The Catalyst git repository can be found at:
1e4b9eda 37
38 read: git://git.shadowcat.co.uk/catagits/PROJECTNAME
39 write: catagits@git.shadowcat.co.uk:PROJECTNAME
40 browser: https://git.shadowcat.co.uk/gitweb/gitweb.cgi
41
e91e320b 42=head2 Schedule
43
44There is no dated release cycle for Catalyst. New releases will be made
ca7329b2 45when sufficient small fixes have accumulated; or an important bugfix, or
46significant feature addition, is completed.
cb93c9d7 47
e91e320b 48=head1 The Catalyst Core Team
cb93c9d7 49
50The intention of the Catalyst Core Team is to maintain and support the
51Catalyst framework, in order for it to be a viable and stable framework
52for developing web-based MVC applications. This includes both technical
53decisions about the Catalyst core distribution, and public relations
54relating to the Catalyst framework as a whole.
55
ca7329b2 56The current goals of the Catalyst core development team are stability,
57performance, and a properly paced addition of features, with a focus on
58extensibility.
e91e320b 59
ca7329b2 60The core team is concerned with the 'core' Catalyst distributions
e91e320b 61(i.e. L<Catalyst::Runtime>, L<Catalyst::Devel> and L<Catalyst::Manual>),
ca7329b2 62and also tries to encourage best practices for extension authors, and
e91e320b 63cooperation and shared vision within the Catalyst community.
cb93c9d7 64
65=head2 Membership
66
ca7329b2 67The Catalyst Core Team consists of the developers who have full commit
68privileges to the entire Catalyst source tree, and who have made a significant
e91e320b 69contribution to the core Catalyst distributions, and various extensions and
ca7329b2 70plugins.
cb93c9d7 71
e91e320b 72In addition, the core team includes members that have non-technical
ca7329b2 73roles, such as marketing, legal, or economic responsibilities.
cb93c9d7 74
7d36d4ac 75Currently, the Core Team consists of the following people:
cb93c9d7 76
77=over 4
78
7d36d4ac 79=item Brian Cassidy
80
cb93c9d7 81=item Andy Grundman
82
83=item Christian Hansen
84
7d36d4ac 85=item Yuval Kogman
cb93c9d7 86
87=item Marcus Ramberg
88
7d36d4ac 89=item Jonathan Rockway
90
cb93c9d7 91=item Jesse Sheidlower
92
93=item Matt S. Trout
94
b1a08fe1 95=item Florian Ragwitz
96
97=item Tomas Doran
98
cb93c9d7 99=back
100
101New members of the Core Team must be accepted by a 2/3 majority by the
102current members.
103
104=head2 Technical Decisions.
105
106Any change to the Catalyst core which can not be conceived as a
107correction of an error in the current feature set will need to be
108accepted by at least 3 members of the Core Team before it can be
6d4f27bd 109committed to master (which is the basis for CPAN releases). Anyone
cb93c9d7 110with access is at any time free to make a branch to develop a proof of
6d4f27bd 111concept for a feature to be committed to master.
cb93c9d7 112
113=head2 Organizational and Philosophical Decisions.
114
ca7329b2 115Any organizational or philosophical decision should be decided by
116majority vote. Thus it should be a goal of the organization that its
117membership number should at any time be an odd number, to render it
118effective with regards to decision making. The exceptions to this rule
119are changes to this charter and additions to the membership of the Core
120Team, which require a 2/3 majority.
cb93c9d7 121
122=head2 CPAN Releases
123
124Planned releases to CPAN should be performed by the release manager, at
125the time of writing Marcus Ramberg, or the deputy release manager, at
b1a08fe1 126the time of writing Florian Ragwitz. In the case of critical error
cb93c9d7 127correction, any member of the Core Team can perform a rescue release.
128
129=head2 Public statements from the Core Team
130
131The Core Team should strive to appear publicly as a group when answering
132questions or other correspondence. In cases where this is not possible,
ca7329b2 133the same order as for CPAN releases applies.
cb93c9d7 134
46a5f2f5 135=head2 New Catalyst Extensions
e91e320b 136
137As Catalyst is deliberately designed for extension, there is an ecosystem of
46a5f2f5 138several hundred Catalyst extensions that can be found on CPAN.
cb93c9d7 139
46a5f2f5 140See L<Catalyst::Manual::ExtendingCatalyst> for more information on how
141to extend Catalyst in various ways and how to write CPANable components
142for Catalyst which can be reused in many applications.
bbddff00 143
46a5f2f5 144It is recommended to post a request for comments to the Catalyst mailing
145list, or ask around in the #catalyst IRC channel before starting to
146implement something, as another member of the community is likely to
147have example or prototype code that you can reuse, and members of the
148community and core team are happy to advise on the best way to implement
149a generic solution to a particular problem.
bbddff00 150
46a5f2f5 151This could save you duplicate work, and will help you produce a better
152thought out and designed extension.
bbddff00 153
154=head1 AUTHORS
155
156Catalyst Contributors, see Catalyst.pm
157
158=head1 COPYRIGHT
159
160This library is free software. You can redistribute it and/or modify it under
161the same terms as Perl itself.
162
163=cut