Live data from Hacker News

GNU LibreJS

gnu.org

21–30 of 74 posts

Re: GNU LibreJS

#22
post #3

Earlier quoted context omitted.

People who care more about freedom than comfort?

People who care more about the delusional ranting of Stallman than actually using any web service today? Oh yeah, using jquery is "non-trivial". What a load of crap.

jQuery, even in its compressed form makes a license known.

/! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license /

It's not ideal, but I'll take it.

Re: GNU LibreJS

#23
post #16

For the curious, this is what is considered "non-trivial": .it makes an AJAX request or is loaded along with scripts that make an AJAX request, .it loads external scripts dynamically or is loaded along with scripts that do, .it defines functions or methods and either loads an external script (from html) or is loaded as one, .it uses dynamic JavaScript constructs that are difficult to analyze without interpreting the…

> this is a set of directives so wildly out of step with common engineering practice how so? It's just a set of guidelines for how program such as LibreJS might interpret what trivial JavaScript code looks like. If you think it's wrong, write to RMS and tell him, or tell me and I'll pass it along.

But something like:

it uses dynamic JavaScript constructs that are difficult to analyze without interpreting the program

calling methods with the square bracket notation

feels like a totally arbitrary restriction. That has nothing to do with free software and everything to do with the difficulty of analysis. Stupid.

Re: GNU LibreJS

#24

For the curious, this is what is considered "non-trivial": .it makes an AJAX request or is loaded along with scripts that make an AJAX request, .it loads external scripts dynamically or is loaded along with scripts that do, .it defines functions or methods and either loads an external script (from html) or is loaded as one, .it uses dynamic JavaScript constructs that are difficult to analyze without interpreting the…

> I generally support Richard Stallman (or, as I've taken to referring to him lately, GNU/Stallman or GNU plus Stallman), but this is a set of directives so wildly out of step with common engineering practice that I have to question how seriously others will take it.

Its not about engineering practice, its about ideology -- these are only blocked if they aren't attached to an appropriate license notice. This is a tool to maintain an ideologically pure experience, engineering has nothing to do with the purpose.

Re: GNU LibreJS

#25
post #6

What's next, GNU LibreCSS? (I read somewhere that html5+css3 can be turing complete)

Maybe LibreJS will just become LibreWWW, or LibreHTML5 for the cool kids?

Re: GNU LibreJS

#26
While the comments here are almost universally negative, this actually isn't that bad of an idea. Not just because of the freedom aspect, though I'm generally fairly principled about that--I'm more concerned about security and tracking. I've been increasingly paranoid in the post-Snowden era about this kind of stuff, using NoScript, RequestPolicy, and other plugins. And guess what... it's a huge pain in the ass. So many sites are broken, and I have to whitelist sites/external frameworks/CDNs quite often just to read simple articles. And even after all this effort, I know that I could still be running malicious code. I probably shouldn't care so much, but it's an irritating possibility. The implementation here isn't necessarily the best solution, but the idea of limiting javascript to trivial functionality could make things for the paranoid/security-conscious a lot easier.

Re: GNU LibreJS

#27
post #23
post #16

Earlier quoted context omitted.

> this is a set of directives so wildly out of step with common engineering practice how so? It's just a set of guidelines for how program such as LibreJS might interpret what trivial JavaScript code looks like. If you think it's wrong, write to RMS and tell him, or tell me and I'll pass it along.

But something like: it uses dynamic JavaScript constructs that are difficult to analyze without interpreting the program calling methods with the square bracket notation feels like a totally arbitrary restriction. That has nothing to do with free software and everything to do with the difficulty of analysis. Stupid.

They're reasonable signs that the JavaScript is non-trivial, not restrictions. You can write a program that uses them and release it under a free software license and LibreJS will run it.

Here's a good example of a trivial JavaScript program.

click me

For any non-trivial JavaScript programs, a free software license is required if you want it to be run by LibreJS -- a program designed to block any nonfree software from running on your computer inside a web browser.

Re: GNU LibreJS

#28
post #2

Their definition of "non-trivial" includes using computed member expressions, so the following program is not supported: var greetings = {world: "Hello World"}; var subject = 'world'; console.log(greetings[subject]); This is zealotry in action, who do they think is going to use this?

That's only if there is no license block. If there's a license block, it takes it at face value. So if the code really is free, putting a license statement to that effect should be enough.

I know people are going to say "what about minification", but c'mon, it's the 21st century, web servers know how to compress data streams when they send them and web browsers know how to decompress them. Minification for the purpose of saving bandwidth is a bugbear.

Re: GNU LibreJS

#29
post #16

For the curious, this is what is considered "non-trivial": .it makes an AJAX request or is loaded along with scripts that make an AJAX request, .it loads external scripts dynamically or is loaded along with scripts that do, .it defines functions or methods and either loads an external script (from html) or is loaded as one, .it uses dynamic JavaScript constructs that are difficult to analyze without interpreting the…

> this is a set of directives so wildly out of step with common engineering practice how so? It's just a set of guidelines for how program such as LibreJS might interpret what trivial JavaScript code looks like. If you think it's wrong, write to RMS and tell him, or tell me and I'll pass it along.

It might be useful to automatically cross reference to a source like GitHub or NPM. Code could very well have licensing information at the source, but not serve it to web clients. Just the name of the library would be enough to get a lot of these.

Re: GNU LibreJS

#30
post #23
post #16

Earlier quoted context omitted.

> this is a set of directives so wildly out of step with common engineering practice how so? It's just a set of guidelines for how program such as LibreJS might interpret what trivial JavaScript code looks like. If you think it's wrong, write to RMS and tell him, or tell me and I'll pass it along.

But something like: it uses dynamic JavaScript constructs that are difficult to analyze without interpreting the program calling methods with the square bracket notation feels like a totally arbitrary restriction. That has nothing to do with free software and everything to do with the difficulty of analysis. Stupid.

Those forms are not (supposed to be) blocked if they are attached to a free license.
Post reply on HN