4 ms·
> Client-side JavaScript is always distributed source code - because your web page is distributing it to the user's browser. […] Minified or obfuscated is still
by chrismorgan 2y ago
> Client-side JavaScript is always distributed source code - because your web page is distributing it to the user's browser. […] Minified or obfuscated is still source code (you must provide original source as per license).
Minified or obfuscated is certainly not source code under GPLv3’s definition <https://www.gnu.org/licenses/gpl-3.0.html#section1 https://www.gnu.org/licenses/gpl-3.0.html#section1>:
> The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.
The transformation very obviously makes it be considered object code.
- robocat 2y agoYes. Transformed/minified/obfuscated is object code. And when you convey object code then you need to provide the "corresponding source" as per section 6. But my comment is more about: how much of a web page is a "work based on the Program" or "modified version" when you distribute/convey GPL licensed JavaScript as part of your page? Abridged excerpts from: https://www.gnu.org/licenses/gpl-3.0.html#license-text https://www.gnu.org/licenses/gpl-3.0.html#license-text “The Program” refers to any copyrightable work licensed under this License. A “covered work” means either the unmodified Program or a work based on the Program. Propagation includes copying, distribution (with or without modification), making available to the public To “convey” a work means any kind of propagation that enables other parties to make or receive copies The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. 6. Conveying Non-Source Forms. You may convey a covered work in object code form [snip] provided that you also convey the machine-readable Corresponding Source under the terms of this License ... This is not legal advice. The FSF appears to be deliberately unclear about how GPL and JavaScript interact. And LibreJS is fairly useless to help you legally decide if your web page is a derived/modified work or not.
- justinclift 2y ago> The transformation very obviously makes it be considered object code. Congratulations, you've been shipping the built objects and need to provide the source now too for license compliance. ;)