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