Hi, Surprisingly, I cannot find any information on either of these pages[1][2] about what LibreJS does if a script is non-trivial and minified, but has a free license specified in LibreJS's format.
The only reference to minification I see is in the last example of Appendix C, in which the script is minified and has no license, but has a link to "to a page that contains a properly formatted table with the required data on the external JavaScript file", but it is unclear to me whether "the required data" includes the unminified source code, or just the license. The link no longer contains the example (neither do the other links in Appendix C; I was able to find some via the Wayback Machine, but not this last example), so I cannot check to see for myself. Can you please clarify whether LibreJS requires unminified source code in order to detect non-free scripts as free, or if a free license header is enough? I am asking because I recently came across Decentraleyes,[3] a browser addon which stores and serves locally various JavaScript libraries commonly served by CDNs. The intent of serving them locally is better privacy by avoiding the third-party connections normally needed to download these files, but it also strikes me as a potential freedom advantage: Rather than rely on websites to distribute free Javascript in a LibreJS-compatible way, a LibreJS-compatible copy of the scripts can be served locally by Decentraleyes. Perhaps it would even be possible for Decentraleyes to bundle free replacements for non-free JS on popular websites. However, the files currently bundled with Decentraleyes are obtained from the CDNs, so they are minified and have no license statement, for example: [4]. I opened an issue[5] asking if these files could be replaced with the original source code from the developers with a LibreJS-compatible license headers. A user who is considering forking the project replied asking whether the minified source code would be sufficient if it had the appropriate license headers, and I was unable to find an answer from LibreJS's documentation. Can someone please clarify? Thanks, Mason [1] https://www.gnu.org/software/librejs/manual/librejs.html [2] https://www.gnu.org/software/librejs/free-your-javascript.html [3] https://git.synz.io/Synzvato/decentraleyes [4] https://git.synz.io/Synzvato/decentraleyes/blob/master/resources/jquery/1.11.0/jquery.min.jsm [5] https://git.synz.io/Synzvato/decentraleyes/issues/392
signature.asc
Description: PGP signature
