1 |
<!--#set var="ENGLISH_PAGE" value="/philosophy/wwworst-app-store.en.html" --> |
2 |
|
3 |
<!--#include virtual="/server/header.zh-cn.html" --> |
4 |
<!-- Parent-Version: 1.96 --> |
5 |
<!-- This page is derived from /server/standards/boilerplate.html --> |
6 |
<!--#set var="TAGS" value="essays cultural evils" --> |
7 |
<!--#set var="DISABLE_TOP_ADDENDUM" value="yes" --> |
8 |
|
9 |
<!-- This file is automatically generated by GNUnited Nations! --> |
10 |
<title>最最最糟糕的应用商店 - GNU 工程 - 自由软件基金会</title> |
11 |
<style type="text/css" media="print,screen"><!-- |
12 |
#content p { margin: .5em 0 0; } |
13 |
--> |
14 |
</style> |
15 |
|
16 |
<!--#include virtual="/philosophy/po/wwworst-app-store.translist" --> |
17 |
<!--#include virtual="/server/banner.zh-cn.html" --> |
18 |
<!--#include virtual="/philosophy/ph-breadcrumb.zh-cn.html" --> |
19 |
<!--GNUN: OUT-OF-DATE NOTICE--> |
20 |
<!--#include virtual="/server/top-addendum.zh-cn.html" --> |
21 |
<div class="article reduced-width"> |
22 |
<h2>最最最糟糕的应用商店</h2> |
23 |
|
24 |
<address class="byline">Alexandre Oliva 著</address> |
25 |
|
26 |
<p>想象一下最虐人的应用商店。</p> |
27 |
|
28 |
<p>那里面的应用程序原本是应当在你自己的电脑上运行的。</p> |
29 |
|
30 |
<p>但是,你却不得不在线运行它们。</p> |
31 |
|
32 |
<p>每次你启动它们,它们都会联系应用商店。</p> |
33 |
|
34 |
<p>如果有可升级的版本,它是被自动安装的,不会提出任何问题。你宁愿运行早期版本?难。</p> |
35 |
|
36 |
<p>如果应用商店决定不再欢迎你,那么这个程序也不能再被启动。</p> |
37 |
|
38 |
<p>如果应用商店服务处于离线状态,或者你处于离线状态,程序也不能启动。</p> |
39 |
|
40 |
<div class="important"> |
41 |
<p>这个应用商店中的程序还必须在应用商店的服务器中保存你的数据。</p> |
42 |
|
43 |
<p>如果程序无法启动,你就无法访问服务器上的数据。</p> |
44 |
|
45 |
<p>虽然你可能已经下载了数据的备份,但是你还不得不搞定如何在无法使用那个程序的情况下对数据进行解码。</p> |
46 |
</div> |
47 |
|
48 |
<p>听起来像是一场噩梦? 是的。但它也确实是真实的。</p> |
49 |
|
50 |
<p>那些知名的应用商店正在趋近这种恶劣程度。</p> |
51 |
|
52 |
<p>但他们也只是在追赶那些真正的恶劣。</p> |
53 |
|
54 |
<p>最虐人的应用商店是对 “Web” 系统在商业驱动下的扭曲,这是一个古老的赋予用户权力的分布式超文本系统。</p> |
55 |
|
56 |
<p>用户被鼓励在大部分计算中采用 “Web 应用”,这为其他应用商店的效仿铺平了道路。</p> |
57 |
|
58 |
<div class="important"> |
59 |
<p>“Web 应用”通常以 JavaScript 的形式发布(尽管 Java 和 Flash |
60 |
也有类似的意图),并在你的浏览器上自动安装和执行。</p> |
61 |
|
62 |
<p>但问题不在于他们是 JavaScript 的形式,或是在你的浏览器中运行。问题在于:</p> |
63 |
|
64 |
<ul> |
65 |
<li>你无法控制程序做了什么;</li> |
66 |
<li>你无法控制在何时运行它;</li> |
67 |
<li>你无法控制你自己的数据;</li> |
68 |
</ul> |
69 |
|
70 |
<p>应用商店的所有者从你手中夺走了所有的控制权,进而获得了对你的控制。</p> |
71 |
|
72 |
<p>如果这份 JavaScript 代码是非自由软件,那你就输了。<br /> |
73 |
<a href="/philosophy/javascript-trap.html"> |
74 |
https://www.gnu.org/philosophy/javascript-trap.html</a></p> |
75 |
|
76 |
<p>但当它(名义上)是自由软件时,你也输了!</p> |
77 |
</div> |
78 |
|
79 |
<p>当应用/Web 站点对计算机上运行的内容有如此多的控制权时,其效果“相当于使用一个具有监控功能和全局后门的非自由程序。” <br /> |
80 |
<a href="/philosophy/network-services-arent-free-or-nonfree.html"> |
81 |
https://www.gnu.org/philosophy/network-services-arent-free-or-nonfree.html</a> <br /> |
82 |
|
83 |
<a href="/philosophy/who-does-that-server-really-serve.html"> |
84 |
https://www.gnu.org/philosophy/who-does-that-server-really-serve.html</a> </p> |
85 |
|
86 |
<p>应用/网站的所有者得到了全部的自由,而你,作为用户,却一无所获。</p> |
87 |
|
88 |
<p>这不是一种自我尊重的计算方式。</p> |
89 |
|
90 |
<p>它侵犯了你的隐私,它把你和你的数据当作人质,在涉及你的数字生活时,它夺走了你的代理权和你的自由。</p> |
91 |
|
92 |
<hr class="column-limit" /> |
93 |
|
94 |
<p>网络曾经是分享信息的绝佳方式。</p> |
95 |
|
96 |
<p>Web 应用程序和强制性的 JavaScript 已经把它变成了最糟糕的应用商店。</p> |
97 |
|
98 |
<p>是时候将最最最美好和最最最糟糕区分开了。</p> |
99 |
|
100 |
<p>以下方法会有所帮助:</p> |
101 |
|
102 |
<ul> |
103 |
<li>向需要执行 JavaScript 的网站请求提供下两种功能: |
104 |
<ul> |
105 |
<li>访问他们所发布信息的替代方法,或者</li> |
106 |
<li>他们的应用程序的替代发行方法;</li> |
107 |
</ul> |
108 |
</li> |
109 |
|
110 |
<li>推广能控制 JavaScript 执行的自由浏览器扩展;<br /> |
111 |
<a href="/software/librejs/">https://www.gnu.org/software/librejs/</a></li> |
112 |
|
113 |
<li>当心那些只是 SaaSS 前端的应用;<br /> |
114 |
<a href="/philosophy/who-does-that-server-really-serve.html"> |
115 |
https://www.gnu.org/philosophy/who-does-that-server-really-serve.html</a></li> |
116 |
|
117 |
<li>要求你所使用的软件以尊重自由的方式交付;</li> |
118 |
|
119 |
<li>推广不向服务器授予对用户的控制权的超文本系统。<br /> |
120 |
<a href="https://en.wikipedia.org/wiki/Gemini_(protocol)"> |
121 |
https://en.wikipedia.org/wiki/Gemini_(protocol)</a><br /> |
122 |
<a href="https://en.wikipedia.org/wiki/Gopher_(protocol)"> |
123 |
https://en.wikipedia.org/wiki/Gopher_(protocol)</a></li> |
124 |
</ul> |
125 |
|
126 |
<p>更一般地说:</p> |
127 |
|
128 |
<ul> |
129 |
<li>作为一个有自尊的使用者,尽你可能地拒绝虐待行为;<br /> |
130 |
<a href="/philosophy/saying-no-even-once.html"> |
131 |
https://gnu.org/philosophy/saying-no-even-once.html</a></li> |
132 |
|
133 |
<li>不鼓励自动执行下载的代码;<br /> |
134 |
<a |
135 |
href="https://www.fsfla.org/blogs/lxo/pub/who-is-afraid-of-spectre-and-meltdown.en.html"> |
136 |
https://www.fsfla.org/blogs/lxo/pub/who-is-afraid-of-spectre-and-meltdown.en.html</a></li> |
137 |
|
138 |
<li>作为网络服务提供者,树立尊重用户的榜样;<br /> |
139 |
<a href="/philosophy/network-services-arent-free-or-nonfree.html"> |
140 |
https://www.gnu.org/philosophy/network-services-arent-free-or-nonfree.html</a></li> |
141 |
|
142 |
<li>传播对问题的认知,以及解决和避免问题的建议。<br /> |
143 |
<a href="/help/help-javascript.html"> |
144 |
https://www.gnu.org/help/help-javascript.html</a></li> |
145 |
</ul> |
146 |
|
147 |
<p>现在,如果你希望你的网站能够让它的用户体验到我们对最最最糟糕的应用商店的感受,那么在你控制的网页中添加下面的 JavaScriptlet:</p> |
148 |
|
149 |
<p class="emph-box"> |
150 |
document.body.textContent = '请禁用 JavaScript 以查看此站点。'</p> |
151 |
|
152 |
<p>如果你愿意,可以为“禁用 JavaScript” 增加一个到本文的链接。</p> |
153 |
|
154 |
<hr class="column-limit" /> |
155 |
|
156 |
<p>感谢 Richard Stallman 为本问题的撰写提供灵感,并鼓励我们将其发表。</p> |
157 |
|
158 |
<p><em>2021-04-01 更新:</em> 感谢 KE0VVT 让我知道 textContent 不能有链接;为此你需要 |
159 |
innerHTML。</p> |
160 |
</div> |
161 |
|
162 |
<div class="translators-notes"> |
163 |
|
164 |
<!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.--> |
165 |
</div> |
166 |
</div> |
167 |
|
168 |
<!-- for id="content", starts in the include above --> |
169 |
<!--#include virtual="/server/footer.zh-cn.html" --> |
170 |
<div id="footer" role="contentinfo"> |
171 |
<div class="unprintable"> |
172 |
|
173 |
<p>请将有关自由软件基金会(FSF) & GNU的一般性问题发送到<a |
174 |
href="mailto:gnu@gnu.org"><gnu@gnu.org></a>。也可以通过<a |
175 |
href="/contact/">其他联系方法</a>联系自由软件基金会(FSF)。有关失效链接或其他错误和建议,请发送邮件到<a |
176 |
href="mailto:webmasters@gnu.org"><webmasters@gnu.org></a>。</p> |
177 |
|
178 |
<p> |
179 |
<!-- TRANSLATORS: Ignore the original text in this paragraph, |
180 |
replace it with the translation of these two: |
181 |
|
182 |
We work hard and do our best to provide accurate, good quality |
183 |
translations. However, we are not exempt from imperfection. |
184 |
Please send your comments and general suggestions in this regard |
185 |
to <a href="mailto:web-translators@gnu.org"> |
186 |
|
187 |
<web-translators@gnu.org></a>.</p> |
188 |
|
189 |
<p>For information on coordinating and contributing translations of |
190 |
our web pages, see <a |
191 |
href="/server/standards/README.translations.html">Translations |
192 |
README</a>. --> |
193 |
我们尽最大努力来提供精准和高质量的翻译,但难免会存在错误和不足。如果您在这方面有评论或一般性的建议,请发送至 <a |
194 |
href="mailto:web-translators@gnu.org"><web-translators@gnu.org></a>。</p><p>关于进行协调与提交翻译的更多信息参见 |
195 |
<a href="/server/standards/README.translations.html">《译者指南》</a>。</p> |
196 |
</div> |
197 |
|
198 |
<!-- Regarding copyright, in general, standalone pages (as opposed to |
199 |
files generated as part of manuals) on the GNU web server should |
200 |
be under CC BY-ND 4.0. Please do NOT change or remove this |
201 |
without talking with the webmasters or licensing team first. |
202 |
Please make sure the copyright date is consistent with the |
203 |
document. For web pages, it is ok to list just the latest year the |
204 |
document was modified, or published. |
205 |
|
206 |
If you wish to list earlier years, that is ok too. |
207 |
Either "2001, 2002, 2003" or "2001-2003" are ok for specifying |
208 |
years, as long as each year in the range is in fact a copyrightable |
209 |
year, i.e., a year in which the document was published (including |
210 |
being publicly visible on the web or in a revision control system). |
211 |
|
212 |
There is more detail about copyright years in the GNU Maintainers |
213 |
Information document, www.gnu.org/prep/maintain. --> |
214 |
<p>Copyright © 2021 Alexandre Oliva</p> |
215 |
|
216 |
<p>本页面使用 <a rel="license" |
217 |
href="http://creativecommons.org/licenses/by-nd/4.0/">Creative Commons |
218 |
Attribution-NoDerivatives 4.0 International License</a> 授权。</p> |
219 |
|
220 |
<!--#include virtual="/server/bottom-notes.zh-cn.html" --> |
221 |
<div class="translators-credits"> |
222 |
|
223 |
<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.--> |
224 |
<b>翻译团队</b>:<a rel="team" |
225 |
href="https://savannah.gnu.org/projects/www-zh-cn/"><CTT></a>,2022。</div> |
226 |
|
227 |
<p class="unprintable"><!-- timestamp start --> |
228 |
最后更新: |
229 |
|
230 |
$Date: 2021/09/10 11:28:41 $ |
231 |
|
232 |
<!-- timestamp end --> |
233 |
</p> |
234 |
</div> |
235 |
</div> |
236 |
<!-- for class="inner", starts in the banner include --> |
237 |
</body> |
238 |
</html> |