This discussion brings to mind Thomas Schelling's landmark game theory book, "The Strategy of Conflict." What we have here is a game of coordinated bargaining. Two related quotations from the first chapter: "We have learned that a threat has to be credible to be efficacious, and that its credibility may depend on the costs and risks associated with fulfillment for the party making the threat." "While prudence suggests leaving open a way of escape when one threatens an adversary with mutually painful reprisal, any visible means of escape may make the threat less credible." So, a coordinated shift to PHP5 is more persuasive if there is no possibility for reevaluation. This brings to mind some possible tactics for Drupal to pursue: * Provide a chance for distributions and hosting companies to give feedback on the proposal, prior to the final commitment. * Provide adequate time for distributions and hosting companies to upgrade (this is where the input process will also help). * Recruit as many participating projects as possible. * Secure concrete, irreversible agreements from all participating projects. * Clearly communicate the rationale and benefits of the decision, citing external, legitimate authorities if possible (e.g. Zend). * Secure internal commitment by adding code, or reimplementing old code, in ways that eliminate the possibility of reverting to PHP 4. * Measure the extent to which its community is affected (e.g. by including a question on php4 vs. php5 in the drupal.org user survey). * Reduce migration costs by providing documentation or even automated testing and conversion (coder.module, unit test automation, etc.). * Promote (communicating to its users) distributions and hosting companies that provide PHP 5, and penalize or deemphasize those that do not. .ck Konstantin Käfer wrote:
We don't need to publicize that there is a possibility that we can go back in our decision.
We just said that. I think it is necessary to *force* all participating projects to switch to PHP 5 only, in all circumstances. If we just give in when nothing has changed in february 2008, we end up in the same state as we are now.
Just keep forging ahead as if PHP4 does not exist, and corner ourselves?
If all participating projects (most major ones showed interest) use PHP 5 from 2008 on, we are not cornering ourselves as Drupal's competitors are also PHP5 only.
We can say that we reevaluate this in February and that is it. We don't need to make any decisions now (apart from pushing hard for hosts and distros to go PHP5).
Again, if hosters don't have a reason (= major PHP software is PHP 5 only) to upgrade, they won't. I think it is necessary to decide *now* to give everyone half a year's notice.
Konstantin Käfer – http://kkaefer.com/