The JavaScript Trap

You could be running nonfree applications on your computer all day without even realizing it. It's happening through your browser. Web admins: There are many methods to display the licensing of JavaScript applications on a website. In the free software community, the notion that any program that is not free mistreats its users is well-known. We all protect our freedom by refusing to use any proprietary software installed on our computers. Some people see the nonfree as a rebuke to the software.

Related posts

The Top Android Phones

Mobile trends for app development 2022

JavaScript (officially known as ECMAScript)

Many users know that this is true for the plug-ins browsers provide to download because they may be free or nonfree. Browsers can also run other nonfree applications that they don't inform you about or programs to which web pages include or hyperlink. They are typically written in JavaScript; however other languages are also utilized.

JavaScript (officially known as ECMAScript; however, few people are using the name) was once utilized for small frills on web pages, including charming but unnecessary navigation and display options. It was customary to view JavaScript as mere enhancements of HTML markup rather than genuine software and ignore the issue.

What's New In JavaScript ECMAScript 2021 - What Features Should You Know?!, Source: Youtube, Program With Erik

One of the significances of free software is that the users have access to the sources of program code (its plans). A program's source code program is the most preferred format for programmers to alter, including generous spacing, explanations, and meaningful names. The compressed code is a fake alternative to the source code. The actual source program's code is not accessible to people using it. Therefore, they cannot be able to comprehend it. As a result, the programs are not free.

Additionally, they are not free. Some of these applications can be considered malware because they spy on users. More snarky, some websites employ services that track every single action a user takes while browsing the page. These services claim to "redact" the data to block sensitive information that the website should not access. However, even if this method is accurate, the main goal of such services is to provide the website with other personal information it shouldn't have access to.

The browsers won't usually inform you of the time they are loading JavaScript applications. Specific browsers offer a method to shut off JavaScript completely. Still, if you're conscious of the issue, it'll require a lot of effort to find the nontrivial free software and then disable the JavaScript programs. But even within the community of free software, most users aren't aware of the issue. The browsers' silence is often used to cover it up.

How To Disable JavaScript in Tor Browser?[TUTORIAL], Source: Youtube, DollarTechClub - in English

To be clear, JavaScript isn't inherently superior or inferior to users' rights than any other language. There is a way to distribute the JavaScript program as free software by making its source code with a non-exclusive software license. If the software is self-contained, meaning that its function and use are not dependent on the webpage it was downloaded from--that's fine, and you can copy the program to a folder on your computer, alter it, then open that page using a browser to launch it. You can even install it as other free applications and invoke it with the shell command. They don't have any particular moral dilemma different from C-based programs.

The issue with the JavaScript trap

The issue with the JavaScript trap is that a JavaScript program is associated with a website to which users can go. These JavaScript applications are created to function with a specific website or page, and the site or page relies on them for functioning.

Imagine you copy and edit the site's JavaScript code. There is a second issue: even if the source code is accessible, browsers don't provide the option of running your modified version in place of the original code when you visit the website or page. It's similar to tivoization, but it is not as challenging to overcome.

JavaScript User Trap for Unsaved Work Text Test Guide, Source: Youtube, Adam Khoury

JavaScript isn't the only technology websites use to send programs to users. Flash allowed programming using an extended version of JavaScript; however, that's now a thing of the past. Microsoft Silverlight is likely to bring about a similar problem to Flash. However, it is worse because Microsoft uses it as a platform to run codecs that are not free. A free replacement for Silverlight cannot provide the necessary functionality in the world of free, except for no-cost replacement codecs.

Java applets can also be run through the browser and cause similar problems. In general, every type of applet-based system can cause this issue. There is an open execution space for applets that will not be enough to face the problem.

It is theoretically possible to program using HTML and CSS; however, the capabilities are limited and difficult to use in actual use; it is an incredible hack to program it. The programs must be completely free, but CSS was not a significant issue for the user's freedom in 2019.

A growing movement

A growing movement has emerged that demands web pages to communicate solely through open protocols and formats (some claim to be "open"). This is, their documentation is available and is available for anyone to apply. However, the inclusion of JavaScript software on web pages renders that criteria insufficient. The JavaScript language is an entirely accessible format. Therefore, using JavaScript on a website isn't necessarily a bad thing. But, as we've learned previously, it could be a problem if the JavaScript program isn't free. If a site can transmit programs to the user, it's not enough to be written in a well-documented and unencumbered programming language. That program must be free as well. "Transmits only free software for users' use" is the criteria for an ethical website.

The ability to load and run nonfree software is just one of the numerous issues raised in "web application." It is believed that the concept of "web application" was invented to obscure the primary distinction between software offered to users and software running on servers. It could refer to a specific client program that runs in a browser; it can also refer to specialized server software; it can also refer to a client application that works in conjunction with specially designed server software. The server and client sides have different ethical concerns regardless of whether they are so tightly integrated that they could be considered part of a single software. This article focuses on the client-side of the software. We will address the server issue in a separate article.

JavaScript Malware - How bad can it be?, Source: Youtube, Colin Hardy

Are we practically speaking? How can we tackle the issue of nontrivial and nonfree JavaScript programs on websites? It is the first thing to do to stay away from using it.

What is "nontrivial"? It's a matter of its degree, and therefore, it is a matter of establishing an easy criterion that yields excellent results instead of getting the correct answer.

Our current criteria are to make a JavaScript program nontrivial when one of these conditions are met:

  • It is also known in an external script (from an additional page).
  • It declares an array of more than 50 elements wide.
  • It is a term used to define an entity named (function and method) different from the primitive.
  • It is a name-based entity with greater than three conditional constructions and loop construction.
  • Code that is not defined is anything other than primitives and functions described further down in the page.
  • Code that isn't named includes more significant than three conditional constructions and loop construction.

It is referred to as the eval.

It does Ajax calls.

It makes use of bracket notation for access to dynamic objects property that resembles an object property. 

It changes the DOM.

It uses dynamic JavaScript constructions, which are hard to comprehend without understanding the program. It is also loaded in conjunction with scripts using the same constructs. In particular, using any other type of construct than the string literal, you must use specific techniques ( Obj. writeObj.createElement, and other).

Dynamic HTML Content With Javascript, Source: Youtube, Code Boxx

How can we determine whether you can tell if the JavaScript code is legal? In the particular article, we offer an approach by which an unimportant JavaScript program on the form of a website page could state the URL on which the source code for it is and even mention its license by using stylized comments.

Then, we have to modify free browsers to recognize and block nontrivial and nonfree JavaScript on websites. LibreJS is a program in which LibreJS detects nonfree or nontrivial JavaScript on websites you visit and stops it. LibreJS is part of IceCat and is also it is available as an add-on to Firefox.

These capabilities allow the JavaScript program on the website to be completely free in a practical sense. JavaScript will no longer restrict our freedom, no more than C or Java are today. We'll be able to remove and even replace nonfree, not-trivial JavaScript programs just as we can reject and even replace free software offered to install in the standard method. Our campaign to encourage websites to offer free JavaScript will then commence.


In the meantime, there's a situation in which it's okay to run a free JavaScript program: to make an email to the web admins of the site, asking them to either remove or free the JavaScript code on the site. Don't be afraid to turn on JavaScript temporarily for this purpose, but be sure to turn it off later.

Related posts

The magic of iOS keyword installs

Top Coding Software for Beginners in 2022

Hope this article is helpful to you, thanks for reading.




Search News: