CakePHP
Mistakes Made
Mistakes
I’ve made a few
Success
I’ve had a bit of that too
Community
Be Respectful
Everyone starts as a newbie
No Test, No Bug
High entry barriers are not healthy
Set a Good Example
People will follow
Conflicts
Ego, language & culture
Empower Others
Trust people who have proven themselves
Be Transparent
“Open” is an important part of open source
Documentation
Avoid
Maintenance Hell
Make docs easy to maintain, simple to build
Sphinx +
ElasticSearch
Winning combination
Use Simple Tools
Make docs accessible, & easy to contribute to
Deployment
Push to
github
makejenkins ssh
Releases &
Upgrading
Releasing Must

be Simple
47 releases in 2015 so far
Version Numbers
Matter
Semantic versioning is important.
http://semver.org
Relaxed Semver
Has burned us a few times already
Breaking
Compatibility
Mistakes should be fixed
Security Fixes
Be transparent and respond quickly
Migration Guides
Document what changes/breaks
Upgrade Tools
CLI sugar
Building a
Framework
Have Opinions
People Will Hate You
People Will Love You
Code Generation
Powerful, but requires some coupling
Intelligent Defaults
Make good ideas the standard
Derp Defaults
When ideas age poorly
Conventions
Over configuration, where possible.
Conventions
Spawns dark magic
Magic can be Evil
We meant to help, really
Don’t Guess
Computers are pretty dumb
Future Proof APIs
Option parameters make growing easy
“Declarative”
Interfaces
Mostly suck in PHP
Say no to Features
Stay lean and focused
In Closing,
Make Mistakes
Failing in public is an effective way to learn
Try This at Home
Open source is hard, but rewarding
Thank You
Github - markstory
Twitter - mark_story

CakePHP mistakes made 2015