Subject: Re: bug#69132: [ELPA] Remove jQuery from elpa.gnu.org

From: Philip Kaludercic <[email-masked]>
Date: Sun, 25 Feb 2024 10:55:58 +0000

Richard Stallman <[email-masked]> writes:

> [[[ To any NSA and FBI agents reading my email: please consider    ]]]
> [[[ whether defending the US Constitution against all enemies,     ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>
>   > > There are two fully moral ways to implement a search feature for a web
>   > > site.  One is to implement it inside the web server.  The other is to
>   > > communicate with a free program that the user has installed in per
>   > > computer, and could replace with any other.
>
>   > In this case, both options would be overkill.
>
> Do you mean, they would be more complex than is _technically_
> necessary?  I believe you, but this issue is about a choice that is
> mainly moral, not technical.  This moral issue is about showing
> leadership in avoiding Javascript (even free Javascript) when that is
> possible.

No, I'd say functionally.  The would work just as well without
Javascript, but if available it provides a minor quality-of-life
enchantment -- just as Javascript was intended to be used.

>   >   The search functionality
>   > does little more than just hiding a few elements from a table.  In
>   > practice, it don't offer much more than using the built-in C-f search
>   > functionality, that every browser provides.
>
> That browser feature does not use Javascript sent by the server.  All
> of the code for the browser search feature is installed by the user,
> who can choose which browser version to install.  So it does not raise
> this moral issue at all.
>
> Do you see why Javascript raises a distinct moral issue?

No, but I don't think we have to discuss this here.

>   > We should be talking about the same code; I am not sure what you mean by
>   > instructing users to install the code themselves?  Are you talking about
>   > user-scripts?
>
> Yes, that's the term I should have used.  Thanks.
>
> This issue is about who controls what code you run -- not about what
> the code _does_.  The Javascript code, sent by the web site, gives
> that site control.  The very same code, installed by the user, does
> not.
>
> But if the code is simple, perhaps the API is not worth the trouble.

I think it is absurd to talk about "control" in this case, as the
functionality that we are discussing barley qualifies as a program.  If
elpa.gnu.org would depend on Javascript to even display a single page,
then I would agree with you that this would be a problem, but what we
have here falls safely in the domain of progressive enchantment[0] and
graceful degradation[1], since everyone gets as much functionality as
their browser provides (which includes customised browsers, that disable
Javascript by default, as I do too), while making use of what the user
decides to enable.

[0] https://developer.mozilla.org/en-US/docs/Glossary/Progressive_Enhancement
[1] https://developer.mozilla.org/en-US/docs/Glossary/Graceful_degradation

-- 
Philip Kaludercic