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.
The problem is that the language is vague enough and untested enough a lot of places, including non-technical ones, can be wary of being the test case.
That is the only way for anyone that would like to make a living out of open source.
Other than that, younger generations are getting why the old models from shareware and trial demos, source available have made a comeback under apparently new models.
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.
I assume this is the reason they're characterising this as "PHP License V4 will have identical wording to BSD-3" rather than "We will switch license to BSD-3".
It amounts to the same thing, but the former framing means they're covered by the "or later".
> 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 also do not understand why anyone would drop the GPL because Stallman does not like their licensing.
Stallman is said to be notoriously difficult to work with, and IMHO he's quite an extremist.
He tried to veto emoji support in Emacs, because at the time it's only been supported on macOS. The reasonable recourse would've been add emoji support on the free platforms, but he seemingly can't see that far. So he's been ousted from the project.
In situations like this, I honestly would prefer to shut him off as well. I have huge respect for his past work, but at this point he's doing more harm than good.
> I also do not understand why anyone would drop the GPL because Stallman does not like their licensing.
Because he can be so obnoxious that people want to sever all ties with him and anything that has to do with him so that they never ever have to talk to him ever again in any capacity.
> Richard Stallman, the author of the GPL and quite an interesting individual lived at 5405 DEC square, he lived up on the sixth floor I think? Had an office up there; he did not have an apartment. And we knew him extremely well. He was a challenging individual to get along with. He would regularly come down to our offices and ask us, or kind of rail at us, for not using the GPL.
> This did not make a positive impression on me; this was my first interaction with Richard directly and I remember thinking at the time, “this guy is a little, you know, I’m not interesting in talking to him because he’s so challenging to work with.”
> And so, we should have listened to him then but we did not because, we know him too well, I guess, and met him as well.
There are many anecdotes like this over the years from many people, often people who in broad lines actually agree with Stallman.
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.
> That's hilarious considering I did my senior project in Perl
Same. Wrote a web application using Catalyst and a client for mobile phones using J2ME.
Writing projects in obscure languages is the best way to avoid dumb professors/examiners ask you stupid questions about your codebase lol.
I remember reading the Wikipedia page of Perl the night before the oral exhibition, just to be sure and guess what... The examiner asked me about the difference between "Perl" (capitalized) and "perl" uncapitalized. Which was one of the first lines in the Wikipedia page.
The guy literally went fishing for stupid and pedantic questions to ask, on Wikipedia, the night before.
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.
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...
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.
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.
Other than that, younger generations are getting why the old models from shareware and trial demos, source available have made a comeback under apparently new models.
It's sold to us as non-news, which is good. No change for contributors, no change for end users, rights wise.
--
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"
Now "Windows Subsystem for Linux" makes even less sense than it already did.
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.
It amounts to the same thing, but the former framing means they're covered by the "or later".
Deleted Comment
And reading the full license text, I don't see "or later" there either?
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.
Stallman is said to be notoriously difficult to work with, and IMHO he's quite an extremist.
He tried to veto emoji support in Emacs, because at the time it's only been supported on macOS. The reasonable recourse would've been add emoji support on the free platforms, but he seemingly can't see that far. So he's been ousted from the project.
In situations like this, I honestly would prefer to shut him off as well. I have huge respect for his past work, but at this point he's doing more harm than good.
Because he can be so obnoxious that people want to sever all ties with him and anything that has to do with him so that they never ever have to talk to him ever again in any capacity.
This goes back a long time. For example Keith Packard on why X11 isn't GPL (from https://youtu.be/cj02_UeUnGQ?t=1705):
> Richard Stallman, the author of the GPL and quite an interesting individual lived at 5405 DEC square, he lived up on the sixth floor I think? Had an office up there; he did not have an apartment. And we knew him extremely well. He was a challenging individual to get along with. He would regularly come down to our offices and ask us, or kind of rail at us, for not using the GPL.
> This did not make a positive impression on me; this was my first interaction with Richard directly and I remember thinking at the time, “this guy is a little, you know, I’m not interesting in talking to him because he’s so challenging to work with.”
> And so, we should have listened to him then but we did not because, we know him too well, I guess, and met him as well.
There are many anecdotes like this over the years from many people, often people who in broad lines actually agree with Stallman.
Same. Wrote a web application using Catalyst and a client for mobile phones using J2ME.
Writing projects in obscure languages is the best way to avoid dumb professors/examiners ask you stupid questions about your codebase lol.
I remember reading the Wikipedia page of Perl the night before the oral exhibition, just to be sure and guess what... The examiner asked me about the difference between "Perl" (capitalized) and "perl" uncapitalized. Which was one of the first lines in the Wikipedia page.
The guy literally went fishing for stupid and pedantic questions to ask, on Wikipedia, the night before.
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?"
https://wiki.php.net/rfc/php_license_update#background
"'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.