1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
#+title: User freedom on the web
#+date: <2022-01-25>
The user freedom issues on the web are slightly complicated.
- Client-side: is code executed on the client machine (e.g. javascript)
free? If so then the user's freedom is protected.
- Then there's also the case when the client blocks the execution of
nonfree javascript (e.g. by using [[https://www.gnu.org/software/librejs/][LibreJS]]), in which case the
user's freedom is still protected.
- There are also false positives when using LibreJS, when the
javascript code is free, but not labelled or annoated in a
LibreJS-compliant way. In this case, since the client code is
free it is safe to whitelist the scripts.
- Server-side: is the server not under the user's (individual or
collective) control, doing computing on the user's behalf? If so
then that's bad (SaaSS), otherwise user freedom respecting.
- Examples of computing inherently one's own include translation,
photo editing etc.
- Examples of computing not inherently one's own are generally
activities requiring communication with others' computers, include
accessing information published by others (e.g. reading a blog
post) and publishing information (e.g. tweeting).
Case studies:
- Visiting [[https://fsf.org][the FSF homepage]] in a graphical browser like Firefox :: This
is fine, because all Javascript is trivial or LibreJS compliant.
Reading information published by the FSF is computing not inherently
one's own, so it's not SaaSS hence freedom respecting.
- Tooting on Mastodon using its web client :: This is generally fine, as
Mastodon webclient is free software, and some instances (like
hostux.social) are LibreJS-compliant. Publishing microblogposts is
a communication act, thus the Mastodon service that does so is not
SasSS.
- Watching videos on Peertube using its webclient :: Even though
Peertube is unusable with LibreJS on, it is free software from
backend to frontend. Whitelisting is generally safe. Watching
videos is again access information published by others, thus not
SaaSS.
- Recaptcha :: Requires nonfree JS, bad.
- Watching YouTube videos on an invidious proxy ::
similarly reading tweets on nitter, reading stuff on bibliogram or
doing these activities using a free software client. This is
certainly OK on the frontend as well as backend since it's
communication.
- Routing on osmand :: Osmand is a free software client and all
computation happens locally so it's good.
- Routing on osm.org :: It depends whether the routing calculation is
done locally using free javascript programs, or remotely (SaaSS).
- Reading github issues :: Doable with LibreJS blocking all
non-trivial nonfree javascript, and it is communications.
- Publishing tweets using free software clients :: Using free clients
is fine on the client side, and publication counts as communication
i.e. not SaaSS. [[https://www.fsf.org/twitter][This is what the FSF does]].
- Get weather forecast :: Even though the forecast is done by
computation on meteorological data, the user did not supply data,
thus such computation does not count as SaaSS. It is similar to
when someone does computation in their head (to outline, draft and
revise) before publishing a blog post.
We can spot some trends from these case studies:
- Generally, a free software (not necessarily web) client is good.
Many tools offer help with this, including the alternative
frontends, haketilo and woot.tech.
- F-droid Non-Free Network Service antifeature is not consistent with
the above method. In fact, it is not clear what is the definition
of this antifeature. For example, free alternative frontends like
[[https://f-droid.org/en/packages/org.schabi.newpipe/][NewPipe]] and [[https://f-droid.org/en/packages/com.jonjomckay.fritter/][Fritter]] are labelled with such antifeature, though by
the analysis above these are fine.
- AGPL is mostly irrelevant in this discussion because it is mostly
concerned with the freedom of the service provider, even though it
is the best software license.
- It's OK freedom-wise to use GAFAM service as long as the client is
free and the service does not count as SaaSS, though there are
separate concerns like user privacy.
Further readings:
- [[https://www.gnu.org/philosophy/who-does-that-server-really-serve.en.html][Who Does That Server Really Serve?]]
- [[https://www.gnu.org/philosophy/network-services-arent-free-or-nonfree.html][Network Services Aren't Free or Nonfree; They Raise Other Issues]]
|