I've spent the last few days at PHPNW - it was amazing and inspiring and incredibly sociable from beginning to end but I wanted to share some thoughts about tutorial day in particular. For context, I delivered a full-day tutorial at PHPNW this year, entitled "PHP Tools", containing the following topics:
- apache virtual hosts
- api documentation
- static analysis tools
- profiling with xhprof
- deployment with phing
Somewhere along the line my attendees were unexpectedly efficient (or I was impatient) and we ended up ahead of my planned schedule, so I asked if anyone had any questions to fill the final hour or so.
Although we'd covered git, I had only shown them how to stay in sync with upstream changes and commit and push to places they had access to. The day had also included us all trying out codesniffer, and fixing some of the errors it found (this is easy on joind.in, there are lots!). So when the question I got was "how can we contribute to open source projects?", I answered by showing how to branch in git, commit changes, push to relevant repo, and open a pull request. And what happened next blew my mind.
These people, some of whom had created their github account under my instruction earlier in the day, followed along with my little demo and packaged their coding standards improvements from earlier in the day - and had pull requests submitted very quickly. No major features of course (although one of the project's existing contributors did also pop in to the tutorial and fix something annoying!), but we did have about four github virgins converted over to open source contributors during the course of the day, which I think is amazing. I often think the small tweaks to the open source projects, especially the *ahem* slightly untidy ones, go a very long way to making those projects useful.
I sat down and showed what happens to their pull request - I check and merge and test it, then push it to master, and showed the jobs triggering on the jenkins installation.
Then I deployed their code and we used it over the weekend, and I sat for a moment after they had all gone, marvelling at the power of open source!