All the BuddyPress development takes place in Trac. All the tickets, most of the feature discussions and confirmed bugs, are all managed via Trac. For better tickets management, we use milestones, components, keywords and other ways to categorize everything. So far we have 24 components:
Component | Tickets | Maintainer |
---|---|---|
Activity | 87 | @lmoffereins |
Administration | 17 | @slaFFik |
Blogs | 15 | |
BuddyPress.org Sites | 26 | |
Build/Test Tools | 8 | @netweb |
Core | 157 | @boonebgorges |
Emails | 17 | @djpaulgibbs |
Extended Profile | 58 | @lmoffereins |
Forums | 6 | |
Friends | 9 | @henry.wright |
Groups | 58 | |
I18N | 10 | @slaFFik |
Media | 13 | |
Members | 32 | @espellcaste |
Messages | 16 | |
Navigation | 2 | |
New User Experience | 2 | |
Performance | 4 | |
REST API | 2 | @espellcaste |
Registration | 6 | |
Route Parser | 7 | @boonebgorges |
Settings | 4 | |
Templates | 55 | @hnla |
Toolbar & Notifications | 22 |
WordPress (as well as some other OSS) uses an interesting approach where a person or a group of people are responsible for a specific component of a software project. The contributors have a specific interest in their chosen component, and enjoy or see the need to focus most of their contribution time on it.
In the long run, this helps that contributor quickly triage tickets in their preferred component, as they specialize in it and build up a knowledge advantage. The overall project benefits by faster review and prioritisation of new tickets.
I propose to implement BuddyPress component maintainers, with the hope that this will help move development even further and faster.
Some components, like Activity, Extended Profile, and Groups, need special love, as the number of tickets there is 50+. These components will benefit from having multiple component maintainers assigned to them.
Component maintainers don’t need to do anything special – just consider reviewing Trac tickets for your component, when you have a will and time to contribute to BuddyPress. You will be expected to look through all existing tickets, as well as new ones, provide feedback and help the larger project prioritise bug fixes and new features.
If you have any thoughts about this, or want to volunteer to become a component maintainer – please write in comments. And remember, it’s good to have several people per component, so join in even if you see someone’s mentioned your favorite component!