Hello, Thanks for your input, We share your concerns about user freedom and the "Javascript trap".
Note that the goal of this GSoC project is not to make Ring "browser-based" nor to load any Ring source code from remote servers (JavaScript or not), but to provide NodeJS bindings to eventually have a single client code base across multiple desktop platforms. In that case the entire Ring code base would still be GPLv3+, including JS/HTML/CSS code, and would entirely be shipped with Ring clients to run locally (no webapp). Writing beautiful UIs using HTML/CSS is much simpler and accessible to many less-experiences developers than with GTK/QT/other toolkits. We deeply care about user freedom and a major goal of the Ring project is to ensure that users can securely communicate without depending on any external infrastructure or organization. Best regards, Adrien Beraud Ring developer, Savoir-faire Linux From: "Adonay Felipe Nogueira" <[email protected]> To: [email protected] Sent: Tuesday, May 16, 2017 10:58:06 AM Subject: Re: [Ring] GSoC: Asad Salman Welcome and thanks for your participation! I look forward to help you whenever I can. :) I'm not a "big picture" in the GNU Ring project yet, nor a developer, just a user that happens to care for freedom of other end/non-tech users. However, I also happen to be interested in how to ensure that the end/non-tech user receives such freedoms, this often involves knowing a bit of licensing practices and which are pro "free/libre software" and which are pro "open source only". I also have been studying the fragmentation of instant messaging software these days, and whether they are free/libre or not. One issue that I found common to those browser-based instant messaging software is that they subdue the end/non-tech user to the JavaScript trap ([[https://www.gnu.org/philosophy/javascript-trap.html]]). While JavaScript itself isn't bad (because it's a computer language), the way it is made to interact with the user often involves being forced to automatically run some software, without clear indication of which is being run, it's license, where to get the complete corresponding source files, no filter that allows blocking non-free software, and the fact that JavaScript is *client-side* language, all of this amounts to the fact that the user of software written in JavaScript is often the website/webapp visitor, so website/webapp copyright holders and developers must make sure that the essential freedoms of the software are being transfered to the end/non-tech user. *Personally*, I think that, since Ring is a GNU project ([[http://www.gnu.org/software/ring/]]), we must make sure that the end/non-tech user doesn't fall in the JavaScript trap. This *doesn't* mean that we must deny making a webapp, but it means that we must make things right, contrary to what most webapps are doing. As long as I don't have to do any coding, I can volunteer on aiding in the legal issues including which JavaScript comment markup is needed in order for GNU LibreJS to recognize a JavaScript code as free/libre (be it a script file, an embeded script in the page, or a HTML/JavaScript event handler). However, as I'm currently unable to apply for GSoC, and since I'm currently unemployed and not paid for the work I do as free/libre software activist, I can't guarantee that I'll be available to work on this full time. Anyways, to summarize: If you have any questions on how to avoid the JavaScript trap, and which JavaScript comment markup or which HTML structure is needed for that, just show me the current setup and ask. -- - [[https://libreplanet.org/wiki/User:Adfeno]] - Palestrante e consultor sobre /software/ livre (não confundir com gratis). - "WhatsApp"? Ele não é livre, por isso não uso. Iguais a ele prefiro GNU Ring, ou Tox. Quer outras formas de contato? Adicione o vCard que está no endereço acima aos teus contatos. - Pretende me enviar arquivos .doc, .ppt, .cdr, ou .mp3? OK, eu aceito, mas não repasso. Entrego apenas em formatos favoráveis ao /software/ livre. Favor entrar em contato em caso de dúvida.
