:Spring cleaning and GH reference eradication

master
Mike Gerwitz 2015-05-16 02:19:06 -04:00
commit 44ac79430e
No known key found for this signature in database
GPG Key ID: F22BB8158EE30EAB
16 changed files with 404 additions and 37 deletions

View File

@ -17,7 +17,9 @@
# #
pages := $(patsubst %.pg, %.html, \
$(shell find docs/ -name '*.pg'))
$(shell find docs/ -name '*.pg'))
pages_md := $(patsubst %.md, %.html, \
$(shell find docs/ -name '*.md'))
articles := $(patsubst %.txt, %.html, \
$(shell find docs/ -maxdepth 2 -name '*.txt'))
# articles in TeX with an inappropriate var name
@ -64,6 +66,8 @@ thoughts:
# "pages"
%.html: %.pg docs/papers/.list
$(repo2html) -icontent -ftools/extfmt <$< >$@
%.html: %.md
$(repo2html) -icontent -ftools/mdfmt <$< >$@
# TeX papers are expected to have their own makefiles as well as an abstract.tex
%.html: coope/%.tex
@ -73,7 +77,7 @@ thoughts:
docs/papers/.list: thoughts articles
echo "$(articles) $(texticles)" | tr ' ' '\n' | tools/doclist >$@
pages: $(pages)
pages: $(pages) $(pages_md)
articles: $(articles) $(texticles)
docs: pages articles
www-root: docs thoughts
@ -82,8 +86,10 @@ www-root: docs thoughts
&& find . -maxdepth 2 -name '*.html' -exec ../tools/doc-cp {} ../www-root/{} \; \
&& find . -maxdepth 3 \( -name '*.pdf' -o -name '*.dvi' \) -exec cp {} ../www-root/{} \; \
)
cp -r images/ www-root/
cp style.css www-root/
cp -rv images/ www-root/
cp -v style.css www-root/
mkdir -p www-root/docs
cp -rv docs/gh/ www-root/docs/
clean:
rm -rf www-root/

View File

@ -1,4 +1,4 @@
About
### About
Mike Gerwitz is a [free (as in freedom) software][0] [hacker][1] and activist
with an insatiable lust for the command line of a [GNU][2] operating system.
@ -8,6 +8,8 @@ and various other fields. He also closely follows the work of the [Free Software
Foundation][0], [Electronic Frontier Foundation][3] and other entities devoted
to free information and free society.
Mike is the maintainer of [GNU ease.js][easejs].
Outside of his field, Mike enjoys time with his family---including his fiancé
and son---whom keep him busy and probably contribute to the retention of his
sanity. Mike also has a fascination with a wide range of sciences that he
@ -31,7 +33,8 @@ hash links in the footer of various pages and the content is licensed for free
distribution and, in some cases, modification.)
[0] http://www.gnu.org/philosophy/
[1] http://www.gnu.org/philosophy/words-to-avoid.html#Hacker
[2] http://gnu.org/
[3] http://eff.org/
[0]: http://www.gnu.org/philosophy/
[1]: http://www.gnu.org/philosophy/words-to-avoid.html#Hacker
[2]: http://gnu.org/
[3]: http://eff.org/
[easejs]: https://gnu.org/software/easejs

View File

@ -1,9 +1,8 @@
Free Software Projects
### Free Software Projects
Listed below are my notable public projects. I have various other scripts and
personal playthings that may be found on both [Gitorious][0] and [GitHub][1]
that are not worth listing here, but may be of interest to certain
readers/hackers.
Listed below are my notable public projects. I have various other scripts
and personal playthings that may be found on [GitLab][0] that are not worth
listing here, but may be of interest to certain readers/hackers.
While writings are certainly projects in their own right, they are listed
separately in the ``Papers'' section of this website.
@ -36,11 +35,9 @@ screen][6] back to life by cleaning up the code, bringing it up to date, dumping
some cruft, and adding exciting new features.
[0] http://gitorious.org/~mikegerwitz
[1] http://github.com/mikegerwitz
[2] http://www.gnu.org/software/easejs
[3] https://gitorious.org/repo2html or https://github.com/mikegerwitz/repo2html
[4] https://gitorious.org/git-supp or https://github.com/mikegerwitz/git-supp
[5] https://gitorious.org/mtg-personal/thoughts or
https://github.com/mikegerwitz/thoughts
[6] https://github.com/amade/screen/tree/devel
[0]: https://gitlab.com/u/mikegerwitz/
[2]: https://www.gnu.org/software/easejs
[3]: https://gitorious.org/repo2html
[4]: https://gitlab.com/mikegerwitz/git-supp
[5]: https://gitlab.com/mikegerwitz/thoughts
[6]: https://github.com/amade/screen/tree/devel

View File

@ -0,0 +1,107 @@
### GitHubbub! GitHub Does Not Value Software Freedom.
<div class="inline-img">![GitHub](/images/github-mark-large.png "GitHubbub!")</div>
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 wise to
consider whether doing so is a good idea---whether the service or website
is antithetical to the message you are trying to send to your
readers/visitors, or whether it deserves clarification. There's a little
bit of both here.
#### 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 (often without your permission)
untrusted software][jstrap]. If that JavaScript is not
[freely licensed][ilibrejs], 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 unethical.
#### 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, clarifying 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".
[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
[gh-request-reply]: /docs/gh/email-request-reply
[gh-request2]: /docs/gh/email-request2
[gh-request3]: /docs/gh/email-request3
[gh-request3-reply]: /docs/gh/email-request3-reply

View File

@ -0,0 +1,57 @@
Date: Wed, 2 Apr 2014 12:30:09 -0400
From: Mike Gerwitz <mikegerwitz@gnu.org>
To: tom@github.com, chris@github.com, pj@github.com
Cc: support@github.com
Subject: Free GitHub's JavaScript
Hello everyone,
I'm part of the FSF's Free JavaScript Campaign[1], but I would like to be
clear that I'm contacting you personally, not on their behalf. While the
current focus of the campaign is reddit (for which I'm completing an audit),
I would be pleased if we could work with GitHub as well in the future.
GitHub is an extremely popular platform for free software developers and
harbors a strong community that is very beneficial for free software
collaboration and development. While GitHub does provide a flexible API, it
is unfortunate that GitHub's website serves proprietary JavaScript, and many
features do not work unless JavaScript is enabled.
GitHub's competitive advantage is their service. Liberating the JavaScript
served to the client will not impact that service---indeed, it would make it
more available to free software users and it would demonstrate the power of
and commitment to free software on GitHub's part; it would set an excellent
example. If GitHub made that JavaScript available in a repository on GitHub,
it would also open the door for contributors to improve upon the website;
I'm sure they have many great ideas.
Tom, you posted this back in 2011:[2]
Ok, then what shouldn't I open source? That's easy. Don't open source
anything that represents core business value.
Much of what the JavaScript code does can be done via the API, or is simple
DOM manipulation; if any of it represents a core business value, it can be
moved to the server and the client-side JS can make an XHR.
I would love to discuss this with you further; I look forward to a response
that facilitates that discussion. I would be willing to aid in this process
however I can. If you would prefer to talk to the campaigns team at the FSF
instead of myself, I work closely with Zak, who can be reached at
zak@fsf.org.
[J]ust flip that switch on your GitHub repository from private to
public and tell the world about your software.[2]
Thanks for your time.
[1]: https://fsf.org/campaigns/freejs
[2]: http://tom.preston-werner.com/2011/11/22/open-source-everything.html
Best regards,
--
Mike Gerwitz
Free Software Hacker | GNU Maintainer
http://mikegerwitz.com
FSF Member #5804 | GPG Key ID: 0x8EE30EAB

View File

@ -0,0 +1,17 @@
Date: Thu, 03 Apr 2014 16:45:02 -0700
From: "[Name Removed] (GitHub Staff)" <support@github.com>
To: Mike Gerwitz <mikegerwitz@gnu.org>
Subject: Re: Free GitHub's JavaScript
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
[Name Removed]
JavaScript Developer
GitHub

View File

@ -0,0 +1,61 @@
Date: Thu, 3 Apr 2014 20:47:00 -0400
From: Mike Gerwitz <mikegerwitz@gnu.org>
To: "[Name Removed] (GitHub Staff)" <support@github.com>
Subject: Re: Free GitHub's JavaScript
Hey [Name Removed]; thank you for your reply.
On Thu, Apr 03, 2014 at 04:45:02PM -0700, [Name Removed] (GitHub Staff) wrote:
> 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.
Unfortunately, the code that I am referring to---the code that is served to
the client---is not internal; it runs on the user's web browser, just as any
other software. By visiting GitHub's website, users' web browsers download
and execute proprietary JavaScript.
And much of this JavaScript performs fairly trivial tasks---tasks that could
conventionally be done without JavaScript:
* Updating account/profile data;
* Sending pull requests;
* Forking, staring, and watching repositories;
* Changing repository/organization settings;
- Creating wiki pages;
- The issue tracking system; and more.
I would consider the starred ones above to be the most essential features of
the website---it may be lacking, since I use GitHub with JavaScript
disabled---that users should be permitted to do without being required to
surrender their freedoms, especially on a website that should understand at
a deep level the fundamental need for those freedoms (even if GitHub's
philosophy does not coincide).
So my question is this: would GitHub consider:
(a) Permitting those functions to work without JavaScript enabled; and
(b) Releasing the JavaScript---including any libraries used to perform
those tasks---under a free software license of GitHub's choice?
These features would be a great start.
> 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.
And while I and many others do certainly appreciate that---some good free
software projects have come out of GitHub---these are things that are
*essential* to the community. Using GitHub's website with JavaScript enabled
is no different than using any other proprietary software and is therefore
very difficult for free software users to take full advantage of.
The free software community and myself would appreciate a strong
consideration on this topic.
Thank you,
--
Mike Gerwitz
Free Software Hacker | GNU Maintainer
http://mikegerwitz.com
FSF Member #5804 | GPG Key ID: 0x8EE30EAB

View File

@ -0,0 +1,92 @@
Date: Tue, 15 Apr 2014 21:23:33 -0400
From: Mike Gerwitz <mikegerwitz@gnu.org>
To: tom@github.com, chris@github.com, pj@github.com
Subject: [mikegerwitz@gnu.org: Re: Free GitHub's JavaScript]
Tom/Chris/PJ,
I did not receive a reply from [Name Removed], nor do I know if he has the
authority to speak on these matters. I would appreciate a formal reply from
GitHub that I can forward on to the FSF campaigns team to determine if this
is something we can pursue.
Please note that I wish to help make GitHub more accessible to all members
of the free software community---members that GitHub targets by encouraging
the hosting of free software, while at the same time serving up proprietary
JavaScript.
----- Forwarded message from Mike Gerwitz <mikegerwitz@gnu.org> -----
Date: Thu, 3 Apr 2014 20:47:00 -0400
=46rom: Mike Gerwitz <mikegerwitz@gnu.org>
To: "[Name Removed] (GitHub Staff)" <support@github.com>
Subject: Re: Free GitHub's JavaScript
X-URL: http://mikegerwitz.com
User-Agent: Mutt/1.5.21 (2010-09-15)
Hey [Name Removed]; thank you for your reply.
On Thu, Apr 03, 2014 at 04:45:02PM -0700, [Name Removed] (GitHub Staff) wrote:
> 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.
Unfortunately, the code that I am referring to---the code that is served to
the client---is not internal; it runs on the user's web browser, just as any
other software. By visiting GitHub's website, users' web browsers download
and execute proprietary JavaScript.
And much of this JavaScript performs fairly trivial tasks---tasks that could
conventionally be done without JavaScript:
* Updating account/profile data;
* Sending pull requests;
* Forking, staring, and watching repositories;
* Changing repository/organization settings;
- Creating wiki pages;
- The issue tracking system; and more.
I would consider the starred ones above to be the most essential features of
the website---it may be lacking, since I use GitHub with JavaScript
disabled---that users should be permitted to do without being required to
surrender their freedoms, especially on a website that should understand at
a deep level the fundamental need for those freedoms (even if GitHub's
philosophy does not coincide).
So my question is this: would GitHub consider:
(a) Permitting those functions to work without JavaScript enabled; and
(b) Releasing the JavaScript---including any libraries used to perform
those tasks---under a free software license of GitHub's choice?
These features would be a great start.
> 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.
And while I and many others do certainly appreciate that---some good free
software projects have come out of GitHub---these are things that are
*essential* to the community. Using GitHub's website with JavaScript enabled
is no different than using any other proprietary software and is therefore
very difficult for free software users to take full advantage of.
The free software community and myself would appreciate a strong
consideration on this topic.
Thank you,
--
Mike Gerwitz
Free Software Hacker | GNU Maintainer
http://mikegerwitz.com
FSF Member #5804 | GPG Key ID: 0x8EE30EAB
----- End forwarded message -----
--
Mike Gerwitz
Free Software Hacker | GNU Maintainer
http://mikegerwitz.com
FSF Member #5804 | GPG Key ID: 0x8EE30EAB

View File

@ -0,0 +1,11 @@
From: Chris Wanstrath <chris@github.com>
Date: Wed, 16 Apr 2014 15:24:28 -0700
Subject: Re: [mikegerwitz@gnu.org: Re: Free GitHub's JavaScript]
To: Mike Gerwitz <mikegerwitz@gnu.org>
Cc: Tom Preston-Werner <tom@github.com>, PJ Hyett <pj@github.com>
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.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 969 B

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

View File

@ -3,7 +3,7 @@
</a>
<div id="copyright">
Copyright &copy; 2012 <a href="/">Mike Gerwitz</a>.
Copyright &copy; 2012, 2013, 2014, 2015 <a href="/">Mike Gerwitz</a>.
Verbatim distribution of this document in its entirety is permitted provided
that this copyright notice is preserved.
</div>

22
tools/mdfmt 100755
View File

@ -0,0 +1,22 @@
#!/bin/bash
# Formatter for Markdown
#
# Copyright (C) 2015 Mike Gerwitz
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# This processes works written in Markdown.
##
exec pandoc -S -fmarkdown -thtml5

View File

@ -1,7 +1,7 @@
#!/bin/bash
# Formatter for `thoughts'
#
# Copyright (C) 2014 Mike Gerwitz
# Copyright (C) 2014, 2015 Mike Gerwitz
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -51,5 +51,4 @@ test "$timestamp" -gt "$md_cutoff" \
|| fmt-old
# it's just that simple.
exec pandoc -S -fmarkdown -thtml5
exec "$(dirname "$0" )"/mdfmt

View File

@ -2,7 +2,7 @@
#
# Basic template configuration; command-line options will override
#
# Copyright (C) 2013 Mike Gerwitz
# Copyright (C) 2013, 2015 Mike Gerwitz
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -23,7 +23,7 @@ get-menu-docs()
# we shall only consider ordered pages---that is, those that begin with numbers; this
# allows pages to exist that are not listed in the menu
paths=$(
find "$path_root/docs" -maxdepth 1 -name '[0-9][0-9]-*.pg' \
find "$path_root/docs" -maxdepth 1 -name '[0-9][0-9]-*.??' \
-exec basename {} \; \
| sort
)
@ -31,7 +31,7 @@ get-menu-docs()
for p in $paths; do
# we shall consider the name of the link to be the path with the extension
# and sorting prefix stripped
name="$( basename "${p%%.pg}" )"
name="$( basename "${p%%.*}" )"
echo "${name#??-}"
done
}
@ -70,11 +70,6 @@ cat <<EOH
<img src="/images/win8-close.png"
alt="Close Windows, Open Doors" />
</a>
<a href="http://defectivebydesign.org/no-drm-in-html5">
<img src="/images/hollywebshare.jpg"
alt="Stop the Hollyweb! No DRM in HTML5." />
</a>
</div>
EOH
)"
@ -132,10 +127,10 @@ html_index_footer=$(cat <<EOM
/>
</a>
<a href="http://github.com/mikegerwitz">
<a href="/about/githubbub">
<img src="/images/github-42.png"
alt="See me on GitHub"
title="See me on GitHub"
alt="Don't see me on GitHub"
title="Don't see me on GitHub"
width="42" height="42" border="0"
/>
</a>