If you're interested in contributing to CakePHP and supporting the community then we'd love for you to join us, there are a variety of ways to get involved and help out.
One of the greatest ways to contribute to CakePHP is by directly supporting the developer community. There's no need to be a genius or guru to get involved, you may just have the answer to some of the questions being asked. Here are some ways you can get started:
* For those who don't have an IRC client we have a web-based client available here.
Helping others to learn CakePHP is another valuable way to contribute to the community. There are many ways you can help others, these include:
Additionally, we offer professional training for CakePHP. Sign up to our monthly training sessions sponsored by CakeDC.
As an open source project, backed by the Cake Software Foundation, Inc. we don't have a massive budget to market and advertise the framework, so we depend on people like you getting involved and helping support the community. There are many actions which can help raise awareness, share experiences and educate your fellow developers about CakePHP.
Actively writing and talking about CakePHP helps spread the word about the framework.
We depend on people who know and understand their local community. This not only refers to the difference in the language, but also the local customs and cultural differences. You can help us by connecting with your local community and supporting CakePHP. A few actions you can undertake include:
If you want to contribute code for a bug fix then coordinate your approach in the comments of the issue, either by linking to a gist/pastebin or by linking to the commit(s) for the fix.
Contributing via commits on a GitHub fork is the preferred way of submitting fixes. If your fix is more than a single commit, you should put the fix on an appropriately named branch. This makes integration of the fix easier.
Filing issues is a great way to start contributing to CakePHP. By finding and reporting issues in the code you notify the maintainers of any issues and help get them resolved. Issues for all CakePHP projects are located on GitHub
Sometimes there are problems in CakePHP. If you think you've come across one you can:
New issues often need to be confirmed or need more information. Asking for additional information on unclear issues doesn't take much time, and helps speed up the process.
If an issue cannot be easily reproduced, or is unclear, it will be set to hold. Issues on hold generally need a way to be confirmed or require additional information. You can help by finding out ways to reproduce issues, or prodding issue authors for more information. Issues that are on hold can be found here
Existing releases usually have a few issues open against them. These issues generally need patches and test cases created for them, so they can be resolved. Preparing patches for open unresolved issues is a great way to get involved with CakePHP, and is one of the first steps to becoming a core contributor.
We are currently working on the 4.x releases. There are still a number of incomplete tasks and unresolved defects. If an issue has been moved into a specific milestone, it is planned for inclusion in that release. Issues are moved into milestones based on community feedback and the core team's plans. If you plan on contributing a feature, please also include relevant test cases for the feature. We want to keep CakePHP as bug free as possible, and test cases have proven to help immensely. If you submit features without test cases, and no documentation it is highly unlikely it will be merged in.
CakePHP is continuously integrated, so you can check the status of the various builds on the Jenkins server at any time.
Documentation is another excellent way to start getting involved with CakePHP. We have two primary forms of documentation, the API and the Cookbook. The API is generated from the source code, so if you find an inaccuracy or issue with the API documentation, you can file a patch against the source code. The Cookbook is a community managed documentation source which can also be found on GitHub. Guidelines on contributing to the documentation can be reviewed here.
We have developers from countries all over the world who use CakePHP. If you're a non-english speaker, translating the the Cookbook content into your language is another way to help support the community. Providing the official documentation and support material in as many languages as possible helps lower the barrier to entry to using the framework.
If you're looking for skilled CakePHP developers, or are a developer yourself and seeking a freelance project or position at a company, there are many resources available:
Official career group for CakePHP related opportunities
Jobs available for freelance developers
CakePHP related job postings
Development and consultancy from the experts
The following is a list of recommendations to help keep the CakePHP community strong, active and healthy, as well as a place where everyone feels welcome. These are by no means rules or laws, but instead suggestions and best practices.
Every year we hold a conference dedicated to CakePHP, hosting live workshops and inviting a variety of great speakers, to give you the very best in presentations and talks on the latest from the community:
More information on the conference and ticket sales can be found on the CakeFest website