summaryrefslogtreecommitdiff
path: root/blog/post/2018-05-18.html
blob: 83fd79321d330a751bf2f300c0608466984c41b8 (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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
<!DOCTYPE html><html><head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="theme-color" content="#000000">
<title>Chrisoft::Blog(r#"Ideology vs Pragmatism &amp;amp;c.")</title>
<meta name="description" content="«Ideology vs Pragmatism &amp;amp;c.» de spelunca ursae visere">
<meta name="author" content="Chris Xiong">
<script type="text/javascript" src="/panel.js"></script>
<script type="text/javascript" src="/themer.js"></script>
<script type="text/javascript" src="/blog/footnoter.js"></script>
<script type="text/javascript" src="/blog/aes-js.js"></script>
<script type="text/javascript" src="/blog/scrypt.js"></script>
<script type="text/javascript" src="/blog/sha256.js"></script>
<script type="text/javascript" src="/blog/decryptor.js"></script>
<link rel="stylesheet" type="text/css" href="/common.css">
<link rel="stylesheet" type="text/css" href="/panel.css">
<link rel="stylesheet" type="text/css" href="/theme0a.css" id="theme0a">
<link rel="stylesheet" type="text/css" href="/theme0b.css" id="theme0b">
<link rel="stylesheet" type="text/css" href="/theme1a.css" id="theme1a">
<link rel="stylesheet" type="text/css" href="/theme1b.css" id="theme1b">
<link rel="stylesheet" type="text/css" href="/theme2a.css" id="theme2a">
<link rel="stylesheet" type="text/css" href="/theme2b.css" id="theme2b">
<link rel="stylesheet" type="text/css" href="/theme3a.css" id="theme3a">
<link rel="stylesheet" type="text/css" href="/theme3b.css" id="theme3b">
<link rel="stylesheet" type="text/css" href="/blog/blogext.css">
<script>
function ol()
{
	window.onresize=function()
	{
		if(window.innerWidth<768)
		setupevents();
		else unsetevents();
	}
	window.onresize();
	loadTheme();
	_decryptonload();
}
</script>
</head>
<body onload="ol()" style="overflow-x:hidden;">
	<div id="panel" class="TText">
		<ul id="panellist">
			<li><a href="/"><h1>Chrisoft</h1></a></li>
			<li><a href="/blog"><h2>Blog</h2></a></li>
			<li><a href="#"><h3 id="title">Ideology vs Pragmatism &amp;c.</h3></a></li>
			<li><span>Tags</span>
			<ul id="tagslist">
			<li><a href="/blog/list/sophistry/">sophistry</a></li><li><a href="/blog/list/garbage/">garbage</a></li></ul>
			</li>
			<li id="tocouter">
				<span>Table of Contents</span>
				<ul id="tocroot">
				<li><a class="toctarg" href="#tocanch0">Preface</a></li><li><a class="toctarg" href="#tocanch1">Ideology vs Pragmatism</a></li><li><a class="toctarg" href="#tocanch2">Free Software vs "Normies"</a></li><li><a class="toctarg" href="#tocanch3">"Free" vs "Open Source"</a></li><li><a class="toctarg" href="#tocanch4">Free software in China</a></li><li><a class="toctarg" href="#tocanch5">Monetization of Free Software</a></li><li><a class="toctarg" href="#tocanch6">Final words</a></li></ul>
			</li>
			<li style="margin-left:-0.5em"><a id="prevp" href="2018-05-08.html">Prev post</a></li>
			<li style="margin-left:-0.5em"><a id="nextp" href="2018-06-05.html">Next post</a></li>
		</ul>
	</div>
	<div id="content">
		<h2 id="titleh" class="TText" style="font-wight:normal;">Ideology vs Pragmatism &amp;c.</h2>
		<div id="datetags" class="TText" style="margin-bottom:1em;">2018-05-18<br>#sophistry #garbage</div>
		<hr><div id="article" class="TText">
<article>
<h2 id="tocanch0" class="tvis">Preface</h2>
<p>
Born in the 90s, when almost every piece of software around was
proprietary, I felt *exteremely* lucky that I can now power my life using
(mostly) free software. Still, I might never be able to understand the case
in the 70s, in which, according to Richard Stallman, every piece of software
is basically free.
</p>
<h2 id="tocanch1" class="tvis">Ideology vs Pragmatism</h2>
<p>
There are Linux distros<a id="n1" href="#note1" class="note">[1]</a>
whose software repository contains free software only (e.g. Trisquel &amp;
Parabola). There are also distros that doesn't care much about licenses
(e.g. ArchLinux). Some distros falls between the two extremes: Debian
has a <code>main</code> section which is entirely made up of free software,
but it also has <code>contrib</code> and <code>non-free</code>
<a id="n2" href="#note2" class="note">[2]</a> sections in their repository, which can be added to the system
quite easily.
</p>
<p>
To most of us who do not have a requirement on every single piece of 
software being free, we still have to use non-free components -- even to
make the toaster<a id="n3" href="#note3" class="note">[3]</a> fully working. For
example, non-free blobs in the Linux kernel and drivers. Using "free" distros
on these computers essentially cripple the core functionality of that
computer. If most users require non-free components, it makes sense that
the distro providers include them in the software repository. As a matter
of fact, I haven't met any user of a "free" distro outside of GNU.
<a id="n4" href="#note4" class="note">[4]</a>
</p>
<p>
Using a distro that provides proprietary software should not be considered
a sin to free software.
Actually it's a huge step towards freedom in today's world dominated by
proprietary software. In order to remind the user of this, it is the
responsibitliy for the distro provider to tell the user about the benefits
of free software and advocate them contributing to it.
</p>
<p>
Since I've got no mysophobia of proprietary software personally, I don't
really care about installing proprietary software on my mostly free system.
I prefer using free software whenever one is available. But if the use of
free software results in crippling the core functionality (e.g. removing
firmware blobs from the kernel causing WLAN cards made by Intel not
working), I may compromise and install a few pieces of proprietary software
(instead of using an external WLAN card like RMS).
<a id="n5" href="#note5" class="note">[5]</a>
</p>
<h2 id="tocanch2" class="tvis">Free Software vs "Normies"</h2>
<p>
The idea of free software won't spread widely if it fails on the "normies".
Everything about free software is a circlejerk of us <a href="https://stallman.org/articles/on-hacking.html">hackers</a>
if we ignore the "normies". Sadly that is just the case right now.
</p>
<p>
The major reason that free software fail to become daily driver of most
people is that probably most free software targets at "mega-nerds" instead
of the vast amount of computer "normies". These "normies" just use their
computers either to get their office work done or to browse the web
(sometimes both). In this sense, free software often offer terrible
experience: Linux distributions, if not pre-installed by device vendor,
often have bad out-of-box experience (either missing driver or firmware,
or the software requiring too much tweaks to make it actually usable).
Another example is window manager: the most popular window manager used
by desktop Linux users is i3, whose default interface is obscure to new
users and needs a lot of configuration before it suits the user. Only
people that are really keen on tweaking would do that.
</p>
<p>
Things are changing though. Some free software makers, for example the
GNOME Fundation, are striving to make free software more user-friendly
and fool-proof. They recently removed the ability to run executables
directly in the file manager to prevent the user from accently running
a malicious script that destroys their computer.
<a id="n6" href="#note6" class="note">[6]</a>
But in my opinion the components should remain customizable for the users
who "knows what they are doing".
</p>
<h2 id="tocanch3" class="tvis">"Free" vs "Open Source"</h2>
<p>
Richard Stallman has made multiple statements on how he dislikes the term
"Open Source". I pretty much simply repeat one of his points here.
</p>
<p>
"Free" and "Open Source" has a large part in common: in fact, being "free"
requires the software to be "open source". However the idea laying below
is very different: The term "open source" is currently being abused by
gigantic companies as a weasel word to avoid using "free". They often use
free component in their proprietary products and doesn't want to remind the
user that there is a free counterpart that doesn't take the freedom from
them. A famous example of this is Google Chrome and
Chromium. <a id="n7" href="#note7" class="note">[7]</a> Similarly, Microsoft "loves" Linux because it is "open source",
not because it is "free".<a id="n8" href="#note8" class="note">[8]</a>
</p>
<p>
On the other hand, Linus seems to be at the opposite end of it.
<a id="n9" href="#note9" class="note">[9]</a>
Pleased to learn that this world is never lack of diversity.
</p>
<h2 id="tocanch4" class="tvis">Free software in China</h2>
<p>
Free software is not having a good time in China:
</p>
<ul>
<li>
As Chinese use two distinct words for "free" as in beer and "free" as in
freedom, we should have faced less problems than the English-speaking
community. Sadly, almost all tranlators used the word for free beer when
translating "free software".
</li>
<li>
"Thanks" to the crappy copyright law in China, pirating software and
reverse engineering is explictly allowed with some restrictions, making
free software a lot less known to the general public
<a id="n10" href="#note10" class="note">[10]</a>.
That same crappy copyright law also gave chance to massive GPL violations.
Examples: <a href="https://linux-sunxi.org/GPL_Violations">AllWinner</a>,
<a href="https://www.xda-developers.com/gplv2-and-its-infringement-by-xiaomi/">XiaoMi</a>
and <a href="https://www.xda-developers.com/have-you-paid-your-linux-kernel-source-license-fee/">MediaTek</a><a id="n11" href="#note11" class="note">[11]</a>.
</li>
<li>
As China wasn't actually involved in the software industry until proprietary
software has almost taken the whole thing, there are misconceptions
regarding free software in the Chinese community. For example, the 
definition of 'source code' in <i>A Dictionary of Current Chinese</i>
claims "protecting the source code helps to lower the chance of being
hacked".
</li>
<li>
Software engineering college in China only teach the process of proprietary
software engineering. Although they utilize free software a lot through
out the college, they do not promote the use of free software for 'serious
work', often putting an emphasis on the strengths of proprietary software.
</li>
</ul>
<p>
As currently the entire Chinese software industry is really addicted (and
devoted) to AI, ML, IoT and their 'made in China' nonsense, chance of
solving these problems seems bleak. Also Chinese doesn't do stuff that
makes no money, but ...
</p>
<h2 id="tocanch5" class="tvis">Monetization of Free Software</h2>
<p>
... free software <i>can</i> make money. Ethically.
</p>
<p>
By saying ethically I am not promoting the act of getting a maga-sponsor
and just doing anything they requested. The only ethical way for free
software to monetize is probably paid support and donation. Red Hat is a
well-known company that made sheer amount of money out of free software.
<sup><s>Sarcasm. You should have known it.</s></sup>
However, not everyone would succeed following that route (even Microsoft
failed to figure out how to make it work /s). Thus the choice for the vast
number of smaller free software projects would be donation. So why is
accepting donation a good idea?
</p>
<ul>
<li>The user donates what ever they want (money, hardware, code,
translation etc.) voluntarily, and...</li>
<li>There's no cap on donation amount, so those who got the fortune may
donate <a href="https://dot.kde.org/2018/02/19/kde-receives-200000-usd-donation-pineapple-fund">a good deal of stuff</a>.</li>
<li>Those who don't yet have the ability to donate would not be triggered.
More over, the spirit of "free as in freedom" remains intact.
</li>
</ul>
<p>
But when things come to money, people starts getting greedy.
Don't let your greed ruin the entire project.
</p>
<h2 id="tocanch6" class="tvis">Final words</h2>
<p>
This article is full of my immature thoughts and rants. Fortunately due to
the low popularity of this site, they would not be exposed too much.
Writing such a long article is really a pain in my ass though.
</p>
<p>
If you have different opinions, please consider
<a href="/#about">telling me about it</a> and probably correcting me if I
made a mistake.
</p>
</article>
<!--
vim: syntax=html
-->
</div><br><hr>
		<div class="TText" id="notediv" style="font-size:80%;"><span class="TText"><a id="note1" href="#n1">[1]</a>: By saying "Linux distros" in this article,
I am refering to GNU/Linux distributions, except Alpine Linux.<br></span><span class="TText"><a id="note2" href="#n2">[2]</a>: They use their very own guideline (DFSG) to determine whether
a piece of software is free or not. The most famous difference between
DFSG and GNU's guideline is that according to DFSG, GFDL is a nonfree
license, which, in my opinion, is pretty ridiculous.
<i>Such ideology, much hilarious.</i>
<br></span><span class="TText"><a id="note3" href="#n3">[3]</a>: i.e. computer<br></span><span class="TText"><a id="note4" href="#n4">[4]</a>: There's one exception: Pure OS from Purism, which is tailored for
their Librem devices. So it runs without proprietary software on their
devices just find. Of course I haven't seen one of those either because
I live in China. But I expect my next laptop to be a Librem 13 as long as
they improve the battery life and make it thinner -- at least on par with the
ThinkPad X line products.<br></span><span class="TText"><a id="note5" href="#n5">[5]</a>:  Yup I may never program OpenGL on a libreboot-ed ThinkPad T400
or X200. Those ThinkPads were a classic but perform pretty bad whenever
I do CPU-intense jobs.
<br></span><span class="TText"><a id="note6" href="#n6">[6]</a>: 
This is half truth, half sarcasm. It <i>does</i> make nautilus fool-proof
(kind of).
GNOME is always removing customizability from their desktop environment
recently, which I can't tell is good or not. This indeed reveals the
dictatorial decision-making process inside the development cycle.
<b>However, <a href="https://gitlab.gnome.org/GNOME/nautilus/commit/ce73de0c98f1d32cdafc40775ee59692f5a7288d">
this change has been reverted a week ago</a>. Cringy.</b>
<br></span><span class="TText"><a id="note7" href="#n7">[7]</a>: Chromium is actually a pretty nasty example of free
software: it contains tracking code from Google. Efforts have been made to
strip those from the browser. The resulting product is called "Iridium".
<br></span><span class="TText"><a id="note8" href="#n8">[8]</a>: Probably because Microsoft doesn't know
how to make profit with free software.<br></span><span class="TText"><a id="note9" href="#n9">[9]</a>: 
<a href="https://www.youtube.com/watch?v=bw58LZTuZjA">a</a>
<a href="https://www.youtube.com/watch?v=b89fKsT1i7s">b</a>
<br></span><span class="TText"><a id="note10" href="#n10">[10]</a>: also making China an ideal place to reverse engineer something /s.
<br></span><span class="TText"><a id="note11" href="#n11">[11]</a>: Taiwan (whether a part of
China or not. No politics here.) has better environment for free software in
general, but still horrible.<br></span></div>
		<div id="insanch" style="height:3em;"></div>
		<div id="footer" style="">
		<div id="pagesw" class="TText" style="width:100%;height:0.5em;"></div>
			<div style="text-align:center;" class="TText">
				Proudly powered by SSBS <reduced style="font-size:70%;">(the static stupid blogging system)</reduced> 2.5
				<br>
				Content licensed under CC BY-SA 4.0. <span id="purgep" style="display:none;font-size:70%;">This page has passphrase(s) stored. Click <a href="javascript:_purgep()">here</a> to purge.</span>
			</div>
		</div>
		<div id="cmdbuf" class="TText" style="transition:500ms;padding:1em;font-size:2em;color:white;position:absolute;background-color:rgba(0,0,0,0.6);left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;">
		</div>
	</div>
	<div id="decryptui" style="display:none;opacity:0;color:white;z-index:1000;position:fixed;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.4);transition:opacity 0.5s;">
		<div id="decryptdlg" class="TText" style="padding:10px 20px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background-color:rgba(0,0,0,0.6);">
			<div id="keyhint" style="margin-bottom:8px;"></div>
			<div style="margin-bottom:8px;">Key: <input id="keyinp" type="text" style="color:#fff;"></div>
			<div style="height:2.25em;">
			<button id="btndecrypt" onclick="decryptor(decid,document.getElementById('keyinp').value);" style="position:absolute;left:20px;">Decrypt</button>
			<button onclick="hidedecryptui();" style="position:absolute;right:20px;">Cancel</button>
			</div>
		
	</div>


</div></body></html>