Mike Gerwitz

Activist for User Freedom

diff options
authorMike Gerwitz <mtg@gnu.org>2019-01-08 00:11:20 -0500
committerMike Gerwitz <mtg@gnu.org>2019-01-11 23:46:13 -0500
commitb182ea79b3a7ac07f673870edab1bd3d6074c618 (patch)
tree3ce02ad905ace0498829d52b4b223790b9d63266 /src/about/githubbub.md
parent643a9858f125e2fc2c4557a9c0d706b72c09259a (diff)
Majority of work on generation of new static site
I didn't originally intend for all of this to be in a single commit. But here we are. I don't have the time to split these up more cleanly; this project is taking more time than I originally hoped that it would. This is a new static site generator. More information to follow in the near future (hopefully in the form of an article), but repo2html is now removed. See code comments for additional information; I tried to make it suitable as a learning resource for others. It is essentially a set of shell scripts with a fairly robust build for incremental generation. The site has changed drastically, reflecting that its purpose has changed over the years: it is now intended for publishing quality works (or at least I hope), not just a braindump. This retains most of the text of the original pages verbatim, with the exception of the About page. Other pages may have their text modified in commits that follow. Enhancements to follow in future commits.
Diffstat (limited to 'src/about/githubbub.md')
1 files changed, 126 insertions, 0 deletions
diff --git a/src/about/githubbub.md b/src/about/githubbub.md
new file mode 100644
index 0000000..9893929
--- /dev/null
+++ b/src/about/githubbub.md
@@ -0,0 +1,126 @@
+# GitHubbub! GitHub Does Not Value Software Freedom.
+<div class="inline-img octoflop">
+ ![GitHub](/images/octoright-large.png "GitHub logo rotated 270° to resemble a Copyright symbol")\
+If you hit this page expecting to have been taken to my GitHub profile,
+ then this is probably not what you were looking for;
+ but let me tell you why you're here.
+Before providing a link to something hosted on a service,
+ it is important to consider whether the service or website is antithetical
+ to the message you are trying to convey to your readers/visitors,
+ and whether it deserves clarification;
+ there's a little bit of both here.
+If you're looking for a host friendly toward free software,
+ take a look at the [GNU ethical repository criteria][gnu-repo],
+ which sets standards for acceptable hosts to parts of the
+ [GNU operating system][gnu].
+## Non-Free JavaScript
+[Free software][freesw] guarantees your freedom to study,
+ modify,
+ and share the software that you use.
+We value these freedoms on the desktop,
+ so why should we compromise when websites serve proprietary JavaScript
+ [just because it creates the illusion of remote execution][whyfreejs]?
+When you visit a website that serves JavaScript to the client,
+ your web browser is automatically [downloading and executing][jstrap]
+ (often without your permission) ephemeral, unsigned, untrusted software.
+If that JavaScript is not [freely licensed][librejs],
+ then the software running in your web browser is proprietary.
+**When you visit `github.com`,
+ you download over 200kB of obfuscated code,
+ much of which is proprietary.**
+This code provides many website features that are fairly essential,
+ and *do not work with JavaScript disabled*:
+- Change repository names or descriptions;
+- Delete repositories;
+- Add an SSH key to your account;
+- Fork repositories;
+- Create pull requests;
+- Enable and disable project features;
+- Use the wiki and issue trackers;
+- View graphs of statistics;
+- And others.
+That is---GitHub forces you to run proprietary software in order to use much
+ of their website.
+This is a bit startling for a host that owes its very existence to the
+ success and development of free software.
+## Desire To Remain Non-Free
+I contacted GitHub back in April 2014 pointing out these concerns and
+ asking if they would be able to either liberate their JavaScript or make
+ GitHub's essential functionality work without JavaScript enabled.
+The first response I received was from one of their "JavaScript Developers":
+> Hi Mike,
+> Thanks for getting in touch with us here. Some of our internal projects are
+> specific to running GitHub, and as such will probably remain closed. We do
+> make an effort to open source projects that we create that we think would be
+> beneficial to the community, some of which is JavaScript.
+> You can see a list of some of the open source projects that power GitHub
+> here:
+> https://github.com/showcases/projects-that-power-github
+This response is unfortunately misguided---yes,
+ it is good that GitHub produces free software,
+ but it is a false assumption that their proprietary code would serve no
+ benefit to the community:
+ the very existence of their proprietary software [gives them unjust
+ control over their users][unjust];
+ relinquishing that control is of benefit to the community.
+I replied to the above message to clarify my point.
+After receiving no response,
+ I forwarded the e-mail to GitHub's original founders:
+ [Tom Preston-Werner][tom],
+ [Chris Wanstrath][chris],
+ and [PJ Hyett][pj].
+The response I received from Chris was blunt and discouraging:
+> Hey Mike,
+> We have no plans to release github.com's JavaScript as free software at
+> this time, nor do we have plans to remove the site's dependence on
+> JavaScript. Thanks for the interest.
+The original correspondence is provided here:
+1. [Original request][gh-request] to `support@github.com`, Tom, Chris, and
+ PJ.
+2. [Reply to my original request][gh-request-reply] from one of the developers.
+3. [My reply to the developer][gh-request2] providing more information and
+ asking for a commitment.
+4. [Forward of my reply][gh-request3] to Tom, Chris, and PJ, after having
+ received no response from the developer.
+5. [Response from Chris Wanstrath][gh-request3-reply] stating that GitHub
+ has "no plans" to liberate its JavaScript or "remove the site's
+ dependence on JavaScript".
+[gnu-repo]: https://www.gnu.org/software/repo-criteria.html
+[gnu]: https://www.gnu.org/gnu/gnu.html
+[freesw]: https://www.gnu.org/philosophy/free-sw.html
+[whyfreejs]: https://www.gnu.org/software/easejs/whyfreejs.html
+[jstrap]: https://www.gnu.org/philosophy/javascript-trap.html
+[librejs]: https://www.gnu.org/software/librejs/free-your-javascript.html
+[unjust]: https://www.gnu.org/philosophy/free-software-even-more-important.html
+[tom]: https://github.com/mojombo
+[chris]: https://github.com/defunkt
+[pj]: https://github.com/pjhyett
+[gh-request]: /docs/gh/email-request.txt
+[gh-request-reply]: /docs/gh/email-request-reply.txt
+[gh-request2]: /docs/gh/email-request2.txt
+[gh-request3]: /docs/gh/email-request3.txt
+[gh-request3-reply]: /docs/gh/email-request3-reply.txt