As concrete5 continues to grow, our organization and roles are changing. When we started, it was just a couple of guys in their basement and a half a dozen sites using the software. Today there are 65,161 users on concrete5.org. More than 130,000 unique sites that have hit our servers for update information. 65,448 sites have connected to concrete5.org and made project pages.
Our little toolbox has turned into the fastest growing open source CMS project out there, and it's time for us to move into a more managerial and cowboy-ish leadership role.
To that end we're changing how we do somethings around the office. First we will start sharing the features and requirements we're talking about in a new section of our blog. Sometimes these posts might be pretty loosey goosey, sometimes they may be pretty clear requirements we're hoping someone will take a stab at and submit via GIT. Either way, some open discussion can't hurt.
We're also experimenting with GITHub's built-in issue management tools. This should help us shed light on which bugs should be fixed before a version can be released. It should also help you as a developer know where your valuable time will be most appreciated. Whether it's GITHub's tools or augmenting our own bug tracker we're going to find a way to task out these small fixes/improvements so we're not having to do all the busy work ourselves.
Most exciting of all, we're launching several new working groups we're seeking volunteers for.
User Doc Group
We've already built out pages with a screenshot of every user interface in the CMS. We need some help going through and explaining what every form field does. We've got this all built out on concrete5.org using the lerteco content block, so it's really pretty fun to jump around and just edit pages without even going in edit mode. If you've got some time to contribute and know the dashboard/editing UI well, we'd love to have your help. You don't even need to be a programmer!
Unit Testing Group
One of the biggest challenges with running an active software project is worrying about backwards compatibility when adding new features. Unit Tests are short snippets of code that can be run against the system at any point to make sure the basics are still functioning correctly after making a change. They're not perfect, writing them isn't glamorous, and they don't have to be all inclusive, but having some way to make sure you didn't break the stove after messing with the gas line is pretty key.
We're launching a separate repository on GIT for these Unit Tests. If you have even a little time to help, this would be a really great way to keep new releases coming out quickly.
Code Comment Group
We're certainly not the first software project to have less than awesome in-line comments, but we'd like to fix that too. If you've figured out how some poorly documented PHP works in the core and have some code comments you'd be willing to submit back via a pull request in GIT, we'll eagerly review and approve them. If you've got some real time to help us go through and comment everything, we'd love for you to join this group.
We have been adding features to make internationalization stronger in concrete5. We've also seen the light around a new service to manage the translation process. If you've helped with translating concrete5 in the past, we're deeply appreciative, and we hope you can help us migrate that content into this new system.
Okay, tell me more...
If you'd like to get some deeper involvement with any of these groups, there's some real benefits:
- Karma points, lots of em - which equates to free add-ons in the big picture.
- Badges - Group members will get unique badges. Group leaders will get special spiffy badges.
- Code Contribution Cred - We've always included developer names who contributed in the version release notes. Now we're going to have a master list under community as well. Also anyone who contributes code that is included in the core gets a special badge too.
- Reuse of badges for your own marketing materials - We will have larger versions of the badges that you can use on your website/print materials to show your concrete5 expertise. There's no better way to make a prospective client feel at ease than letting 'em know you're a vital part of the core project.
- Swag - Do a good job and we'll send you lots of it. We're printing up new T-shirts right now.
So how can you jump on the bandwagon? Well, we don't want to create more bureaucracy than is needed, but we do need some structure here. We'd like each of these groups to have a single leader who knows what's going on and can help new members get started. We want to create a system that will stand the test of time here, so there's going to be general elections held on leadership for these groups every 6 months.
Group Leaders will be responsible for:
- Having a plan and some clear goals for the next 6 months.
- Approving/removing members for their groups.
- Approving work submitted.
- Making sure something is happening towards their goals.
We will continue to provide all the infrastructure and support you need, we just need you to worry about the actual work.
So if you want to join a group, or lead a group, let us know. We may just appoint leaders for this first 6 month cycle, but if we get enough competition for leaders now we'll start with an open election.