Commit | Line | Data |
cb93c9d7 |
1 | =head1 NAME |
2 | |
3 | Catalyst::Manual::DevelopmentProcess - Administrative structure of the Catalyst Development Process |
4 | |
1e4b9eda |
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 | |
e91e320b |
16 | =head1 Catalyst development |
cb93c9d7 |
17 | |
1e4b9eda |
18 | =head2 Discussing proposed bugfixes or improvements |
19 | |
32882a5e |
20 | L<http://wiki.catalystframework.org/wiki/#Community> has information about how |
1e4b9eda |
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 |
32882a5e |
29 | http://wiki.catalystframework.org/wiki/livegroups |
1e4b9eda |
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 | |
6d4f27bd |
36 | The 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 | |
6d4f27bd |
42 | The Catalyst subversion repository can be found at: |
43 | |
44 | svn: http://dev.catalyst.perl.org/repos/Catalyst |
45 | browser: http://dev.catalyst.perl.org/svnweb/Catalyst |
46 | |
e91e320b |
47 | =head2 Schedule |
48 | |
49 | There is no dated release cycle for Catalyst. New releases will be made |
ca7329b2 |
50 | when sufficient small fixes have accumulated; or an important bugfix, or |
51 | significant feature addition, is completed. |
cb93c9d7 |
52 | |
ca7329b2 |
53 | =head2 Roadmap for features |
e91e320b |
54 | |
55 | The Catalyst Roadmap is kept at |
32882a5e |
56 | L<http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits/Catalyst-Runtime.git;a=blob_plain;f=lib/Catalyst/ROADMAP.pod;hb=master> |
cb93c9d7 |
57 | |
e91e320b |
58 | =head2 Bug list |
59 | |
5336f546 |
60 | The TODO list with known bugs / deficiencies is kept at |
32882a5e |
61 | L<http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits/Catalyst-Runtime.git;a=blob_plain;f=TODO;hb=master> |
cb93c9d7 |
62 | |
e91e320b |
63 | =head1 The Catalyst Core Team |
cb93c9d7 |
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 | |
ca7329b2 |
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. |
e91e320b |
74 | |
ca7329b2 |
75 | The core team is concerned with the 'core' Catalyst distributions |
e91e320b |
76 | (i.e. L<Catalyst::Runtime>, L<Catalyst::Devel> and L<Catalyst::Manual>), |
ca7329b2 |
77 | and also tries to encourage best practices for extension authors, and |
e91e320b |
78 | cooperation and shared vision within the Catalyst community. |
cb93c9d7 |
79 | |
80 | =head2 Membership |
81 | |
ca7329b2 |
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 |
e91e320b |
84 | contribution to the core Catalyst distributions, and various extensions and |
ca7329b2 |
85 | plugins. |
cb93c9d7 |
86 | |
e91e320b |
87 | In addition, the core team includes members that have non-technical |
ca7329b2 |
88 | roles, such as marketing, legal, or economic responsibilities. |
cb93c9d7 |
89 | |
7d36d4ac |
90 | Currently, 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 | |
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 |
6d4f27bd |
124 | committed to master (which is the basis for CPAN releases). Anyone |
cb93c9d7 |
125 | with access is at any time free to make a branch to develop a proof of |
6d4f27bd |
126 | concept for a feature to be committed to master. |
cb93c9d7 |
127 | |
128 | =head2 Organizational and Philosophical Decisions. |
129 | |
ca7329b2 |
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. |
cb93c9d7 |
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 |
b1a08fe1 |
141 | the time of writing Florian Ragwitz. In the case of critical error |
cb93c9d7 |
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, |
ca7329b2 |
148 | the same order as for CPAN releases applies. |
cb93c9d7 |
149 | |
46a5f2f5 |
150 | =head2 New Catalyst Extensions |
e91e320b |
151 | |
152 | As Catalyst is deliberately designed for extension, there is an ecosystem of |
46a5f2f5 |
153 | several hundred Catalyst extensions that can be found on CPAN. |
cb93c9d7 |
154 | |
46a5f2f5 |
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. |
bbddff00 |
158 | |
46a5f2f5 |
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. |
bbddff00 |
165 | |
46a5f2f5 |
166 | This could save you duplicate work, and will help you produce a better |
167 | thought out and designed extension. |
bbddff00 |
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 | |