Nasty moments in Open Source development

(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at:, or follow me on Twitter.

Two bad incidents, in PHP and Python.

Escalate? Oh how I wish I had someone to escalate to. Painful to read. Here is someone filing a bug report and attacking Ramus Lerdorf, the guy who created PHP.

[2010-01-08 21:51 UTC] endosquid at endosquid dot com
This is going to cause us MONTHS or fixing code for no real benefit since this behavior change is arbitrary and seemingly, was made for no reason. We are all engineers and developershere, and can’t seem to get the reasoning behind returning NULL when a number is called for in the return.

It’s not a number definition, but FORMATTING. How do you format nothing in the numerical system? By having it be zero. You don’t have NULL dollars in your bank account, do you?

Please escalate this to someone who can answer the question as to why this was changed. If no one knows, then why was default behavior changed?

[2010-01-08 22:23 UTC]
Months? Being a bit dramatic here?

sed -i “s#number_format(#number_format((float)#g” *.php

Escalate? Oh how I wish I had someone to escalate to.

The change was part of standardizing all of PHP on the same parameter
parsing code. It is called zend_parse_parameters() internally. Most
of PHP was using this already, but there were still some stragglers
like number_format().

The first PHP 5.3 release candidate was back in March 2009. We put
these release candidates out there so people who “will have MONTHS of
work” because of small changes can chime in then and make their case.
The release candidate period lasted until July.

And something caused Guido van Rossum to retire from his leadership position of Python:

Now that PEP 572 is done, I don’t ever want to have to fight so hard for a
PEP and find that so many people despise my decisions.

I would like to remove myself entirely from the decision process. I’ll
still be there for a while as an ordinary core dev, and I’ll still be
available to mentor people — possibly more available. But I’m basically
giving myself a permanent vacation from being BDFL, and you all will be on
your own.

…So what are you all going to do? Create a democracy? Anarchy? A
dictatorship? A federation?

…The decisions that most matter are probably

– How are PEPs decided

– How are new core devs inducted

We may be able to write up processes for these things as PEPs (maybe those
PEPs will form a kind of constitution). But here’s the catch. I’m going to
try and let you all (the current committers) figure it out for yourselves.

Post external references

  1. 1
  2. 2