aboutsummaryrefslogtreecommitdiff
path: root/microposts/network-freedom.org
blob: 4336ace4e1efb4fb5b81c40574dfd5c8a4ecca2a (plain) (blame)
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]]