A cross-platform utility to highlight RMS support letter signers.
- Prebuilt Extensions/Userscripts
- Design
- Developing
- Installation
- Settings
- Bad Faith Criticism
- License
- Contributing
Pre-built extensions and userscripts are provided under the dist directories.
This browser extension/userscript fetches and parses a list of signers to the RMS support letter, and then uses local storage to store signers to highlight their names on Github or Gitlab.
In order to create a simple, cross-platform browser extension with code re-use, we have a single src
folder and icons
directory, which are then distributed with the platform-specific manifests to create the package. All the tools to generate these dist packages can be found under tools
.
The following dependencies are required for building your own dist
packages:
- Node.js
- Bash
- Rollup.js
Rollup.js may be installed by:
npm install --global rollup
Chrome and Firefox do not allow installing packages outside the app stores for security reasons. However, the preferred way is installing a Tampermonkey userscript.
First, if desired, build the desired extensions. If using the prebuilt files, skip this step.
# Build the Tampermonkey extension.
tools/make-userscript.sh
# Build the Firefox extension.
tools/make-firefox.sh
# Build the Chrome/Chromium extension.
tools/make-chromium.sh
Tampermonkey/GreaseMonkey
Click on the Tampermonkey or Greasemonkey extension icon, click "Create a new script..." or "New user script..." and copy and paste the contents of dist/userscript/main.js
into the script, and save the contents.
Chrome
Go to settings (chrome://settings/
in the URL bar), click "Extensions", and activate "Developer Mode" in the top-right corner. Next, click "Load Unpacked" in the top-left corner. Then, navigate to dist/chromium
and load the folder.
Firefox
Go to about:debugging
in the URL bar, click "This Firefox" on the left tab, go under "Temporary Extensions", and click "Load Temporary Add-on…". Then navigate to dist/firefox
, and load manifest.json
.
This extension will be removed every time you reset Firefox or your computer, and therefore this is not a recommended solution.
By default, this extension/userscript updates the list of signatories daily. This may be changed under the settings menu for the extension/userscript.
But what about GDPR/User Privacy?
This script stores no user data on any server, only locally, and is fetched from a public list of signatories. You are free to remove your name from the RMS support letter at any time.
Won't this condone harassment?
First, nothing compares to the serial harassment Richard Stallman has committed over decades and the toxic environment he has cultivated. But this script doesn't condone harassment: all it does it is highlight names on developer websites, and does not provide external contact information.
What about free speech?
Free speech does not protect you from criticisms of said speech. You are not entitled to a platform.
From xkcd, shared under CC BY-NC 2.5.
All code is dual licensed under the Apache 2.0 license as well as the MIT license. See the LICENCE-MIT and the LICENCE-APACHE files for the licenses. All icons are shared from their creator under a Creative Commons 3.0 Unported license.
This project will not use a GPL license. Thanks for asking.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in highlight-rms-supporters by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.