Main
Main
Artwork
Artwork
Books
Books
Donate
Donate
Licenses
Licenses
Shorts
Shorts
Software
Software
Source
Source

The Javascript Crap - A Response to the Free Software Foundation's Stance that Javascript is Evil

10-19-2016

So apparently, javascript is e-e-e-vil and should be banned-- worldwide! No exceptions!! Never mind the fact that the majority of the web assumes your browser can translate javascript correctly. For those of you who are not hip to the hacker jive, I'm referring to an article written by Dr. Richard Stallman (founder of the Free Software Foundation). The article is known as "The Javascript Trap." You can read it here in its entirety.

Here is a list of Dr. Stallman's reasons for banning the use of javascript (and essentially rendering the majority of the world wide web unusable):

1. Code on javascript pages (like Google Docs) might contain variable names that are one character long.

2. Javascript could be considered malware.

3. A web page may rely on a website to function.

4. Browsers currently translate javascript without informing a user.

No, seriously. Those are the reasons!! That's not a misprint. In hindsight, Dr. Stallman is the same man who shuns using the linux kernel because it contains non-free software. Most people consider that normal use of free software-- it's free, but it was built with some non-free software that was laying around. Not Dr. Stallman and the Free Software Foundation! Dr. Stallman is the same man who refers to Digital Rights Management as "Digital Restrictions Management." Most people accept the fact that streaming media across the internet is a privilege provided by vendors. It's not a replacement for hardware-- like DVDs, CDs, and Blu-ray. Not Dr. Stallman and the Free Software Foundation! No!!

The first three rationalizations in the javascript hater's list are true of any program. If you can't understand how code functions because you don't like a variable name, I don't think we're addressing the real problem. Perhaps-- you are not a programmer?? If you're worried something is malware, we're still not addressing the real problem. Perhaps-- you should stay off websites you don't trust?? All modern programs rely on external libraries. Without libraries, open operating systems are simply not possible. Yet, libraries are maintained separately of programs that rely on them. Thus, the dreaded "dependencies" issue developers run into when they compile from source. :/ Apparently, it's okay for free software to have dependencies when it's written in C and C++. But for javascript, it's a deal breaker?? That's ridiculous. The fourth issue Dr. Stallman listed is remedied by..... simply informing a user their web browser is translating javascript?? Seems simple enough.

More About Issue #1

Dr. Stallman's actual words: "Google Docs tries to download into your machine a JavaScript program which measures half a megabyte, in a compacted form that we could call Obfuscript because it has no comments and hardly any whitespace, and the method names are one letter long. The source code of a program is the preferred form for modifying it; the compacted code is not source code, and the real source code of this program is not available to the user." Ignoring the fact that Dr. Stallman's writing is filled with run-on sentences that are barely coherent (an entirely separate issue), he has not introduced any real problem. For those of you who are not programmers, programming "comments" are extra language added to source code to explain what the code does. They are always hidden from a compiler or translator by surrounding them with special characters. Personally, I refer to programming comments by another name: "useless crap that makes code more difficult to read." Either you understand what the code does, or you don't. And if you don't, *learn*. Developers have no need to explain it to you. Nor, do we care if you understand it. Quit being a lazy bastard and read a programming book-- like the rest of us did!!

Secondly, arguing that "compacted code" (not that there is any proof the Google Docs code in question is such a thing) is not source code is ridiculous. Either the code is javascript and a web browser can translate it, or it is not. And if a web browser can translate it, a human can. If the length of the variable names bother you, I suppose you could rename them. I'm not sure what the purpose of that could possibly be. A function operates the same way whether it is named "function a()" or "function hildas_bra()". And other than function names that are called within a function, the code will be identical. The functionality of the function remains the same. Hence, we refer to it as a "function." That's just basic programming.

More About Issue #2

Dr. Stallman's actual words: "In addition to being nonfree, many of these programs are malware because they snoop on the user." Dr. Stallman has not been clear. What he's getting at is something like, "Javascript uses cookies." That is considered an issue by people because they are so cynical they assume data stored in a cookie will be used to track their preferences. It is possible to do that. I'll let you know when I encounter a website that does that using cookies. :/ Back on planet Earth, cookies are used to store data needed for variables when a page is reloaded. That's all they are *ever* used for on Insanely Witty Stupidity. And, they'll never be used for any other reason. You have my word. For those of you who lay awake at night worrying if websites can obtain information about you from cookies they read when you visited their website, your sleepless nights will soon be over. The software developers are to blame. You want to point a finger at someone? Blame the maintainers of web browsers. It's their decision to leave cookies full of crap after you close your browser. The simple fix for cookies is to simply delete them-- the moment you leave a website that made them. That's what web browsers *could* do. Web browser maintainers choose not to do that. You (a user) can also do something about cookies. You can browse in incognito mode-- meaning all of your cookies are deleted the moment you close your browser. That's half the battle! So, always browse in incognito mode. And, only visit one website when your browser is open. Then every time you finish using a website, simply close your browser. Solved!!

More About Issue #3

Dr. Stallman's actual words: "In the usual case, JavaScript programs are meant to work with a particular page or site, and the page or site depends on them to function. Then another problem arises: even if the program's source is available, browsers do not offer a way to run your modified version instead of the original when visiting that page or site. The effect is comparable to tivoization, although in principle not quite so hard to overcome." What Dr. Stallman is really suggesting you did: "You modified a web page that a website relies on. Now, you need to inform other webpages of the modification." Let's put this another way: "You modified a source file for a program. Now, 178 other functions fail to compile because you need to notify them of the change." So, what do you do? You acquire the tainted source files. And, you modify them. And, it's the same with javascript. Simply download the pages that need to be modified, modify them, then host all of them from your desktop or whatever you're doing. I don't know any other way to accomplish this. It's the same if you modify someone else's html. Sometimes, you end up hosting more than just one file. That's an issue developers run into all the time. I compared it to dependency issues, earlier.

More About Issue #4

Dr. Stallman's actual words: "Browsers don't normally tell you when they load JavaScript programs. Some browsers have a way to turn off JavaScript entirely, but even if you're aware of this issue, it would take you considerable trouble to identify the nontrivial nonfree programs and block them. However, even in the free software community most users are not aware of this issue; the browsers' silence tends to conceal it." So, the issue is "the silence??" Okay, web developers. Now, you quit being silent! I know you're trying to hide something from me! I need *you* to tell *me* how to use my computer!! So, what I need is for all the web browsers to open a dialog box and ask a user for permission-- every time it needs to translate javascript. That will make Dr. Stallman happy, I guess. By the way, turning off javascript in your web browser is trivial. It takes me all of five seconds to turn it off in Firefox.

Back

______________________________________________

Random Fact: Insanely Witty Stupidity has its own manual. The site has so many unusual features (completely invisible to a casual user) that they are carefully catalogued for educational purposes.

html revised 2024-03-28 by Michael Atkins.

The maintainer of insanelywittystupidity.com does not care if people duplicate this page or any part of it-- as long as this notice remains intact.