Not sure if you'll pay attention to this post, but since I'm one of the various free software activists, I also consider JavaScript to be software at some point, specially for client-side/browser execution. And I have noticed that a user currently can't use that site without non-free JavaScript. I'm not telling to remove it entirely, just to release it as free software in a way that the machine can read.
We could address this in two ways:
Method 1:
Based on:
https://www.gnu.org/philosophy/javascript-trap.html- Try to remove nontrivial JavaScript, that is, those which: 1. Make AJAX requests, or are loaded along scripts which do such things. 2. Load external scripts dynamically or are loaded with scripts that do so. 3. Define functions or methods and either load an external script (from HTML) or are loaded as such. 4. Use dynamic JavaScript constructs that are difficult to analyze without interpreting the program, or are loaded along with scripts that use such constructs. These include the eval function, calling methods with the square bracket notation, and any other construct than a string literal with methods like Obj.write and Obj.createElement.
- Insert data which tells the user (and non-free JavaScript detection software like GNU LibreJS) the license of the JavaScript being executed, as well as where to get the source code for the current script. Like using the multiline comments "// @source" and "@licstart The following is the entire license notice for the JavaScript code in this page. ... License goes here ... @licend The above is the entire license notice for the JavaScript code in this page." .
- If possible, we could embed the script in the HTML pages through server-side includes, this allows us to make it available through a single line, in all HTML pages, and focus on the JavaScript development, and still load it in all pages, but we must talk to the site host to enable SSI. It's better than rellying on PHP and JavaScript includes.
Method 2 (more drastic):
- Could make the site use only CSS, basic HTML and PHP, without javascript or images for menus or other important buttons. The user could of course have a button to load the HTML5 version of the site.