最糟糕的應用程式商店
作者:Alexandre Oliva想像一下最惡劣的應用程式商店。
其中的程式理應在您自己的電腦上執行。
然而,您必須連線才能執行它們。
每次您啟動它們時,它們都會連線到應用程式商店。
如果有更新的版本,它會自動安裝,不容置疑。您寧願執行較早的版本?沒門。
如果應用程式商店決定不再歡迎您,程式將無法再啟動。
如果應用程式商店伺服器離線,或者您離線,它也無法啟動。
這個應用程式商店中的程式也必須將您的資料保存在應用程式商店的伺服器中。
如果程式無法啟動,您將無法再存取伺服器上的資料。
您可能下載了資料的備份,但您必須弄清楚如何在沒有程式的情況下解碼它們。
聽起來像是一場惡夢?確實是。而且這非常真實。
知名的應用程式商店正朝著這種惡劣的程度逼近。
但它們只是在追趕真正的元兇。
最惡劣的應用程式商店是基於商業利益而扭曲的舊式使用者賦權分散式超文字系統,稱為「網路」。
使用者一直被鼓勵採用「網路應用程式」來進行大部分的運算,為其他應用程式商店效法鋪路。
「網路應用程式」最常以 JavaScript 形式發布(儘管 Java 和 Flash 也曾用於類似目的),自動安裝並在您的瀏覽器上執行。
但問題不在於它們是 JavaScript,或者是由您的瀏覽器執行它們。而是因為:
- 您無法控制程式的功能;
- 您無法控制何時可以執行它;
- 您無法控制自己的資料。
應用程式商店的所有者奪走了您所有的控制權,從而獲得了對您的控制權。
當 JavaScript 程式碼是非自由軟體時,您就會蒙受損失。
https://gnu.dev.org.tw/philosophy/javascript-trap.html
但即使它是(名義上的)自由軟體,您也會蒙受損失!
當應用程式/網站對您電腦上運行的內容擁有如此多的控制權時,其效果「相當於使用具有監視功能和通用後門的非自由程式」。
https://gnu.dev.org.tw/philosophy/network-services-arent-free-or-nonfree.html
https://gnu.dev.org.tw/philosophy/who-does-that-server-really-serve.html
所有者獲得了所有的自由,而您,使用者,卻一無所有。
這不是一種尊重自己的運算方式。
它侵犯了您的隱私,讓您和您的資料成為人質,奪走了您在數位生活中的自主權和自由。
網路曾經是分享資訊的美好方式。
網路應用程式和強制性的 JavaScript 已經把它變成了最糟糕的應用程式商店。
現在是時候將最棒的網路實踐與最糟糕的網路實踐分開了。
以下是一些可以提供幫助的方法:
- 要求需要執行 JavaScript 的網站提供以下任一選項:
- 存取其發布資訊的替代方式,或
- 交付其應用程式的替代方式;
- 推廣控制 JavaScript 執行的自由瀏覽器擴充功能;
https://gnu.dev.org.tw/software/librejs/ - 注意僅僅是 SaaSS 前端的應用程式;
https://gnu.dev.org.tw/philosophy/who-does-that-server-really-serve.html - 要求您使用的軟體以尊重自由的方式交付;
- 推廣不允許伺服器控制使用者的超文字系統。
https://en.wikipedia.org/wiki/Gemini_(protocol)
https://en.wikipedia.org/wiki/Gopher_(protocol)
更廣泛地來說:
- 作為一個尊重自己的使用者,盡可能拒絕濫用行為;
https://gnu.org/philosophy/saying-no-even-once.html - 勸阻自動執行下載的程式碼;
https://www.fsfla.org/blogs/lxo/pub/who-is-afraid-of-spectre-and-meltdown.en.html - 作為網路服務營運商,樹立一個尊重使用者的榜樣;
https://gnu.dev.org.tw/philosophy/network-services-arent-free-or-nonfree.html - 宣傳這個問題,並提供解決和避免它的建議。
https://gnu.dev.org.tw/help/help-javascript.html
現在,如果您希望您的網站讓使用者體驗一下最糟糕的應用程式商店對我們來說是什麼感覺,請在您控制的網頁中加入以下 JavaScript 小程式:
document.body.textContent = '請停用 JavaScript 以檢視此網站。'
如果您願意,可以將「停用 JavaScript」設為指向本文的連結。
感謝 Richard Stallman 給予撰寫這個議題的靈感,以及鼓勵我發表它。
2021-04-01 更新: 感謝 KE0VVT 告知我 textContent 無法包含連結;您需要 innerHTML 才能做到。