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