Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:125939 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 089ED1A00BD for ; Mon, 11 Nov 2024 07:15:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1731309455; bh=a4bFJnJvMYcnMmsCbEpZ7MBHgrZADOgSgpHW4KulUOo=; h=Date:From:To:Cc:In-Reply-To:References:Subject:From; b=fXOMCNA7kxThNLf/DIzhJK77MONw1uYPstXjjkthn67vYrqoiAgSj5mpSPk0kTpO1 mlIhGViFD0FpqVh32Osy8nLXsIvq8QtMKvI1WVDHZV2JkFKHjYDy2nB3GTOVAOWa0L oh8QCjLfY42bDdedt/jal5R2TOZ3CU9V2trcRlH2TkaZU93XwJE3yfgz3FHgJjf/2w +YFPfZuI5eFbO9MzVcMUSjb3JE2jmCHsoDUFEe9ebMEdh+peuRoHsjyq9/gykuPV7Q skQx30az88OR1JItjZLusuWdKXjK/K9bk+NYn3gz/mhT0KL8TY03FNT9Q1HelLveEL mL+lTZAjK3inA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 4C99218004B for ; Mon, 11 Nov 2024 07:17:34 +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.8 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DMARC_MISSING,HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE, SPF_NONE autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mail-ot1-f50.google.com (mail-ot1-f50.google.com [209.85.210.50]) (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 ; Mon, 11 Nov 2024 07:17:33 +0000 (UTC) Received: by mail-ot1-f50.google.com with SMTP id 46e09a7af769-7180ab89c58so2100710a34.1 for ; Sun, 10 Nov 2024 23:14:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=coggenterprises-com.20230601.gappssmtp.com; s=20230601; t=1731309298; x=1731914098; darn=lists.php.net; h=mime-version:subject:references:in-reply-to:message-id:cc:to:from :date:from:to:cc:subject:date:message-id:reply-to; bh=a4bFJnJvMYcnMmsCbEpZ7MBHgrZADOgSgpHW4KulUOo=; b=1eBQ+9ihdlLXVmpBv/fysU2VXjB9enysmjVv9D63o9WrgI71ZuX5Nn2RR2bWz6Xjlw cXURoJjmiv1Zf+MWHREo9UDMq2t+gRXUEHNxeDyML6yM8yzehOlw/z/aNLX+r1fvKkBc oxHNivoFd2hbCLwWEXZrHDXabHEnYHKGWlXPAAVRwSrvkSAq84DbuDeLedaUIYDEPNO0 TFlRmhEfVVqCrLd6fyXhD9bSfegGeL2/xKLqzuN/1HmVzCP86NmiND87kEi8338qt8Mj FQyiadeWRCfTexc0wzb7YBRbTJRSIDL7dYqvKBOGTTqZ8mVwkqnJontJsmXq++LSYanG O5Cg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731309298; x=1731914098; h=mime-version:subject:references:in-reply-to:message-id:cc:to:from :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=a4bFJnJvMYcnMmsCbEpZ7MBHgrZADOgSgpHW4KulUOo=; b=ALf9vElkGjga1LxoIAnARHu61eBSN/b8CQY940/0rqdMjdksy1umz4qdDAl4KOFvVk fbVC1R5Yt5pgvoZVjiIpgUL1Ua79WnRGnjCoov1eAd67rKU7Shvk4Ur3AEyTVveGFE+f xz6AZLJaHCcgmD/vPIk72ZKTaxAyDukQkYuo6Fh6N4cu3f2e432VR9Sw0IqDb7Y88ymO /BkgeIg7F8z+wXcb37YH7dr5AyzCXsB3hntfs0yPSHqZR4zh3k3lGsRJMHn0wi9orMJz jispSIDcVlYtLgwbJnooREOIdQFPiVPdT9um6nbS1wAEHIA1IkzpZQpc8btXoIy+x3de CiTg== X-Gm-Message-State: AOJu0YyMVBLAbSoTjztvyqMReTm6+Nk75NBe9QUQgsKvOJF3nCCWYPm7 xrHl6SytkOGlOpZ44xJeOJrBbR+mEffZi8/E/8D9qFufQRBaXCOexCb5/B1DkKHXftLh3BrcWsA 7 X-Google-Smtp-Source: AGHT+IGakgV4Ds+4T3cthm7AxCVFzM0MQTUq4MNnWFKS9vL96ONVLY9rJ462r7UluFshuRsXp1SDGg== X-Received: by 2002:a05:6830:6819:b0:718:1163:ef8f with SMTP id 46e09a7af769-71a1c1f2bc5mr10296050a34.2.1731309298355; Sun, 10 Nov 2024 23:14:58 -0800 (PST) Received: from Johns-MacBook-Pro-2.local ([98.97.83.144]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-71a109210d7sm2149811a34.60.2024.11.10.23.14.55 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 10 Nov 2024 23:14:57 -0800 (PST) Date: Mon, 11 Nov 2024 01:14:54 -0600 To: Larry Garfield Cc: php internals Message-ID: <1265782C-6018-40B9-84FD-0F22BF4DEECE@getmailspring.com> In-Reply-To: <2bdad6e0-e5e0-48a6-bbd3-b938804287ca@app.fastmail.com> References: <2bdad6e0-e5e0-48a6-bbd3-b938804287ca@app.fastmail.com> Subject: Re: [PHP-DEV] [RFC][Vote] Policy on third party code X-Mailer: Mailspring Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="6731aeee_74b0dc51_2c98" From: john@coggeshall.org (John Coggeshall) --6731aeee_74b0dc51_2c98 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline On Nov 11 2024, at 12:03 am, Larry Garfield wrote: > > First off, the obligatory "it was open for discussion for a month, and now you mention this?" I apologize for that, wasn't intentional. Unfortunately a whole pile of personal matters landed on my head between ... let's say October and November 6th that kept me from focusing on internals. As might be expected, the vote refocused my attention. I think this is worth discussing a bit more below,... TL;DR; I will at a minimum abstain from voting on this rather than vote "no" as my intent isn't to derail progress here. > For using, yes, full frameworks are not allowed for the reasons stated. Components are fine, though, and if someone wanted to RFC an exception for Symfony-based bugs.php.net, they can try. That's more permissive than the current policy. > For documentation... it's no change from the current status quo. If your concern is "zOMG, why can't we just tell people in the docs to use Symfony?", it's because someone else will immediately respond with "zOMG, why can't we just tell people to use Laravel instead?", and in a year or so someone will probably say "zOMG why can't we just tell people to use Tempest?" And then we'd have to argue if CodeIgnighter is something we want to even acknowledge exists. Full frameworks are a very, very active market, and I *agree* that we should try to avoid putting our thumb on the scales more than is necessary. Though again, there's an RFC process for exceptions. Tangent, but FWIW I think this is something the PHP Foundation could help take on a bit, by creating a certification process a given framework can participate in. Any framework could apply, and all would be measured by the same reasonable standards.. then at least the PHP project could say "these frameworks have met this certification bar" which would be very helpful to people evaluating PHP as an option. I would gladly participate in drafting a rubric for community review if there was interest in that. > So really, contrary to what you're saying, this RFC improves precisely the situation you're talking about in every way. Perhaps not as much as you would like, but it still moves the needle closer to it. I really don't have the stomach at the moment for litigating the "should we just go ahead and endorse some framework" question (I'm on team-no anyway), so I deliberately avoided that question when the main focus is to, as stated, let us mention Composer, PHPUnit, and other staples that have nowhere near the healthy competition that frameworks have. As I eluded to above, I am certainly not suggesting we endorse a single framework. I guess at the end of the day I've got a number of issues with the specifics of the language around how decisions are made in this doc, but I will concede that at least there is a document here that can be refined which is indeed a step forward. If you're interested some the concerns I have are (I'm focused on the maintainer bits below but I think they also largely apply to the marketing criteria as well): I don't think the "version 1.0" requirement is a good one, only because I strongly suspect it wouldn't take me very long to find a very reasonable library that for whatever reason is 0.8 or something... so now it can't be used, unless there is an RFC? I don't understand what the point of the "Explicitly approved" list is, if the point is any and all libraries which meet the acceptance criteria can be used without asking for permission then they are by default approved, right? Phrases like the library is a "de facto standard" is a really arbitrary, subjective criteria, ripe for misinterpretation or conflicting interpretation. As language it makes sense for the far edge cases and not much else IMO. I'm not suggesting that these alternatives be adopted right now... but off the top of my head I would offer these suggestions: The library should be focused on a specific need and provides clear, specific functionality needed by the PHP maintainers that would otherwise be unreasonable to implement and maintain themselves. The library should have an active developer community of at least 2 developers, and the library should have an currently active development history of at least 1 year. The library is provided under an Approved License On the marketing side I think we've got a long way to go, but that can be a discussion for later.. for now I'll just say that I have a lot of the same issues as the maintainer side regarding versioning / subjectiveness, etc. In my mind the marketing guidelines are way more important to the project than the maintainer ones: We can always resolve conflicts regarding this stuff and maintainers internally, but if we miss opportunities to tell potential users how PHP can solve their problem effectively we may never see them again. Anyway, like I said I'll abstain as my intention isn't to derail progress but I think this needs a lot more work as a set of guidelines. I'd be happy to help out with a second stab that if there is interest -- probably best off-list for a first draft? Coogle --6731aeee_74b0dc51_2c98 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline

On Nov 11 2024, at= 12:03 am, Larry Garfield <larry=40garfieldtech.com> wrote:

=46irst off, the obligatory =22it was open for di= scussion for a month, and now you mention this=3F=22

I apologize for that, wasn't intentional. Unfortunately= a whole pile of personal matters landed on my head between ... let's say= October and November 6th that kept me from focusing on internals. As mig= ht be expected, the vote refocused my attention.

I think th= is is worth discussing a bit more below,...

TL;DR; I will a= t a minimum abstain from voting on this rather than vote =22no=22 as my i= ntent isn't to derail progress here.

=46or using, ye= s, full frameworks are not allowed for the reasons stated. Components are= fine, though, and if someone wanted to R=46C an exception for Symfony-ba= sed bugs.php.net, they can try. That's more permissive than the current p= olicy.
=46or documentati= on... it's no change from the current status quo. If your concern is =22z= OMG, why can't we just tell people in the docs to use Symfony=3F=22, it's= because someone else will immediately respond with =22zOMG, why can't we= just tell people to use Laravel instead=3F=22, and in a year or so someo= ne will probably say =22zOMG why can't we just tell people to use Tempest= =3F=22 And then we'd have to argue if CodeIgnighter is something we want = to even acknowledge exists. =46ull frameworks are a very, very active mar= ket, and I *agree* that we should try to avoid putting our thumb on the s= cales more than is necessary. Though again, there's an R=46C process for = exceptions.

Tangent, but =46WIW I think this is some= thing the PHP =46oundation could help take on a bit, by creating a certif= ication process a given framework can participate in. Any framework could= apply, and all would be measured by the same reasonable standards.. = ; then at least the PHP project could say =22these frameworks have met th= is certification bar=22 which would be very helpful to people evaluating = PHP as an option. I would gladly participate in drafting a rubric for com= munity review if there was interest in that.

So real= ly, contrary to what you're saying, this R=46C improves precisely the sit= uation you're talking about in every way. Perhaps not as much as you woul= d like, but it still moves the needle closer to it. I really don't have t= he stomach at the moment for litigating the =22should we just go ahead an= d endorse some framework=22 question (I'm on team-no anyway), so I delibe= rately avoided that question when the main focus is to, as stated, let us= mention Composer, PHPUnit, and other staples that have nowhere near the = healthy competition that frameworks have.

As I elude= d to above, I am certainly not suggesting we endorse a single framework. = I guess at the end of the day I've got a number of issues with the specif= ics of the language around how decisions are made in this doc, but I will= concede that at least there is a document here that can be refined which= is indeed a step forward. If you're interested some the concerns I have = are (I'm focused on the maintainer bits below but I think they also large= ly apply to the marketing criteria as well):

  • I don'= t think the =22version 1.0=22 requirement is a good one, only because I s= trongly suspect it wouldn't take me very long to find a very reasonable l= ibrary that for whatever reason is 0.8 or something... so now it can't be= used, unless there is an R=46C=3F
  • I don't understand = what the point of the =22Explicitly approved=22 list is, if the point is = any and all libraries which meet the acceptance criteria can be used with= out asking for permission then they are by default approved, right=3F
  • Phrases like the library is a =22de facto standard=22 is = a really arbitrary, subjective criteria, ripe for misinterpretation or co= nflicting interpretation. As language it makes sense for the far edge cas= es and not much else IMO.
I'm not suggesting that the= se alternatives be adopted right now... but off the top of my head I woul= d offer these suggestions:
  • The library should be focused on a specific need and = provides clear, specific functionality needed by the PHP maintainers that= would otherwise be unreasonable to implement and maintain themselves.
  • The library should have an active developer community of= at least 2 developers, and the library should have an currently active d= evelopment history of at least 1 year.
  • The library is= provided under an Approved License
On the marketing = side I think we've got a long way to go, but that can be a discussion for= later.. for now I'll just say that I have a lot of the same issues as th= e maintainer side regarding versioning / subjectiveness, etc. In my mind = the marketing guidelines are way more important to the project than the m= aintainer ones: We can always resolve conflicts regarding this stuff and = maintainers internally, but if we miss opportunities to tell potential us= ers how PHP can solve their problem effectively we may never see them aga= in.

Anyway, like I said I'll abstain as my intention isn't= to derail progress but I think this needs a lot more work as a set of gu= idelines. I'd be happy to help out with a second stab that if there is in= terest -- probably best off-list for a first draft=3F

Coogl= e

--6731aeee_74b0dc51_2c98--