An unexpected result from the PHP manual: odbc_setoption()

A few days ago in IRC, Johannes quoted the odbc_setoption() documentation. The quoted awesomeness speaks for itself so here’s a snippet from the odbc_setoption() PHP manual page:

“However, if on a particular job it can make PHP work so your
boss doesn’t tell you to use a commercial product, that’s all
that really matters.”

This description has been there for over 13 years but I failed to locate the origin. So to whoever wrote this, kudos to you, and down with the man! ;)

One way PHP may capitalize on its popularity

Today Rasmus mentioned that he received a $500 offer for the php.net domain name. Discussion ensued, which ultimately led to the indisputable belief that php.net is worth over 10 million US dollars. Therefore, let’s think about this further:

Languages by worth [1] (in USD):

  • php.net : $10,176,050
  • python.org : $4,088,792
  • perl.org : $246,064
  • ruby-lang.org : $219,624

Clearly PHP is #1. And PHP should sell this domain name and purchase the competitors, so here’s how that proposal works:

First, purchase the competitor domain names:

10,176,050 – (4,088,792 + 246,064 + 219,624) = 5,621,570

Next, purchase php.org for future use:

5,621,570 – 2,594 = 5,618,976

And lastly, distribute the remaining cash to the php.net account holders

5,618,976 / 1,568 = $3,583.53 checks for everyone

So if you want to be a part of this action, then be sure to apply for a SVN account within the next week. Here’s one way to do that:

  • Go to https://edit.php.net/
  • Or, use the [edit] links on the top right of every PHP manual page, and click them
  • Create a patch or three
  • Email phpdoc@lists.php.net about these patches/changes, and introduce yourself
  • Receive a php.net account (and your very own @php.net (soon to be @php.org!) email address) and start committing
  • And now wait for a large fat sack of cash in the mail, in the form of a check (signed by Rasmus, our BDFL)

How have we not done this already?!

And PHP is determining how best to take advantage of the haystack/needle confusion, but the increased site traffic from confused users can and should be taken advantage of. See, this was part of the master plan all along!

Solid reference: [1] http://domainvalues.com/

PHPVille almost released today

Today Facebook released a HipHop l33t shizznizzle of a tool for PHP but sadly it’s not the PHPVille I was hoping for. PHPVille is probably a game that encourages PHP community members to work on the PHP project (over at php.net). Much like FarmVille, users simply cannot stop playing!

Possible game features:

  • Each SVN commit builds up your worth
  • Not tending to or feeding your PECL extensions will result in them drying up and dying
  • Dead PECL extensions may live on as zombies, as once in awhile people will resurrect them
  • Eventually you may purchase things like an @php.net email address, and karma for other SVN repositories
  • Neighbors share and improve each others code
  • Future enhancement: The selling of karma, in bulk
  • Future enhancement: When Oracle purchases PHP, you’ll be rich! [in PHPVille cash]

PHPVille members often discuss matters within the #php.pecl and #php.doc IRC channels on EFnet, or on the various mailing lists.

If you have other PHPVille ideas then please post them here and we’ll create the best facebook application ever! Also, thanks to Ralph and Ilia for discussing this on IRC and offering some of the ideas above. :)

a kudos to php geek felipe pena

Paul has written a few posts about members of the PHP community and this inspired one by me. It’s about a guy few hear about but all benefit from and his name is Felipe Pena. Somewhat anonymous in the PHP community, he’s a true superstar within the PHP.net project itself.

His path began with several patches to the Brazilian Portuguese translation of the PHP manual. And in typical Felipe fashion, they were unselfishly huge and over time for at least 10 entire PHP extensions. Then on October 25, 2007 a CVS account was requested. Work continued as did dabbling with other parts of the project. For example, every so often several of us on IRC would write comments like “It’d be nice if we had a good docbook skeleton generator, maybe based on reflection” but it was only talk. Then one day Felipe wrote “Hello everyone, what do you guys think of this?” and there it was, a full blown reflection based docbook skeleton generator that takes an extension or class and spits out xml files for use in the manual. A true doer, he does, and did, and continues to do. Talk is cheap, patches are not, Felipe speaks with patches.

Felipe has since moved on to mostly work on PHP internals and continues his talk is cheap philosophy. Well, he of course talks but typically includes solid patches. And when other people talk he responds with patches or offers to create them. When people commit new PECL extensions he often looks at them and offers advice and patches. When something boring needs done he offers to do it. Everyone intimate with the PHP.net project absolutely loves Felipe. I remember at one point referring to him as Nuno #2 but now he’s Felipe #1 :)

So, kudos to Felipe Pena who was also the PHP Brazilian of the year.

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.

Conclusion

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/