3 Catalyst::Manual::DevelopmentProcess - Administrative structure of the Catalyst Development Process
5 =head1 Contributing to Catalyst
7 The main philosophy behind Catalyst development can be summarized as:
11 Everyone is welcome (and will be encouraged) to contribute to Catalyst
12 in whatever capacity they're able to. People in #catalyst-dev will be
13 more than happy to talk newcomers through contributing their first patch,
14 or how best to go about their first CPAN extension module....
16 =head1 Catalyst development
18 =head2 Discussing proposed bugfixes or improvements
20 L<http://wiki.catalystframework.org/wiki/#Community> has information about how
21 to get in touch with the Catalyst "community". In particular, you would
22 want to discuss a proposed change on the mailing list:
24 http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst-dev
28 irc://irc.perl.org/catalyst-dev
29 http://wiki.catalystframework.org/wiki/livegroups
31 Usually, the core team will be more than happy for you to contribute, and
32 will talk you through how to submit a patch, or get a "commit bit".
36 The Catalyst git repository can be found at:
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
42 The Catalyst subversion repository can be found at:
44 svn: http://dev.catalyst.perl.org/repos/Catalyst
45 browser: http://dev.catalyst.perl.org/svnweb/Catalyst
49 There is no dated release cycle for Catalyst. New releases will be made
50 when sufficient small fixes have accumulated; or an important bugfix, or
51 significant feature addition, is completed.
53 =head1 The Catalyst Core Team
55 The intention of the Catalyst Core Team is to maintain and support the
56 Catalyst framework, in order for it to be a viable and stable framework
57 for developing web-based MVC applications. This includes both technical
58 decisions about the Catalyst core distribution, and public relations
59 relating to the Catalyst framework as a whole.
61 The current goals of the Catalyst core development team are stability,
62 performance, and a properly paced addition of features, with a focus on
65 The core team is concerned with the 'core' Catalyst distributions
66 (i.e. L<Catalyst::Runtime>, L<Catalyst::Devel> and L<Catalyst::Manual>),
67 and also tries to encourage best practices for extension authors, and
68 cooperation and shared vision within the Catalyst community.
72 The Catalyst Core Team consists of the developers who have full commit
73 privileges to the entire Catalyst source tree, and who have made a significant
74 contribution to the core Catalyst distributions, and various extensions and
77 In addition, the core team includes members that have non-technical
78 roles, such as marketing, legal, or economic responsibilities.
80 Currently, the Core Team consists of the following people:
88 =item Christian Hansen
94 =item Jonathan Rockway
96 =item Jesse Sheidlower
100 =item Florian Ragwitz
106 New members of the Core Team must be accepted by a 2/3 majority by the
109 =head2 Technical Decisions.
111 Any change to the Catalyst core which can not be conceived as a
112 correction of an error in the current feature set will need to be
113 accepted by at least 3 members of the Core Team before it can be
114 committed to master (which is the basis for CPAN releases). Anyone
115 with access is at any time free to make a branch to develop a proof of
116 concept for a feature to be committed to master.
118 =head2 Organizational and Philosophical Decisions.
120 Any organizational or philosophical decision should be decided by
121 majority vote. Thus it should be a goal of the organization that its
122 membership number should at any time be an odd number, to render it
123 effective with regards to decision making. The exceptions to this rule
124 are changes to this charter and additions to the membership of the Core
125 Team, which require a 2/3 majority.
129 Planned releases to CPAN should be performed by the release manager, at
130 the time of writing Marcus Ramberg, or the deputy release manager, at
131 the time of writing Florian Ragwitz. In the case of critical error
132 correction, any member of the Core Team can perform a rescue release.
134 =head2 Public statements from the Core Team
136 The Core Team should strive to appear publicly as a group when answering
137 questions or other correspondence. In cases where this is not possible,
138 the same order as for CPAN releases applies.
140 =head2 New Catalyst Extensions
142 As Catalyst is deliberately designed for extension, there is an ecosystem of
143 several hundred Catalyst extensions that can be found on CPAN.
145 See L<Catalyst::Manual::ExtendingCatalyst> for more information on how
146 to extend Catalyst in various ways and how to write CPANable components
147 for Catalyst which can be reused in many applications.
149 It is recommended to post a request for comments to the Catalyst mailing
150 list, or ask around in the #catalyst IRC channel before starting to
151 implement something, as another member of the community is likely to
152 have example or prototype code that you can reuse, and members of the
153 community and core team are happy to advise on the best way to implement
154 a generic solution to a particular problem.
156 This could save you duplicate work, and will help you produce a better
157 thought out and designed extension.
161 Catalyst Contributors, see Catalyst.pm
165 This library is free software. You can redistribute it and/or modify it under
166 the same terms as Perl itself.