Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:53032 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 85265 invoked from network); 6 Jun 2011 15:18:27 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 6 Jun 2011 15:18:27 -0000 Authentication-Results: pb1.pair.com smtp.mail=larry@garfieldtech.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=larry@garfieldtech.com; sender-id=unknown Received-SPF: error (pb1.pair.com: domain garfieldtech.com from 66.111.4.27 cause and error) X-PHP-List-Original-Sender: larry@garfieldtech.com X-Host-Fingerprint: 66.111.4.27 out3.smtp.messagingengine.com Received: from [66.111.4.27] ([66.111.4.27:36192] helo=out3.smtp.messagingengine.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 12/22-06642-2CFECED4 for ; Mon, 06 Jun 2011 11:18:27 -0400 Received: from compute2.internal (compute2.nyi.mail.srv.osa [10.202.2.42]) by gateway1.messagingengine.com (Postfix) with ESMTP id E629520A5A for ; Mon, 6 Jun 2011 11:18:23 -0400 (EDT) Received: from frontend2.messagingengine.com ([10.202.2.161]) by compute2.internal (MEProxy); Mon, 06 Jun 2011 11:18:23 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=messagingengine.com; h=message-id:date:from:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding; s=smtpout; bh=UOaapgtIRjLfakk2b5/v+rtyuvo=; b=M5V21MRnWspzESQC8Zx4HFuMJSVb3Bbz6jlGhNQPxcJQR24SjD1J3upb00nL+PouRJraKo1rt7W37Hf8+VlUjXCeApogSBdXBXHOLSy/Hh/K8F38xvEp405eKekee7gnV7PeLK4nh9RL2/YlgjuOBOSkwYHRe/SfzoRtTSPoJc8= X-Sasl-enc: iF2lIkCiQVFN1N+5N6Vrv6BG08BmwT5/HJMRGFeKy+wf 1307373503 Received: from garfield.ad.palantir.net (unknown [209.41.114.202]) by mail.messagingengine.com (Postfix) with ESMTPSA id A27FD4460D0 for ; Mon, 6 Jun 2011 11:18:23 -0400 (EDT) Message-ID: <4DECEFBF.5070105@garfieldtech.com> Date: Mon, 06 Jun 2011 10:18:23 -0500 User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.17) Gecko/20110414 Lightning/1.0b2 Thunderbird/3.1.10 MIME-Version: 1.0 To: internals@lists.php.net References: <8757232E56758B42B2EE4F9D2CA019C901499F97@US-EX2.zend.net> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Bundling "modern" extensions From: larry@garfieldtech.com (Larry Garfield) On 6/5/11 7:54 AM, Ferenc Kovacs wrote: > just for the record, I agree with Pierre on this one. > our userbase has two distinct group: those who are using shared hosting and > usually use some third party cms or write their own crappy suboptimal code, > and those who use php to build bleeding edge custom product (either on top > of some 3rd party framework, or on their own). > for the first group, they doesn't configure their installation, but their > hosting providers do that for them. > those providers usually has custom configuration or compilation of php, > because by default, there are many ways where one user in the shared > environment can blow up or compromise the full server. > so for those people, including more stuff in the core means change, which > they have to adapt, and migrate (add more disable_ to the vhost configs or > recompile php without the newly included stuff). > btw. usually the general cms solutions targets the standard installations, > so they won't use stuff like mongodb. at least not as a requirement in their > core functionalities. As someone who deals mostly with managed hosting (not necessarily "shared" but a server where the customer doesn't have root), that's an important consideration. For anyone working in the non-custom CMS world (Drupal, WP, Joomla, etc.), knowing the baseline you can expect from a general PHP host is critically important. Drupal, for instance, considered but rejected making SQLite a requirement for Drupal 7 for some low-level bootstrapping logic because we found a few hosts that we did want to continue to support that didn't bundle it. The only way, currently, that projects can predict what a given host will have installed is "bundled in core PHP". If it's in the core PHP bundle, we can *usually* expect it to be there. If not, we can *usually* presume it won't be. That's not a hard and fast rule, but it's the best we've got right now. For me the question isn't "should we bundle memcached in PHP core", it's "how do we establish an expected baseline of PHP components that developers can reasonably expect will be available, and what should be in that?" Right now, that baseline is "bundled in core". This question is completely irrelevant to people who always have root on their dev and production servers, but they are, frankly, a minority of PHP-using domains out there. For those who deal in the mass-market, knowing that baseline is critical. So how do we establish that baseline if not by bundling an extension in core? --Larry Garfield