bugLibreJS - Bugs: bug #48266, Stop banning complex code


bug #48266: Stop banning complex code

Submitted by:  None
Submitted on:  Sat 18 Jun 2016 09:14:55 PM UTC  
Category:  None Severity:  3 - Normal
Item Group:  None Status:  Wont Fix
Privacy:  Public Assigned to:  zach wick <zwick>
Open/Closed:  Closed

Add a New Comment (Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


Sun 26 Mar 2017 02:13:59 PM UTC, comment #1: 

As is mentioned in "The Javascript Trap" by Richard Stallman [0], LibreJS blocks be default any Javascript that is both not freely licensed and non-trivial.

The "complexity" that you mention is the crux of what LibreJS considers trivial Javascript code. As you can read [0], we consider code that fits any of the following criteria as non-trival:
   - 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 program, or is loaded along with scripts that use such constructs. These constructs are:
      - using the eval function,
      - calling methods with the square bracket notation,
      - using any other construct than a string literal with certain methods (Obj.write, Obj.createElement, ...).

It is worth noting that, provided a non-trivial Javascript trap is freely licensed, it will not be blocked by default. This is because the code is marked as freely licensed.

I'm going to mark this issue as "Won't Fix" because the behavior that is described in your bug report is the expected behavior of LibreJS.

[0] https://www.gnu.org/philosophy/javascript-trap.html#AppendixA

zach wick <zwick>
Project AdministratorIn charge of this item.
Sat 18 Jun 2016 09:14:55 PM UTC, original submission:  

Admins of the mailfence.com email service seem interested in supporting LibreJS, but they can't for technical reasons.  They say that LibreJS auditing is too simplistic.  Their rationale is explained near the end of this post:


Why should javascript be banned for being complex?  I don't know javascript, but something is wrong if the licensing respects FSF principles but the tool uses complexity as part of the criteria.  Someone should look into this.



(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by zwick (Posted a comment)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.




    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2017-03-26 zwick StatusNone => Wont Fix
        Assigned toNone => zwick
        Open/ClosedOpen => Closed

    Back to the top

    Powered by Savane 3.5