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