Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:125753 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id D57A81A00BD for ; Sun, 6 Oct 2024 02:25:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1728181669; bh=TTodaz32W4zCbI6nfHHlhs1h28K7XS9dZGkSvMngPSs=; h=Date:From:To:In-Reply-To:References:Subject:From; b=OpomgI9+aRdspNtx8J07072x1UdR/YnTxJLkGpyiZ7cn0yaNhw+vSGfc0gs/5OavK KNR6XvJfGrw7WIfhr0t/TpNIlDvb232NgoT04Y8adXOG+NpxODFrLgiK2pfnMZkYhN TU+UmGpRgDbeiCPwUcL/G7UzBxu2o9RP2pwrQI3ZzbXMg81I0pKhrIPR5HVUNXKdr5 tcr+6VoP5zvYwCBQ0CwJCcu89diNsdNPWU5TyetzIpNcqXie+8yKGWohFumeRZiSk4 lGXxWbz2hqyl+4ofNsvaZ9VXpZHqDOYLF3YJevE3VQkn3HUVIoDsVfGgHB6w8jS7c9 LzNVPd66fJymg== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 0C725180041 for ; Sun, 6 Oct 2024 02:27:49 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.1 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_MISSING,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_NONE autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from fout-a7-smtp.messagingengine.com (fout-a7-smtp.messagingengine.com [103.168.172.150]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Sun, 6 Oct 2024 02:27:48 +0000 (UTC) Received: from phl-compute-01.internal (phl-compute-01.phl.internal [10.202.2.41]) by mailfout.phl.internal (Postfix) with ESMTP id B328313802B6 for ; Sat, 5 Oct 2024 22:25:32 -0400 (EDT) Received: from phl-imap-06 ([10.202.2.83]) by phl-compute-01.internal (MEProxy); Sat, 05 Oct 2024 22:25:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= garfieldtech.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to; s=fm2; t=1728181532; x=1728267932; bh=YresjFgdshvMWB+gs2+Jl KWKGRb5TocEDEiB5mA8LFo=; b=VCpKZQpAx3jchfD/2eznPKL2Qz2fkZ+5BZlu5 CwSdFPA5D587viRTmecIvLKIHbdOuVBrWwh2FD0udI9KvzKPRapyTy336+hVYvqo 1J1YIe8G0NQV5wnoQ7PCPf05Zxds9GXukinKe6q1vdTj9i5ktMAbKGJ+VIF+G26W 3XaCEkzAy0+eUkh1K3PFglEPepv4Ok6S8YxEVFsXTP0rhDwhuyhSFm5ey36rN7aV c/eQbBMvOWfDptAfsrqEIcYwcRyiPgG2ZuLfcEx516aCQ5GuC25iI97LVNDIDGkm aUK1rPYHsMjibEgrIck1x9ZLvVXIObXuMFM3dCv/iStLkzZgg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1728181532; x= 1728267932; bh=YresjFgdshvMWB+gs2+JlKWKGRb5TocEDEiB5mA8LFo=; b=m 5ePdyl8uy4zoASjRaVigo90HBxEVj67vN8bQd2GEXbgZ15bsRk0u7Z8tPKkhrwH3 NMM1/UlJDB58duwVHX74nOUgHFC05EAIv0oh7d2nDVEkxVnNoK91ur+69CcHQyXU ChS2YCy/HOGyXLXaH81bvq8YRhYDPOoUe8ppaxSneX3BXjWiTbGH47Iov2bEscIJ yvjiPduk+y60GrYiTvLebslUdcsoJUgNmZ0mFyQfCMdfW70vD2kDuFVJbZY3puIB f2E4DPmr/H1+kQSSDfH4FSg55DwdfefW/QGV5JYD0dvDC/k+Vm0AvJiAhNwCBdeu kqIkr3KVWgL3OPRPtueBw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvddviedgieduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurhepofggfffhvffkjghfufgtgfesthhqredtredtjeen ucfhrhhomhepfdfnrghrrhihucfirghrfhhivghlugdfuceolhgrrhhrhiesghgrrhhfih gvlhguthgvtghhrdgtohhmqeenucggtffrrghtthgvrhhnpeeugfetieejueevffdulefh hfethfekvedtueevgfffvdefiedvtefgheevteelffenucffohhmrghinhepphhhphdrnh gvthenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehl rghrrhihsehgrghrfhhivghlughtvggthhdrtghomhdpnhgspghrtghpthhtohepuddpmh houggvpehsmhhtphhouhhtpdhrtghpthhtohepihhnthgvrhhnrghlsheslhhishhtshdr phhhphdrnhgvth X-ME-Proxy: Feedback-ID: i8414410d:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 5990929C006F; Sat, 5 Oct 2024 22:25:32 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Date: Sat, 05 Oct 2024 21:25:12 -0500 To: "php internals" Message-ID: In-Reply-To: References: <92b537ac-62f4-435c-bf55-07223cfa1915@app.fastmail.com> Subject: Re: [PHP-DEV] [RFC] Policy on 3rd party code Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable From: larry@garfieldtech.com ("Larry Garfield") On Sat, Oct 5, 2024, at 12:30 PM, Stephen Reay wrote: >> On 3 Oct 2024, at 01:48, Larry Garfield wrot= e: >>=20 >> =EF=BB=BFSince Jim's RFC proposal was criticized for being too vague,= I hereby offer a somewhat more prescriptive policy proposal on using 3r= d party code. (With JIm's blessing.) It's still more heuristics than r= ules, but I think that's the right approach generally. It also includes= a voting mechanism to resolve edge cases when they come up. >>=20 >> I'm sure we'll bikeshed it to death, but please keep an open mind abo= ut the concept in the first place. PHP is more than just php-src, and t= hat's a good thing. We need to catch up with that reality, while at the= same time maintaining a reasonable neutrality about projects Internals = doesn't manage directly. >>=20 >> https://wiki.php.net/rfc/third-party-code >>=20 >> *Puts on trusty flame-retardant suit* >>=20 >> --=20 >> Larry Garfield >> larry@garfieldtech.com >>=20 > > Hi Larry, > > Can you expand a bit more on this item from the exclusion list? > >> The library is a =E2=80=9Cfull=E2=80=9D application or framework. > To me that would mean anything that can be executed itself (be it a we= b=20 > app, a command like tool or daemon, etc. > > But then you specifically say Composer and PHPUnit and Psalm and=20 > PHPstan are explicitly allowed... aren't all of them "full"=20 > applications, because they can be executed in and of themselves. > > So, can you perhaps define what you mean by "full application" a littl= e=20 > more clearly? > > Cheers > > Stephen A number of people are concerned that if we use any of the "Big Names", = it would be interpreted as an endorsement of that project. Eg, if we re= built the main website using Laravel, the Symfony folks would feel sligh= ted. If we used Symfony, the Laravel folks would get rather cross. If = we used Yii, the Slim folks would get upset. If we used Drupal, we'd ge= t constant "well why not Wordpress?" questions. Etc. While I feel that concern is sometimes over-blown, I do believe it is va= lid. Notably, the "big name communities" tend to also be complete, inte= grated solutions, and those also tend to be where there's more active co= mpetition. Eg, there's only one meaningful Yaml implementation the mark= et, and two UUID libraries worth mentioning. But there's literally doze= ns of "frameworks" or "CMSes" to get mad at us. So banning "full" frameworks is my attempt at steering clear of the appe= arance of that kind of favoritism. Showing favoritism for Composer or X= debug is, well, there's no competition to complain. PHPUnit is technica= lly not the only testing framework on the market, but it has north of 90= % share (and is used internally by some of the few others). But showing= favoritism between Drupal, Wordpress, TYPO3, Concrete5, and Joomla gets= a lot dicier. A full framework also makes maintenance potentially more challenging, as= we it's a much larger external moving target than a UUID library that w= e could easily fork in a worst case scenario. So... I don't really have a solid, clear definition of what constitutes = a "full framework", because in the market, there isn't one. I'm sure so= meone could make a compelling argument that Slim isn't a full framework,= for instance, although I don't think I'd agree with it. It is inherently squishy, which is why these are intended as heuristics,= not strict rules, and when it's unclear we can bring it to a vote via R= FC, case by case. I'm open to better ways to define what "full" means here if anyone has s= uggestions. --Larry Garfield