lichess-org / lila

♞ lichess.org: the forever free, adless and open source chess server ♞
https://lichess.org
GNU Affero General Public License v3.0
15.08k stars 2.23k forks source link

Free the JavaScript, verifiably #1887

Closed m0davis closed 8 years ago

m0davis commented 8 years ago

According to LibreJS, en.lichess.org requires running JavaScript code which is not (verifiably) free software. A nonfree program disrespects the user's freedom and some users choose not run such programs. More information about free JavaScript including recommendations for how to serve it can be found in Richard Stallman's "The JavaScript Trap" (http://gnu.org/philosophy/javascript-trap.html).

Is it the case that all of the JavaScript on the site is in fact free, just not verified as such by LibreJS? Does lila generate JavaScript code dynamically? (I worry that could make it hard to verify and I don't see how Stallman's advice would apply.) Would following the recommendations of Appendices A and B of "The JavaScript Trap" solve the verifiability problem?

GNU IceCat 38.8.0 LibreJS 6.0.13

ornicar commented 8 years ago

Feel free to do that and submit a PR, if that's your thing. I have other plans for my own time.

m0davis commented 8 years ago

Have you any answers to the questions I asked? (quoted below)

Is it the case that all of the JavaScript on the site is in fact free, just not verified as such by LibreJS? Does lila generate JavaScript code dynamically? (I worry that could make it hard to verify and I don't see how Stallman's advice would apply.) Would following the recommendations of Appendices A and B of "The JavaScript Trap" solve the verifiability problem?

ornicar commented 8 years ago

Is it the case that all of the JavaScript on the site is in fact free, just not verified as such by LibreJS?

I don't know, so likely it's not.

Does lila generate JavaScript code dynamically?

Probably not. I never use eval. If you mean generate on server side, then yes, mostly data structures.

Would following the recommendations of Appendices A and B of "The JavaScript Trap" solve the verifiability problem?

I didn't read them.