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