FYI in case anyone were wondering: Meta uses Hack, not PHP. (Hack's packaging, documentation, and availability suck because there's no performance review "impact" to making things better that no one inside Meta sees. Plus, there's job security in knowledge hoarding.)
Licensing: Meta and Google[1], and likely Microsoft, Apple, and most other megacorps explicitly forbid any use of AGPL software because it cannot be proven to be prevented from being invoked according to the vagueness of the "Remote Network Interaction" clause. So if you never want megacorps or anyone who runs a business to ever use your code, choose AGPL.
> So if you never want megacorps or anyone who runs a business to ever use your code, choose AGPL.
Plenty of businesses run AGPL software (e.g. Grafana, Mastodon or Mattermost). Fewer run AGPL software for external paying customers.
As a developer, I care about the freedom of my users; I don’t much care about the paranoia of a megacorp who wants to restrict the freedom of its customers.
> So if you never want megacorps or anyone who runs a business to ever use your code, choose AGPL.
Not "anyone who runs a business" but "any business that uses your software to provide a proprietary network service".
That is the whole point of the AGPL!
Google's reasoning in your link is pretty clear that the problem is that they are a provider of network services. Most non tech businesses wold be completely unaffected by these issues and have no reason to care.
Plenty of big businesses will use AGPL software ... because you can dual license. AGPL lets you claim "open source" while still being able to pretty universally charge for the software's use via your commercial licensing option.
It seems like the only clauses being removed are those that protect PHP and Zend trademarks. Other than that, it's just unifying the two projects under a single license.
--
Basically, these two clauses (first from PHP, second from Zend) are removed:
The name “PHP” must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact group@php.net.
The names “Zend” and “Zend Engine” must not be used to endorse or promote products derived from this software without prior permission from Zend Technologies Ltd. For written permission, please contact license@zend.com.
And replaced with:
Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
--
Then the following three terms (4-6) are removed from PHP:
4. Products derived from this software may not be called “PHP”, nor may “PHP” appear in their name, without prior written permission from group@php.net. You may indicate that your software works in conjunction with PHP by saying “Foo for PHP” instead of calling it “PHP Foo” or “phpfoo”
5. The PHP Group may publish revised and/or new versions of the license from time to time. Each version will be given a distinguishing version number. Once covered code has been published under a particular version of the license, you may always continue to use it under the terms of that version. You may also choose to use such covered code under the terms of any subsequent version of the license published by the PHP Group. No one other than the PHP Group has the right to modify the terms applicable to covered code created under this License.
6. Redistributions of any form whatsoever must retain the following acknowledgment: “This product includes PHP software, freely available from http://www.php.net/software/”.
--
And the following three terms (4-6) are removed from Zend:
4. Zend Technologies Ltd. may publish revised and/or new versions of the license from time to time. Each version will be given a distinguishing version number. Once covered code has been published under a particular version of the license, you may always continue to use it under the terms of that version. You may also choose to use such covered code under the terms of any subsequent version of the license published by Zend Technologies Ltd. No one other than Zend Technologies Ltd. has the right to modify the terms applicable to covered code created under this License.
5. Redistributions of any form whatsoever must retain the following acknowledgment: "This product includes the Zend Engine, freely available at http://www.zend.com"
6. All advertising materials mentioning features or use of this software must display the following acknowledgment: "The Zend Engine is freely available at http://www.zend.com"
I suppose my concern with not getting permission from all contributors is that a bad faith contributor could make life hard. For those S signs with a stripe, or just out of spite. For better or worse, in systems like the US anyone can sue anyone for any reason and everyone is expected to carry their own costs, which is why everyone is so paranoid and covers their ass with three tanks worth of metal.
Aside:
"Meanwhile, Richard Stallman, author of the GPL and founder of the FSF, had significant disagreements with the PHP project over their use of the GPL, so the PHP project discontinued the dual-licensing approach, removing the GPL license as an option"
The PHP Group can do anything they want since they can release a new version of the license without contributor approval because of the "or later" clause.
> Meanwhile, Richard Stallman, author of the GPL and founder of the FSF, had significant disagreements with the PHP project over their use of the GPL, so the PHP project discontinued the dual-licensing approach, removing the GPL license as an option
The main link that cites is primarily about the MySQL license change to GPL and the impact on PHP licensing of tha. I also do not understand why anyone would drop the GPL because Stallman does not like their licensing.
I remember studying the source code to the PHP Zend Engine 25 years ago, and seeing a triple C pointer for the first time (I think it was `zval***`?) I did a lot of PHP in the following years, including using PHP for a high school programming contest (but my submission was rejected because the PHP language and using it in a standalone CLI context in particular was unfamiliar to the staff). I appreciate what it enabled me to accomplish in that era.
I honestly can't think up a reasonable case for a triple "naked" pointer. Nevermind performance, it's a level of implicit indirection that you simply can't reason about.
Think of what a pointer is. Picture a struct; accessing a member is dereference + offset. It makes sense, you know there's a car, and the car has a steering wheel, and the steering wheel has a horn button. Simple. A struct with one field, that field has an offset of zero - it fits our "naked pointer" case 1:1, but is more readable. The compiler will do the rest.
"'Conspicuous', with reference to a term, means so written, displayed, or presented that, based on the totality of the circumstances, a reasonable person against which it is to operate ought to have noticed it."
What are some of the ways you can tell if a term in a legal document is conspicuous? One of the ways mentioned in the UCC:
"a heading in capitals equal to or greater in size than the surrounding text"
So apparently the thinking is that if you make everything in the license all caps, it is all a conspicuous term, and thus a court will be convinced that a reasonable person ought to have noticed it.
The fact that the OSI didn't approve of the PHP License until pressured shows the wayward nature of their "stewardship" of "open source". As does their wonky and rights-eroding definition of "open source AI".
> The proposed license does not reduce any user rights or add any new restrictions on the use of code previously licensed under the PHP License, version 3.01,
Yes, it does. Modified BSD Clause 3 (copied below).
> 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
I know I'm being pedantic, but this is a narrowing of rights.
> Do We Require Permission From All Contributors? The short answer is, “No.”
I think that they can get away with this change since the original license doesn't preclude a narrowing of rights on derivatives.
It would be interesting if a contributor protested the additional burden and headache of having to deal with a torrent of snail mail asking for endorsement.
> I know I'm being pedantic, but this is a narrowing of rights.
No, it's not. Explicitly stating which rights you don't grant is not more narrow than implicitly not granting them, it's just clearer. Copyrights and trademark rights are different.
This clause doesn't allow people to write you, it prevents them from doing stuff without written permission.
And that's the default. Trademark laws and laws that protect individuals already work like this. I'm not even sure this clause is strictly necessary in the BSD license.
I assume they've carefully evaluated this change with a lawyer.
I mean, PHP license clause 3 & 4 seems to say this already:
3. The name "PHP" must not be used to endorse or promote products
derived from this software without prior written permission. For
written permission, please contact group@php.net.
4. Products derived from this software may not be called "PHP", nor
may "PHP" appear in their name, without prior written permission
from group@php.net. You may indicate that your software works in
conjunction with PHP by saying "Foo for PHP" instead of calling
it "PHP Foo" or "phpfoo"
IANAL, but the new license applies only to new PHP versions, changing it backwards would require approvals.
If you don't contribute under new license, you should be not affected.
burnt-resistor|7 months ago
Licensing: Meta and Google[1], and likely Microsoft, Apple, and most other megacorps explicitly forbid any use of AGPL software because it cannot be proven to be prevented from being invoked according to the vagueness of the "Remote Network Interaction" clause. So if you never want megacorps or anyone who runs a business to ever use your code, choose AGPL.
1. https://opensource.google/documentation/reference/using/agpl...
eadmund|7 months ago
Plenty of businesses run AGPL software (e.g. Grafana, Mastodon or Mattermost). Fewer run AGPL software for external paying customers.
As a developer, I care about the freedom of my users; I don’t much care about the paranoia of a megacorp who wants to restrict the freedom of its customers.
graemep|7 months ago
Not "anyone who runs a business" but "any business that uses your software to provide a proprietary network service".
That is the whole point of the AGPL!
Google's reasoning in your link is pretty clear that the problem is that they are a provider of network services. Most non tech businesses wold be completely unaffected by these issues and have no reason to care.
senko|7 months ago
mbonnet|7 months ago
dawnerd|7 months ago
darqis|7 months ago
samsk|7 months ago
EGreg|7 months ago
unethical_ban|7 months ago
It's sold to us as non-news, which is good. No change for contributors, no change for end users, rights wise.
dylan604|7 months ago
sjs382|7 months ago
--
Basically, these two clauses (first from PHP, second from Zend) are removed:
The name “PHP” must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact group@php.net.
The names “Zend” and “Zend Engine” must not be used to endorse or promote products derived from this software without prior permission from Zend Technologies Ltd. For written permission, please contact license@zend.com.
And replaced with:
Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
--
Then the following three terms (4-6) are removed from PHP:
4. Products derived from this software may not be called “PHP”, nor may “PHP” appear in their name, without prior written permission from group@php.net. You may indicate that your software works in conjunction with PHP by saying “Foo for PHP” instead of calling it “PHP Foo” or “phpfoo”
5. The PHP Group may publish revised and/or new versions of the license from time to time. Each version will be given a distinguishing version number. Once covered code has been published under a particular version of the license, you may always continue to use it under the terms of that version. You may also choose to use such covered code under the terms of any subsequent version of the license published by the PHP Group. No one other than the PHP Group has the right to modify the terms applicable to covered code created under this License.
6. Redistributions of any form whatsoever must retain the following acknowledgment: “This product includes PHP software, freely available from http://www.php.net/software/”.
--
And the following three terms (4-6) are removed from Zend:
4. Zend Technologies Ltd. may publish revised and/or new versions of the license from time to time. Each version will be given a distinguishing version number. Once covered code has been published under a particular version of the license, you may always continue to use it under the terms of that version. You may also choose to use such covered code under the terms of any subsequent version of the license published by Zend Technologies Ltd. No one other than Zend Technologies Ltd. has the right to modify the terms applicable to covered code created under this License.
5. Redistributions of any form whatsoever must retain the following acknowledgment: "This product includes the Zend Engine, freely available at http://www.zend.com"
6. All advertising materials mentioning features or use of this software must display the following acknowledgment: "The Zend Engine is freely available at http://www.zend.com"
arp242|7 months ago
Aside:
"Meanwhile, Richard Stallman, author of the GPL and founder of the FSF, had significant disagreements with the PHP project over their use of the GPL, so the PHP project discontinued the dual-licensing approach, removing the GPL license as an option"
Haha, such classic Stallman.
jraph|7 months ago
graemep|7 months ago
The main link that cites is primarily about the MySQL license change to GPL and the impact on PHP licensing of tha. I also do not understand why anyone would drop the GPL because Stallman does not like their licensing.
pdmccormick|7 months ago
winrid|7 months ago
rollcat|7 months ago
Think of what a pointer is. Picture a struct; accessing a member is dereference + offset. It makes sense, you know there's a car, and the car has a steering wheel, and the steering wheel has a horn button. Simple. A struct with one field, that field has an offset of zero - it fits our "naked pointer" case 1:1, but is more readable. The compiler will do the rest.
As my dear friend often noted, "why simple?"
jt2190|7 months ago
https://wiki.php.net/rfc/php_license_update#background
lachlanj|7 months ago
thayne|7 months ago
psionides|7 months ago
rufus_foreman|7 months ago
"'Conspicuous', with reference to a term, means so written, displayed, or presented that, based on the totality of the circumstances, a reasonable person against which it is to operate ought to have noticed it."
What are some of the ways you can tell if a term in a legal document is conspicuous? One of the ways mentioned in the UCC:
"a heading in capitals equal to or greater in size than the surrounding text"
So apparently the thinking is that if you make everything in the license all caps, it is all a conspicuous term, and thus a court will be convinced that a reasonable person ought to have noticed it.
arp242|7 months ago
ericras|7 months ago
snvzz|7 months ago
Y-bar|7 months ago
phplovesong|7 months ago
[deleted]
echelon|7 months ago
The fact that the OSI didn't approve of the PHP License until pressured shows the wayward nature of their "stewardship" of "open source". As does their wonky and rights-eroding definition of "open source AI".
> The proposed license does not reduce any user rights or add any new restrictions on the use of code previously licensed under the PHP License, version 3.01,
Yes, it does. Modified BSD Clause 3 (copied below).
> 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
I know I'm being pedantic, but this is a narrowing of rights.
> Do We Require Permission From All Contributors? The short answer is, “No.”
I think that they can get away with this change since the original license doesn't preclude a narrowing of rights on derivatives.
It would be interesting if a contributor protested the additional burden and headache of having to deal with a torrent of snail mail asking for endorsement.
remram|7 months ago
No, it's not. Explicitly stating which rights you don't grant is not more narrow than implicitly not granting them, it's just clearer. Copyrights and trademark rights are different.
jraph|7 months ago
And that's the default. Trademark laws and laws that protect individuals already work like this. I'm not even sure this clause is strictly necessary in the BSD license.
I assume they've carefully evaluated this change with a lawyer.
odo1242|7 months ago
samsk|7 months ago