Learning how to help people contribute to the PHP.net Project

While exploring ways to improve how the PHP project finds and teaches new contributors, I wondered how other projects do it so started the process of evaluating several. So far I’ve fallen in love with the Ubuntu approach because they offer a ton of information and promote it well. The PHP project does neither of these things… Fail!

Ubuntu evaluated

Unlike PHP.net, Ubuntu.com prominently displays “Get Involved” on their main site. This area clearly breaks up into different categories like Bugs, Brainstorming, Design (UI), Support, Localization, Testing, and the two I’ll focus on: Development and Documentation.

The Documentation section

  • Intro: Introduces what the documentation team is all about
  • Projects: The different forms of documentation
  • Style Guide: How the wording should be written. Third person? Is it then or than? That sort of thing
  • Meetings: Log of past discussions, and information about future ones
  • Contact: How to get in touch with documentation team
  • Sub-pages: Navigation to various other parts of the HOWTO

The page is clear, concise, and either directly explains a topic or links to it. A few minor concerns are:

  • Navigation: Are the Wiki links clear or is a more friendly TOC possible?
  • Getting the source: It was not friendly to a bazaar dummy like me but eventually I figured it out
  • Information overlap: Nothing major, but some pages contain the same info (something easy to do with Wikis)

The Development section

This area feels a bit more cluttered but all of the information we could possibly want is available, and eventually you’ll even stumble upon a chart explaining common routes people take as they become contributing developers, MOTU members, and eventually core developers. Not to say they are stepping stones to one ultimate goal (core developer), but they can be.

Some concerns:

  • Difficult to navigate: A lot of information scattered about
  • Scattered linking: Links refer to different parts (domains) of the site, so it’s easy to get lost
  • Information overload (is that bad?)

General notes

Although the main “Get Involved” page doesn’t link to it, there is a detailed area titled ContributeToUbuntu that lists about every possible method a person could take to help the Ubuntu project. This includes marketing, donations, handing out CD’s to friends… everything. I like this section.

The Ubuntu Brainstorm area is also worth checking out and I’m curious what sort of ideas and brainstorms the PHP community would come up with and vote for. Some good [and bad] ones no doubt.


Still more evaluating and idea gathering from other projects to do but it’s clear we over at PHP.net have a long ways to go. Basically, we suck at marketing and follow the chaotic old boys club mantra of throwing people directly into the fire and we even force them to light their own match. But, at least we do allow any and all humans to join this club.

So although it’s beautiful how something like PHP can result out of pure randomness and chaos, and although it’s possible this approach has benefits like forcing people to communicate heavily with current members, the drawbacks likely outweigh any potential benefits.

How I’ll help change the situation and beyond

While doing this I also decided to make it my life mission, or at least one of them, to help create a resource generic enough to help all Open Source projects create useful guides for getting involved. Eventually each component will be broken down and offered for common use (and open editing) and available for anyone interested. For example, if your project uses CVS then this guide will offer a blurp of text that explains how to get started using it for a specific project. Project X takes it, modifies, and we’re all happy and contributing. More on that later but creating this specifically for the PHP project is the initial and primary goal today.

If you know of a project that handles this topic well then please write about it here or privately via the contact form.

April 2 update: Stumbled upon this today, it holds a lot of promise: http://teachingopensource.org/

Reading CHM files on Macs

The CHM format is popular but what’s the situation for us MAC users? Which is the best?! Let’s explore this topic together.

And then there were two

Today only two CHM readers for Mac are worth strong consideration because they are active, pretty (native to Mac), and work great. Introducing iCHM and ArCHMock:

I’ll only really review these two and quickly refer to the others later.

Continue reading Reading CHM files on Macs

Learning to take photographs

Today while stumbling around digg, I ran into an article titled 34 Essential Tutorials To Get Started With Digital Photography and plan to study them all later, and think you should too. Especially before heading to Nicaragua next month (also something you should do :)

Admittedly I’ve been taking photos at random angles with random settings/lighting just hoping that a few would turn out well, so now is the time to change that philosophy. Woohoo!

don’t type source .bash_history in shell

Just wanted to mention that typing the following in shell/bash/terminal is bad:

source .bash_history

A geek might ask “why would you type that?!” well that’s a good question but I meant to type the following:

source .bashrc

So, it was bad, and executed a lot of commands… all the commands in my bash history to be specific. Ugh. So unless you feel like executing every shell command in your history, don’t do this.

listen to php conferences online

I stumbled upon a nice source of PHP information today (I’ve apparently been hiding under a rock) and think other PHP geeks will be interested. The audio version of the Zend Conference Talks are online, meaning, you may freely listen to them at your leisure. So go there now, download the talk slides, then press play and enjoy. Kudos to Zend for making these 2007 talks available! Their 2008 conference is coming up so hopefully this means more online talks here soon.

And now a mild rant. I’m bias against all conferences because they are expensive and geared towards small groups. People spend time writing talks for hundreds instead of, for example, writing documentation for millions. If you ever see me holding a sign that reads “We want docs, not talks!” outside of conferences, well, you now know why. ;) And slides by themselves are no substitute but each to their own…

Now back to the topic of this blog post. Go check out those talks and have a listen and who knows, maybe one day other conferences will follow Zend’s wonderful lead. Or maybe some already do and I’m just not aware. Also I wonder if there is software out there that can take the slides, some audio, and allow humans to easily sync the two for other humans…