8 ms·
RFC: PHP license update
- unethical_ban 1y agoDang if someone wants to become an expert in software licensing and modifications, this is a page to read. It's sold to us as non-news, which is good. No change for contributors, no change for end users, rights wise.
- dylan604 1y agoLast time I heard about a non-news update that required no changes or recertification, we learned about 787MAX and MCAS.
- michaelt 1y agoLet us hope nobody is writing their aircraft stabilizer trim control software in PHP.
- dylan604 1y agoit'll be alright as long as you're not receiving the trim updates as part of a search query using parse_str, otherwise, you might be susceptible to script kiddies.
- gerdesj 1y agoWell that is rather obvious. I doubt PHP has RTOS type guarantees built in. Funny you should mention stabilizer control (I don't think that is an aeronautic term). I recently visited the Battle of Britain Memorial Flight hanger at RAF Conningsby. It turns out that the Hurricane and Spitfire had unusual (by today's standards but normal for the times) ways of applying trim to control surfaces. One of them - you glue a piece of string on top of an aileron and on the other you smack it with a hammer to bend it (that must be the Spitfire) and then you test it out and keep fettling until the job is done. Well, that's roll sorted out, I'm not sure what trim for the other two axes (pitch, yaw) involves. Probably knicker elastic.
- somat 1y agoNothing special about that, here is the factory set trim tab on the p-47. https://www.youtube.com/watch?v=VxWKOHPPNlM&t=298 https://www.youtube.com/watch?v=VxWKOHPPNlM&t=298
- gerdesj 1y agoBeautiful aircraft there, very shiny. We didn't have time to polish ours like that what with the enemy shooting at them all the time. Oh and most of them were made of wood and wishes! The Hurricane was a bit of a crossover from WWI to WW2, yet rather a lot of Brits and Poles (int al) flew them against the Luftwaffe, who had rather more modern ME109s etc. It must have been a bit of a pain to see your enemy deploy a cannon when you only have a .303. There is absolutely no doubt that if the US hadn't rocked up, we would have been ... well I'm not sure what Europe might mean nowadays if things had been different. Possibly, our most lethal aircraft was the Mosquito. It was made of wood and twin enginned. So it was light and very, very fast and could pack a real punch - a quad cannon or lots of machine guns in the nose and carry bombs too. Parts were made in furniture factories and garden sheds - it was totally mad and rather hard to target manufacturing. I think that the Nazi regime gave two kills for downing a Mosquito because it was considered a bit of a handful.
- mschuster91 1y ago> Well that is rather obvious. I doubt PHP has RTOS type guarantees built in. It's not multithreaded by default (as long as you're not running it in an environment like Apache), no async stuff going on, so the major roadblocks for real-time guarantees are already out of the picture. The things I would be worried about is garbage collection and array handling. The former should be able to be configured (or in the worst case, rewritten) in a way that provides upper bounds on performance, people have already managed to do that for Java, the latter should be manageable by enforcing boundaries in the user code (e.g. disallow stuff like $foo[]='bar' that dynamically extends the length of an array).
- tom_m 1y agoDon't worry, that was written with JavaScript.
- burnt-resistor 1y agoNawh, it's really written in JScript with ActiveX plugins served over http:// http://.
- agsnu 1y ago737* :)
- sjs382 1y agoIt 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/” 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 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 http://www.zend.com"
- jt2190 1y agoThe background: https://wiki.php.net/rfc/php_license_update#background https://wiki.php.net/rfc/php_license_update#background
- echelon 1y agoI find these sorts of legal changes fascinating. 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.
- odo1242 1y agoI 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" Edit: there may be more context than I thought
- echelon 1y ago(I've edited my comment slightly, but not in a way that changes the context of your response.) PHP License Clause 3 & 4 are about protecting PHP branding. Modified BSD Clause 3 is about using the software author's name or likeness as endorsement. For example, it limits putting antirez's face and name on our managed Redis product without obtaining his permission.
- 1y ago
- samsk 1y agoBeautifull, everything regarding PHP licensing and its history in one place, no marketing or AI generated bs in sight - love it ;)
- EGreg 1y agoAI generated bs doesn’t add anything new. In fact bs has always existed! So there is nothing to see :)
- arp242 1y agoI 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" Haha, such classic Stallman.
- jraph 1y agoThe 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.
- arp242 1y agoThat is not what the article says. It doesn't mention "or later" at all? And reading the full license text, I don't see "or later" there either?
- ameliaquining 1y agoThe wording to search for is, "You may also choose to use such covered code under the terms of any subsequent version of the license".
- arp242 1y agoAh cheers. Don't understand why that's not mentioned at all in the length section on changing the license?
- deleted 1y ago[deleted]
- mikehall314 1y ago
- lachlanj 1y agoCan someone that understands the change please ELI5 for me? Is this changing the license for all of php?
- thayne 1y agoWhat do you mean by all of php? This changes the license of the language. That is the interpreter, runtime, and standard library.
- burnt-resistor 1y agoFYI 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. 1. https://opensource.google/documentation/reference/using/agpl-policy https://opensource.google/documentation/reference/using/agpl...
- senko 1y agoIn other words, if you're an open source startup and want to avoid being AWS'd, choose dual AGPL + commercial (with IP transfer CLAs).
- znpy 1y agoWhich is what Grafana essentially did, and it's going great (as a company and as a suite of products, their stuff is incredibly good).
- arccy 1y agobut also kind of sucks for users since you can't reuse the graph widgets elsewhere... which is why https://perses.dev/ https://perses.dev/ is now a thing
- znpy 1y agolooks like a poorer version grafana, with a worse license? Also grafana has "observability as code" since release 12: https://grafana.com/docs/grafana/latest/whatsnew/whats-new-in-v12-0/#observability-as-code https://grafana.com/docs/grafana/latest/whatsnew/whats-new-i... And it seems there used to be something similar from earlier as well: https://grafana.com/blog/2022/12/06/a-complete-guide-to-managing-grafana-as-code-tools-tips-and-tricks/ https://grafana.com/blog/2022/12/06/a-complete-guide-to-mana...
- pdmccormick 1y agoI 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.
- winrid 1y agoThat's hilarious considering I did my senior project in Perl.
- znpy 1y ago> 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.
- rollcat 1y agoI 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. As my dear friend often noted, "why simple?"
- DmitryOlshansky 1y ago
- phplovesong 1y ago[flagged]
- snvzz 1y agoCan't help but wonder why not the much simpler MIT.
- Y-bar 1y agoIs https://opensource.org/license/mit https://opensource.org/license/mit really much simpler than https://opensource.org/license/BSD-3-clause https://opensource.org/license/BSD-3-clause to make a meaningful difference to you?
- snvzz 1y agoYes. The main issue with BSD is its proliferation of versions, incompatible with each other. If you're comparing a specific version straight with MIT, this is not evident.
- psionides 1y agoWhy do people write licenses with whole paragraphs WRITTEN IN ALL CAPS LIKE THIS?
- ericras 1y agoPrevents any dispute over the significance of a certain word or phrase being capitalized vs not.
- rufus_foreman 1y agoFrom the Uniform Commercial Code: "'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 1y agoUS law says that warranty/liability disclaimers need to be "conspicuous". Making it ALL CAPS is the easiest way to do that in plain text.