6 ms·
intredasting, they rather explicitly appear to be tilting against viral licensing: > 5.10.4 Provider represents and warrants that its Assets shall not contain
by paulmd 3y ago
intredasting, they rather explicitly appear to be tilting against viral licensing:
> 5.10.4 Provider represents and warrants that its Assets shall not contain (a) any software licensed under the GNU General Public License or GNU Library or Lesser General Public License, or any other license with terms that include a requirement to extend such license to any modification or combined work and provide for the distribution of the combined or modified product’s source code upon demand so that Customer content becomes subject to the terms of such license; or (b) any software that is a modification or derivative of any software licensed under the GNU General Public License or Library or Lesser Public License, or any other license with terms similar thereto so that Customer content become subject to the terms of such license.
LGPL doesn't impose combined redistribution requirements, does it? They're just tilting against that whole ecosystem specially. And if you apply the same standard as LGPL, MIT/BSD are basically the same right? Probably CDDL falls in too? that's absolutely a crazy thing but it's pretty straightforward in the licensing agreement.
No, no, they got it all wrong:
"not, invented here!"
- adrian_b 3y agoLGPL is a regular license, it is not a viral license. GPL is a viral license. The GNU glibc uses LGPL and almost any program run on a Linux system uses glibc, regardless in what programming language it has been written, at least for the system calls. If LGPL had been a viral license too, all programs would have been affected.
- ghusbands 3y agoDoesn't the LGPL give users the right to replace the LGPL part with a modified library of their choice? It seems doubtful that users can modify downloaded Unity apps at their leisure, so that would mean that LGPL cannot be supported on Unity, wouldn't it? Though then it would seem that LGPL libraries on almost any app store are being used against their license terms, so I must be wrong.
- adrian_b 3y agoThe obvious way to comply with LGPL is to link dynamically the LGPL libraries, even if everything else is linked statically. I am pretty sure that the Unity executables link dynamically glibc anyway. The alternative is to do the static linking in 2 steps. First link everything else into a big ELF object file, then do the final linking of the LGPL libraries. For compliance with the LGPL, it is enough to provide access to the big binary object file, so that a user may relink the possibly modified LGPL libraries, if desired. A dynamically-linked executable and an object file that needs a final static linking step with additional libraries have almost identical content and they provide equivalent information.
- pzo 3y agoSometimes even dynamic linking might be not enough - on iOS you can build dynamic frameworks that are dynamically linked but they are signed with developer provisioning key when distributed via App Store. AFAIK there is not other way for end user to swap such dynamic framework/library unless developer will provide source code or object files or compiled code (e.g. in other dynamic framework that links dynamically to such LGPL code). Not sure about jailbroken iPhones. Also for more complicated iOS projects (that require iOS capabilities e.g. in-app-purchase, push notifications, app pay, icloud etc.) end user would need to have a paid apple developer account to create and sign build.
- swiftcoder 3y ago> Though then it would seem that LGPL libraries on almost any app store are being used against their license terms, so I must be wrong. You are not wrong. LGPL does require that you provide users the ability to link against a modified version of the LGPL library. It is a requirement that has been rather honoured in the breach in this age of appstores
- palata 3y ago> LGPL does require that you provide users the ability to link against a modified version of the LGPL library. That's correct for LGPLv3, but I believe LGPLv2 is more nuanced. With LGPLv2, I don't think it requires that you provide the ability. It has to be possible if you get access to the executable (which may require that you jailbreak your device, for instance). For instance, it is my opinion (not legal advice) that it is fine to use an LGPLv2 Java library in a proprietary Android app, because you can technically go replace the class files corresponding to the LGPLv2 library in your apk. It's not easy to do (unlike swapping a dynamic library), but it is possible.
- paulmd 3y agoThis isn't a linguistic disagreement, LGPL and similar licenses are literally forbidden by the direct plain text of the agreement. > (b) any software that is a modification or derivative of any software licensed under the GNU General Public License or Library or Lesser Public License, or any other license with terms similar thereto so that Customer content become subject to the terms of such license.
- adrian_b 3y agoThe complaint was not that it is not true that they have not complied with the agreement, but that this rule is only selectively enforced and that nobody truly complies with it. Moreover, the rule has no rational reason, because unlike with GPL, compliance with LGPL is very easy to achieve, even for proprietary programs.
- rerdavies 3y agoThe rule is completely rational. It is impossible to use LGPL-licensed components on the Android app store or Apple app store without becoming infected with the full GPL. (As extensively discussed throughout this thread).
- cozzyd 3y agoSounds like Apple and Google should fix their broken app stores then.
- rerdavies 3y agoThe LGPL breaks because the app stores require signed executables, and signed static libraries, which is a Very Good Thing. Sounds like people should use MIT licenses (or similar non-viral licenses) instead of LGPL licenses.
- deleted 3y ago[deleted]
- lmm 3y ago> LGPL is a regular license, it is not a viral license. > GPL is a viral license. The LGPL's level of "virality" is small, but nonzero - it imposes requirements on a larger program of which you use LGPL code as a part. Those requirements are much smaller than the requirements imposed by GPL code in the same circumstances, but they are real, and much more substantial than e.g. including a copyright notice. > The GNU glibc uses LGPL and almost any program run on a Linux system uses glibc, regardless in what programming language it has been written, at least for the system calls. glibc has an explicit linking exception for programs using its public interface.
- davexunit 3y agoCalling a license "viral" is a gross pejorative intended to discourage copyleft.
- paulmd 3y agookay
- MaxBarraclough 3y agoAt the risk of seeming pedantic, the proper term is copyleft, not viral licensing. If memory serves, viral licensing has its origins in Microsoft fear-mongering (predating the modern positive use of viral, as in go viral). > LGPL doesn't impose combined redistribution requirements, does it? It does, in that if you modify the source-code of an LGPL-licensed library and distribute the binary, you are required to also distribute the source (i.e. the source of your modified version). Your modified source must also use the LGPL licence. If you distribute an unmodified binary for an LGPL-licensed library, you must also provide access to the unmodified source. (This isn't to say you need to bundle it into the same archive file.) It differs from the vanilla GPL in that an LGPL-licensed library permits you to dynamically link to it from application code that doesn't need to use any particular licence. (This is at least the gist of the matter as it applies to application code. This isn't legal advice, I'm not a lawyer, etc.) See the final point on this page from the FSF (authors of the GPL and LGPL) - https://www.fsf.org/bulletin/2014/fall/common-gpl-misconceptions https://www.fsf.org/bulletin/2014/fall/common-gpl-misconcept...
- rerdavies 3y agoAt the risk of seeming pedantic, who are you to decide whether viral licensing or copyleft is the proper term?
- MaxBarraclough 3y agoIt's not just my preference, anyone familiar with this area of copyright law recognises copyleft as its standard name. Viral licensing is, as I said, a snarky pejorative. [0][1] It's also less precise. Proprietary licenses can be 'viral' too. DRM libraries, for instance, may require that application source code not be made publicly available. > At the risk of seeming pedantic Parroting others in this way comes across as juvenile and antagonistic. [0] https://en.wikipedia.org/wiki/Copyleft#Viral_licensing https://en.wikipedia.org/wiki/Copyleft#Viral_licensing [1] https://en.wikipedia.org/wiki/Viral_license https://en.wikipedia.org/wiki/Viral_license
- paulmd 3y ago