summary refs log tree commit diff stats
path: root/article
diff options
context:
space:
mode:
authorAndrew Yu <andrew@andrewyu.org>2022-07-26 01:28:32 +0800
committerAndrew Yu <andrew@andrewyu.org>2022-07-26 01:28:32 +0800
commit29261422e12d5d66281e3be6334f8bd703af7f75 (patch)
tree3224cf83dcc706822113475e2dedca811aa82519 /article
parenta519e5320bec2f2df42b7356740e33189dd13d29 (diff)
downloadwww-29261422e12d5d66281e3be6334f8bd703af7f75.tar.gz
revamp
Diffstat (limited to 'article')
-rw-r--r--article/eax.txt452
-rw-r--r--article/nh.html94
2 files changed, 546 insertions, 0 deletions
diff --git a/article/eax.txt b/article/eax.txt
new file mode 100644
index 0000000..b4f2cfb
--- /dev/null
+++ b/article/eax.txt
@@ -0,0 +1,452 @@
+; General way to do syscalls:
+
+mov eax, <syscall number as below>
+mov ebx, arg
+mov ecx, arg
+mov edx, arg
+mov esx, arg
+mov edi, arg
+int 0x80
+
+; man 2 <syscall name> will tell you arguments and extra information of
+; the syscalls
+
+; syscall name                syscall number
+restart_syscall               0
+exit                          1
+fork                          2
+read                          3
+write                         4
+open                          5
+close                         6
+waitpid                       7
+creat                         8
+link                          9
+unlink                        10
+execve                        11
+chdir                         12
+time                          13
+mknod                         14
+chmod                         15
+lchown                        16
+break                         17
+oldstat                       18
+lseek                         19
+getpid                        20
+mount                         21
+umount                        22
+setuid                        23
+getuid                        24
+stime                         25
+ptrace                        26
+alarm                         27
+oldfstat                      28
+pause                         29
+utime                         30
+stty                          31
+gtty                          32
+access                        33
+nice                          34
+ftime                         35
+sync                          36
+kill                          37
+rename                        38
+mkdir                         39
+rmdir                         40
+dup                           41
+pipe                          42
+times                         43
+prof                          44
+brk                           45
+setgid                        46
+getgid                        47
+signal                        48
+geteuid                       49
+getegid                       50
+acct                          51
+umount2                       52
+lock                          53
+ioctl                         54
+fcntl                         55
+mpx                           56
+setpgid                       57
+ulimit                        58
+oldolduname                   59
+umask                         60
+chroot                        61
+ustat                         62
+dup2                          63
+getppid                       64
+getpgrp                       65
+setsid                        66
+sigaction                     67
+sgetmask                      68
+ssetmask                      69
+setreuid                      70
+setregid                      71
+sigsuspend                    72
+sigpending                    73
+sethostname                   74
+setrlimit                     75
+getrlimit                     76
+getrusage                     77
+gettimeofday                  78
+settimeofday                  79
+getgroups                     80
+setgroups                     81
+select                        82
+symlink                       83
+oldlstat                      84
+readlink                      85
+uselib                        86
+swapon                        87
+reboot                        88
+readdir                       89
+mmap                          90
+munmap                        91
+truncate                      92
+ftruncate                     93
+fchmod                        94
+fchown                        95
+getpriority                   96
+setpriority                   97
+profil                        98
+statfs                        99
+fstatfs                       100
+ioperm                        101
+socketcall                    102
+syslog                        103
+setitimer                     104
+getitimer                     105
+stat                          106
+lstat                         107
+fstat                         108
+olduname                      109
+iopl                          110
+vhangup                       111
+idle                          112
+vm86old                       113
+wait4                         114
+swapoff                       115
+sysinfo                       116
+ipc                           117
+fsync                         118
+sigreturn                     119
+clone                         120
+setdomainname                 121
+uname                         122
+modify_ldt                    123
+adjtimex                      124
+mprotect                      125
+sigprocmask                   126
+create_module                 127
+init_module                   128
+delete_module                 129
+get_kernel_syms               130
+quotactl                      131
+getpgid                       132
+fchdir                        133
+bdflush                       134
+sysfs                         135
+personality                   136
+afs_syscall                   137
+setfsuid                      138
+setfsgid                      139
+_llseek                       140
+getdents                      141
+_newselect                    142
+flock                         143
+msync                         144
+readv                         145
+writev                        146
+getsid                        147
+fdatasync                     148
+_sysctl                       149
+mlock                         150
+munlock                       151
+mlockall                      152
+munlockall                    153
+sched_setparam                154
+sched_getparam                155
+sched_setscheduler            156
+sched_getscheduler            157
+sched_yield                   158
+sched_get_priority_max        159
+sched_get_priority_min        160
+sched_rr_get_interval         161
+nanosleep                     162
+mremap                        163
+setresuid                     164
+getresuid                     165
+vm86                          166
+query_module                  167
+poll                          168
+nfsservctl                    169
+setresgid                     170
+getresgid                     171
+prctl                         172
+rt_sigreturn                  173
+rt_sigaction                  174
+rt_sigprocmask                175
+rt_sigpending                 176
+rt_sigtimedwait               177
+rt_sigqueueinfo               178
+rt_sigsuspend                 179
+pread64                       180
+pwrite64                      181
+chown                         182
+getcwd                        183
+capget                        184
+capset                        185
+sigaltstack                   186
+sendfile                      187
+getpmsg                       188
+putpmsg                       189
+vfork                         190
+ugetrlimit                    191
+mmap2                         192
+truncate64                    193
+ftruncate64                   194
+stat64                        195
+lstat64                       196
+fstat64                       197
+lchown32                      198
+getuid32                      199
+getgid32                      200
+geteuid32                     201
+getegid32                     202
+setreuid32                    203
+setregid32                    204
+getgroups32                   205
+setgroups32                   206
+fchown32                      207
+setresuid32                   208
+getresuid32                   209
+setresgid32                   210
+getresgid32                   211
+chown32                       212
+setuid32                      213
+setgid32                      214
+setfsuid32                    215
+setfsgid32                    216
+pivot_root                    217
+mincore                       218
+madvise                       219
+getdents64                    220
+fcntl64                       221
+gettid                        224
+readahead                     225
+setxattr                      226
+lsetxattr                     227
+fsetxattr                     228
+getxattr                      229
+lgetxattr                     230
+fgetxattr                     231
+listxattr                     232
+llistxattr                    233
+flistxattr                    234
+removexattr                   235
+lremovexattr                  236
+fremovexattr                  237
+tkill                         238
+sendfile64                    239
+futex                         240
+sched_setaffinity             241
+sched_getaffinity             242
+set_thread_area               243
+get_thread_area               244
+io_setup                      245
+io_destroy                    246
+io_getevents                  247
+io_submit                     248
+io_cancel                     249
+fadvise64                     250
+exit_group                    252
+lookup_dcookie                253
+epoll_create                  254
+epoll_ctl                     255
+epoll_wait                    256
+remap_file_pages              257
+set_tid_address               258
+timer_create                  259
+timer_settime                 260
+timer_gettime                 261
+timer_getoverrun              262
+timer_delete                  263
+clock_settime                 264
+clock_gettime                 265
+clock_getres                  266
+clock_nanosleep               267
+statfs64                      268
+fstatfs64                     269
+tgkill                        270
+utimes                        271
+fadvise64_64                  272
+vserver                       273
+mbind                         274
+get_mempolicy                 275
+set_mempolicy                 276
+mq_open                       277
+mq_unlink                     278
+mq_timedsend                  279
+mq_timedreceive               280
+mq_notify                     281
+mq_getsetattr                 282
+kexec_load                    283
+waitid                        284
+add_key                       286
+request_key                   287
+keyctl                        288
+ioprio_set                    289
+ioprio_get                    290
+inotify_init                  291
+inotify_add_watch             292
+inotify_rm_watch              293
+migrate_pages                 294
+openat                        295
+mkdirat                       296
+mknodat                       297
+fchownat                      298
+futimesat                     299
+fstatat64                     300
+unlinkat                      301
+renameat                      302
+linkat                        303
+symlinkat                     304
+readlinkat                    305
+fchmodat                      306
+faccessat                     307
+pselect6                      308
+ppoll                         309
+unshare                       310
+set_robust_list               311
+get_robust_list               312
+splice                        313
+sync_file_range               314
+tee                           315
+vmsplice                      316
+move_pages                    317
+getcpu                        318
+epoll_pwait                   319
+utimensat                     320
+signalfd                      321
+timerfd_create                322
+eventfd                       323
+fallocate                     324
+timerfd_settime               325
+timerfd_gettime               326
+signalfd4                     327
+eventfd2                      328
+epoll_create1                 329
+dup3                          330
+pipe2                         331
+inotify_init1                 332
+preadv                        333
+pwritev                       334
+rt_tgsigqueueinfo             335
+perf_event_open               336
+recvmmsg                      337
+fanotify_init                 338
+fanotify_mark                 339
+prlimit64                     340
+name_to_handle_at             341
+open_by_handle_at             342
+clock_adjtime                 343
+syncfs                        344
+sendmmsg                      345
+setns                         346
+process_vm_readv              347
+process_vm_writev             348
+kcmp                          349
+finit_module                  350
+sched_setattr                 351
+sched_getattr                 352
+renameat2                     353
+seccomp                       354
+getrandom                     355
+memfd_create                  356
+bpf                           357
+execveat                      358
+socket                        359
+socketpair                    360
+bind                          361
+connect                       362
+listen                        363
+accept4                       364
+getsockopt                    365
+setsockopt                    366
+getsockname                   367
+getpeername                   368
+sendto                        369
+sendmsg                       370
+recvfrom                      371
+recvmsg                       372
+shutdown                      373
+userfaultfd                   374
+membarrier                    375
+mlock2                        376
+copy_file_range               377
+preadv2                       378
+pwritev2                      379
+pkey_mprotect                 380
+pkey_alloc                    381
+pkey_free                     382
+statx                         383
+arch_prctl                    384
+io_pgetevents                 385
+rseq                          386
+semget                        393
+semctl                        394
+shmget                        395
+shmctl                        396
+shmat                         397
+shmdt                         398
+msgget                        399
+msgsnd                        400
+msgrcv                        401
+msgctl                        402
+clock_gettime64               403
+clock_settime64               404
+clock_adjtime64               405
+clock_getres_time64           406
+clock_nanosleep_time64        407
+timer_gettime64               408
+timer_settime64               409
+timerfd_gettime64             410
+timerfd_settime64             411
+utimensat_time64              412
+pselect6_time64               413
+ppoll_time64                  414
+io_pgetevents_time64          416
+recvmmsg_time64               417
+mq_timedsend_time64           418
+mq_timedreceive_time64        419
+semtimedop_time64             420
+rt_sigtimedwait_time64        421
+futex_time64                  422
+sched_rr_get_interval_time64  423
+pidfd_send_signal             424
+io_uring_setup                425
+io_uring_enter                426
+io_uring_register             427
+open_tree                     428
+move_mount                    429
+fsopen                        430
+fsconfig                      431
+fsmount                       432
+fspick                        433
+pidfd_open                    434
+clone3                        435
+close_range                   436
+openat2                       437
+pidfd_getfd                   438
+faccessat2                    439
+process_madvise               440
+epoll_pwait2                  441
+mount_setattr                 442
+quotactl_fd                   443
+landlock_create_ruleset       444
+landlock_add_rule             445
+landlock_restrict_self        446
+memfd_secret                  447
+process_mrelease              448
diff --git a/article/nh.html b/article/nh.html
new file mode 100644
index 0000000..652e591
--- /dev/null
+++ b/article/nh.html
@@ -0,0 +1,94 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+	<head>
+		<title>New Hampshire's Software Freedom Legislation</title>
+		<link rel="stylesheet" href="/favor.css" />
+	</head>
+	<body>
+		<div id="main">
+			<h1>Please support the Free Software Movement.  The state of New Hampshire may be incorporating software freedom into its law.</h1>
+			<p>Jan 13, 2022.</p>
+			<p>This article is incomplete.  The original article which I based this off is at <a href="https://libreboot.org/news/usa-libre.html">https://libreboot.org/news/usa-libre.html</a> by Leah Rowe.  This article is a "fork" of that article and contains parts of it.  Thanks to everybody who contributed to this event and supports software freedom.  I'd recommend reading the original one, too.</p>
+			<div id="majornote">	
+				<p>For the general public:  In this article, I explain what's happening in New Hampshire, why software freedom matters to you and the society in general, and what you could do to help us in this battle.</p>
+				<p>For supporters of the free software movement:  Please read this.  As far as I know, this is the first time software freedom as we know it is proposed as a bill for law.  Thank you so much.</p>
+			</div>
+			<p><a href="https://www.fsf.org/about/what-is-free-software">Free software</a> is software that gives you the user the freedom to share (original or modified), study and modify it.  Copyleft is a copyright-based method at preventing people from turning free software into proprietary software.</p>
+			<p>Since the beginning of the free software movement, we've been advocating for the use of free software.  Showing people the freedom (and power) they have in GNU/Linux and the BSDs, many power users replaced nonfree software with free software.  Now, at least 90% of servers worldwide run <a href="https://gnu.org">GNU/Linux</a>.  My personal one runs <a href="https://OpenBSD.org">OpenBSD</a>.</p>
+			<p>But ultimately, it's <em>the people</em> who use software.  Not every user knows how to fiddle around with computers, not every user can take individual advantage of the freedom to study and change the software.  Along with the lack of advertising, we've been alive&mdash;but invisible to the public.</p>
+			<p>The use of proprietary software in government and social activities, especially mandatory tasks, by law or social, such as <a href="https://lists.libreplanet.org/archive/html/libreplanet-discuss/2021-10/msg00011.html">educatioon</a> and medical services, including <a href="https://lists.libreplanet.org/archive/html/libreplanet-discuss/2021-08/msg00008.html">COVID vaccination</a>, and especially <a href="https://www.fsf.org/bulletin/2020/spring/trial-by-proprietary-software">trial in courts with proprietary software</a>, are unjust because by fulfilling these responsibilities, as defined by law, we are giving up essential freedoms, defined but unprotected by law, which can be avoided.</p>
+			<p>If you live in New Hampshire or in one of the neighbouring states, especially Massachusetts, please listen up! If you are further away and unable to reach New Hampshire all that easily, please spread the following news anyway. It's important. As alien as it may seem to many of the readers, I'm actually writing parts of this article as though someone who has never heard of Free Software is reading it, because I expect precisely that such people <em>will</em> read this particular article.</p>
+			<div class="h"><h2 id="whats-happening-in-new-hampshire">What's happening in New Hampshire?</h2></div>
+			<p>An important bill is being proposed in New Hampshire, which would enshrine much of what we know as Free Software <em>into law</em>. Here is the proposed bill, technically named "HB1273":<br />
+				<a href="https://gencourt.state.nh.us/bill_status/legacy/bs2016/billText.aspx?sy=2022&amp;id=1363&amp;txtFormat=html" class="uri">https://gencourt.state.nh.us/bill_status/legacy/bs2016/billText.aspx?sy=2022&amp;id=1363&amp;txtFormat=html</a></p>
+			<p>You can read it for yourself, but here is a paraphrasing of what it proposes:</p>
+			<ul>
+				<li><em>Specifically</em> bans state-run websites from serving non-free javascript to clients</li>
+				<li>Creates a commission to provide oversight, watching the use of Free Software by state agencies</li>
+				<li>Bans state agencies from using proprietary software - maybe this could include schools, in the future!</li>
+				<li>If a person is tried in a criminal case, they have the right to audit the source code of any proprietary software that collects evidence against them</li>
+				<li>Encourages data portability (able to transfer data from one program to another)</li>
+				<li>Bans certain non-compete clauses and NDAs (non-disclosure agreements) pertaining to Free Software projects</li>
+				<li>Bans state/local law enforcement from assisting with the enforcement of copyright claims against Free Software projects</li>
+				<li>Bans state agencies from purchasing non-free software if free software exists, for a given task</li>
+			</ul>
+			<p>However, this is only a short summary. You are advised to read the bill in detail. It's not very long.</p>
+			<p>At first glance, it may not seem that the bill affects individuals, but don't be fooled; this is a hugely positive step forward for everyone! If the state is using Free Software, that most likely means it'll be used in education aswell.</p>
+			<p>Although perhaps not immediately and readily apparent, this is a stake in the heart of proprietary software's current dominance, because it would remove one key element of its attack against us; its abuse of education services.</p>
+			<p>If education services are using Free Software, that means they'll probably have children (the ones being educated) using it too. This is a <em>huge</em> step, and it will result in more Free Software developers in the future. Free Software will become more and more mainstream to the masses, which can surely only be a good thing!</p>
+			<p>Freedom is always superior. The more people that have it, the better off we all are, because freedom is also collective; it relies on others around us also having it, so that we can defend each other. We fought for our rights before, when we founded modern nations&mdash;democracies&mdash;so that we the people have inalienable rights of our own, our basic human rights, and not to have dictatorships and monarchs who may violate them.  Slowly, subtlely, but very effectively, proprietary software is taking away the freedoms we always fought for.  What we fought for, for seven centuries, would be gone in the matter of decades.  If more people have it, especially if it results in more Free Software developers in the future, that's one thing, but imagine if <em>more</em> states like what they see and start to copy the new legislation.</p>
+			<p>Now imagine that countries besides the US start doing it, inspired by the US's success (and I think it will be a resounding success).</p>
+			<p>Imagine a world where <a href="https://www.gnu.org/philosophy/free-sw.html">Free Software</a>, free as in freedom, is the default everywhere. Imagine a world where <a href="https://www.gnu.org/licenses/license-list.html">Free Software licensing</a> is required reading material in schools. <em>Imagine a world where any five year old can install a free operating system such as GNU+Linux, and Computer Science is mandatory in schools from a young age. Imagine filing your tax returns with Free Software, exclusively. Imagine not even thinking about that, because it became the norm.</em></p>
+			<p><em>Imagine a world where proprietary software doesn't exist, because it is obsolete; entire generations of people are taught to value freedom, and to staunchly defend it, helping each other learn and grow (and produce better software in the process, with less bugs, because people are now free to do that, without relying on some evil company).</em></p>
+			<p>Imagine a world where you're no longer being spied on because NSA, Apple and Microsoft no longer have backdoor access to your computer. <em>Imagine having the ability to say no, because that's what freedom is. Try to imagine it!</em></p>
+			<p>Free Software is a revolution that we in the Free Software movement have rigorously upheld and fought for, over many years, but we still face an uphill battle because children are not taught in schools about free computing, nor are they encouraged to learn; they are taught to view computers as <em>products</em> to throw away every 1-2 years, that they can run a few <em>apps</em> on but otherwise are not allowed to do anything with. The <em>concept</em> of a <em>general purpose, fully reprogrammable computer</em> is heavily suppressed in mainstream culture. <em>Most</em> people in the world do not run a free operating system; the idea of a computer being a mere <em>appliance</em> is normalized (as opposed to the idea of it being a highly liberating tool for development and the expansion of human knowledge).</p>
+			<p><em>This</em> is what we in the Free Software movement have fought for over the years. We believe that knowledge is a human right, that the ability to share, study, learn, adapt and modify the software is an inalienable right that everyone must have. <a href="https://www.gnu.org/philosophy/free-sw.html">The four freedoms are absolute.</a></p>
+			<p>One of our biggest problem has been simply that schools and governments do not teach people about free computing. The right to learn, the right to read and the right to hack. Our governments are made up of human beings just like you or me, and they can be bought/corrupted; Microsoft, Apple and many others (such as IBM) have done this for years, having the national infrastructures governing us run on their proprietary systems, instead of systems that respect freedom; it is essential that these systems run free software, because a free and democratic society should expect nothing less. Those companies buy influence <em>and they own your politicians</em>.</p>
+			<p>All of this could change very soon. Something is happening in New Hampshire, which could redefine our movement and give <em>free software</em> real power instead.</p>
+			<div class="h"><h2 id="how-to-help">HOW TO HELP</h2></div>
+			<div class="h"><h3 id="testify-in-support-of-the-bill">TESTIFY IN SUPPORT OF THE BILL</h3></div>
+			<p><strong>The reading of the bill is happening on 11 January 2022. This is when you should go to New Hampshire.</strong></p>
+			<p><strong>Location of hearing: Legislative Office Building in Concord, New Hampshire:<br />
+					<a href="https://en.wikipedia.org/wiki/New_Hampshire_Legislative_Office_Building" class="uri">https://en.wikipedia.org/wiki/New_Hampshire_Legislative_Office_Building</a></strong></p>
+			<p>The organizer of the proposed bill, <em>Eric Gallager</em>, has left instructions on Twitter. The following is a <em>nitter</em> link, which lets you view the relevant Twitter thread without running non-free Javascript in your browser:<br />
+				<a href="https://nitter.net/cooljeanius/status/1479663133207764992" class="uri">https://nitter.net/cooljeanius/status/1479663133207764992</a></p>
+			<p>The original Twitter URL is:<br />
+				<a href="https://twitter.com/cooljeanius/status/1479663133207764992" class="uri">https://twitter.com/cooljeanius/status/1479663133207764992</a></p>
+			<p>Further instructions for what room to go to, when you get there:<br />
+			</p>
+			<p>See Nitter link:<br />
+				<a href="https://nitter.net/cooljeanius/status/1479062316532604930" class="uri">https://nitter.net/cooljeanius/status/1479062316532604930</a></p>
+			<p>(original twitter link: <a href="https://twitter.com/cooljeanius/status/1479062316532604930" class="uri">https://twitter.com/cooljeanius/status/1479062316532604930</a>)</p>
+			<p><strong>Please read both threads very carefully!</strong></p>
+			<p><strong>YOU NEED TO GO TO NEW HAMPSHIRE IN PERSON!</strong></p>
+			<p>If you're able to go to New Hampshire to attend the reading of the bill, please do so! Voice your support of the bill, and say why you think it's important.</p>
+			<p>Tell the lawmakers that you demand freedom!</p>
+			<p>This thread on Twitter is where Eric announced that the reading of the bill is to proceed (original Twitter URL):<br />
+				<a href="https://twitter.com/cooljeanius/status/1479555737223413760" class="uri">https://twitter.com/cooljeanius/status/1479555737223413760</a></p>
+			<div class="h"><h3 id="more-statescountries-will-follow">More states/countries will follow</h3></div>
+			<p>If this bill is passed in New Hampshire, more states will likely follow. It will lead to a massively renewed drive to liberate all computer users, and US laws tend to be copied/pasted around the world too.</p>
+			<p>This bill, if passed, will have a hugely positive impact on Free Software at a global level.</p>
+			<p>You <em>must</em> support this bill. If you want to see it pass, please go to New Hampshire on 11 January 2022 to make sure your voice is heard.</p>
+			<div class="h"><h3 id="our-enemies-will-be-there">OUR ENEMIES WILL BE THERE</h3></div>
+			<p>The <em>proprietary</em> software companies like Microsoft and Apple will also be there, trying to argue the case <em>against</em> the use of Free Software.</p>
+			<p>There is already precedent; please watch this video, which shows how Microsoft (for example) might behave in the reading of the bill. This video is from a discussion within the European Union, several years ago:<br />
+				<a href="https://vid.puffyan.us/watch?v=W_S0k1sx8EM" class="uri">https://vid.puffyan.us/watch?v=W_S0k1sx8EM</a> (invidious link. works without javascript enabled, if you wish)</p>
+			<p>They will try to trick the law makers by claiming things such as:</p>
+			<ul>
+				<li><strong>"Free software is insecure / you will get hacked"</strong> - nothing could be further from the truth! Free operating systems such as GNU+Linux, FreeBSD and especially OpenBSD, are among the most secure operating systems available.</li>
+				<li><strong>"Free software is used by criminal hackers"</strong> - here, they use the term <em>hacker</em> to describe someone who illegally gains access to someone elses computer. Don't fall for it. Maintainers of free operating systems like GNU+Linux distros or the BSDs are actively working to make the internet and computers in general <em>more secure</em></li>
+				<li><strong>"Software authors deserve to be paid!"</strong> - In fact, many free software devs are <em>paid</em> to work on Free Software! Many companies, including big ones, work on it. There are also hobbyists or otherwise unpaid people, who might work on Free Software for a number of reasons (wanting to make the world a better place, wanting the glory of recognition for solving a major problem, and more often than not, simply because <em>it is fun to do so and you make a lot of friends too!</em>) - No, these companies (e.g. Microsoft) are only arguing in reality for the ability to pay their <em>shareholders</em>, and they control the software exclusively. In fact, free software has repeatedly and consistently over the years <em>defined</em> the computing industry, creating all kinds of new employment opportunities; for example, docker is widely used today and it is free software, used by millions of companies for commercial gain, and the apache web server revolutionized the web back in the day, enabling lots of ISPs to easily host websites - many of the common protocols that we depend upon today, that businesses depend upon (and get paid to maintain or provide services/support for) are in fact free as in freedom!</li>
+				<li><strong>"Developers should get recognition for their work"</strong> - in free software, you can easily make a name for yourself with relatively few resources except your own computer and an internet connection, plus some cheap hosting. When most developers work on <em>proprietary</em> software such as Windows, they don't get recognition; their copyright is assigned to their employer (e.g. Microsoft) who will take all the credit!</li>
+				<li><strong>"Free software is unreliable / costly to maintain"</strong> - actually, it has been well known for years that free software is generally more stable and reliable than proprietary. In cases where it isn't, it is quickly improved, and in complete freedom. Free software has a lower cost to maintain and service, and you have a free market where you can choose who you hire to write/maintain it for you (if you won't do that yourself); meanwhile, proprietary software such as Windows is often full of bugs, crashes often and there is only one provider of support most of the time, who will charge a heavy price, while also charging a lot of money for the software itself - free software is <em>free as in freedom</em>, but also usually <em>free as in zero price</em>.</li>
+				<li><strong>"Free software comes from potentially untrustworthy sources"</strong> - This is pure nonsense, because the very freedoms provided by free software (access to source code, ability to work on it yourself, and see what others did) means that people generally do not add malware to public software sources, because they'd be discovered instantly. <em>Distributions</em> of GNU+Linux and other free operating systems are often maintained by many people, who verify the safety of each software package that they provide; they are also usually provided by each <em>distro</em>, in a central repository unlike with, say, Windows where you really <em>are</em> randomly executing binaries from all kinds of locations (often even without checking the cryptographic checksums of those files, to verify their integrity). It's very hard to become infected with malware on a free system, precisely because security is handled much better; the design of unix-like operating systems in particular is also naturally more secure, due to better separation of root/user privileges.</li>
+				<li><strong>"Free software isn't controlled, and is unknown."</strong> - this is completely false. These non-free software companies are only talking about <em>their</em> control, and it's quite telling that they completely disregard yours, in this very sentence. In fact, Free Software <em>is</em> controlled, but it's not controlled by some external entity; <em>your</em> installation of free software is controlled by <em>you</em>.</li>
+			</ul>
+			<p>If you're familiar with the <em>Matrix</em> films, proprietary operating systems like Windows/MacOS are basically like the Matrix; bland, no individuality, no independent thought, everything tightly controlled. By contrast, free operating systems (such as GNU+Linux distributions or the BSDs) are like zion/io; vibrant, full of life, buzzing with activity, everything loose and free, and everyone is different (a highly diverse culture of people from all walks of life, acting in common cause but nonetheless individuals).</p>
+			<p>Meanwhile, Windows is known to have backdoors. Microsoft actively informs the NSA about how to exploit them, so that it can break into people's computers and steal private data.</p>
+			<p>Proprietary software companies are evil, and must be opposed. They know that if this bill passes, their days are numbered.</p>
+			<p>Defend freedom! Don't listen to any of the arguments against it by proprietary software companies; they don't care about you, and instead only care about profit. They fundamentally do not want you to have any sort of freedom over your own computer, and they actively pursue tactics (such as DRM) to thwart you.</p>
+			<p>Microsoft and Apple are not your friends. There is no such thing as the Windows community. When you use proprietary systems, you are isolated from everyone around you, and so are they. <em>You</em> are the product, for the non-free software to exploit at the behest of their developers who only care about <em>money</em>.</p>
+			<p>However, there <em>is</em> such a thing as the Free Software community. It is a vibrant community, consisting of millions of people collectively all over the world, and they are all free to work with each other infinitely. It gave us most of the technology that we take for granted today, including <em>the modern internet, where ISPs run free software almost exclusively!</em></p>
+		</div>
+	</body>
+</html>