Bonum Certa Men Certa

Plotting and Analysing the Letter in Support of Richard Matthew Stallman (RMS) Being Reinstated by the Free Software Foundation

Video download link



Summary: "An open letter in support of Richard Matthew Stallman being reinstated by the Free Software Foundation" has been signed by 6,731 people (it may reach 7,000 later this summer) and here's how to generate a chart based on this very latest data

IT already feels like "hot summer" over here; this past spring the founder of the Free Software Foundation came under a lousy attack by mostly misled people, commandeered by front groups of monopolies. They've been defaming the founder of the Free Software Foundation for a number of decades (the GNOME Foundation tried 12 years ago), but this time there seems to be some urgency in removing him. We spent many days explaining the who and the why. This isn't the subject of this post and video.



"For those who want to reproduce the charts, detailing nearly 10,000 people who signed petitions in Microsoft’s proprietary software monopoly (GitHub), the video above explains the basic steps."For those who want to reproduce the charts, detailing nearly 10,000 people who signed petitions in Microsoft's proprietary software monopoly (GitHub), the video above explains the basic steps. Here are the basic commands from the video above:

cd /tmp rm -rf rms-open-letter.github.io rm -rf rms-support-letter.github.io

or just

rm -rf rms-open-letter.github.io rms-support-letter.github.io

Get the latest data:

git clone https://github.com/rms-open-letter/rms-open-letter.github.io.git

git clone https://github.com/rms-support-letter/rms-support-letter.github.io.git

Now run python3 count.py

There may be missing python libraries (depending on the system), but they can be added/installed from repositories. They're widely available and used.

Here's the code from count.py:

 



# author: Kezi # license: gplv3

import time import os import subprocess from threading import Thread

from datetime import datetime

start_time = 1616522054+60*60*4 stop_time = int(time.time())

path_open = "/tmp/rms-open-letter.github.io" # https://github.com/rms-open-letter/rms-open-letter.github.io.git path_support = "/tmp/rms-support-letter.github.io" # https://github.com/rms-support-letter/rms-support-letter.github.io.git

cwd = os.getcwd()

def count_open(): lol=subprocess.check_output(['sh', '-c', f"cd {path_open}; cat index.md | grep -e \"^1.\" -e \"^- \" | wc -l"]) return int(lol)

def count_support(): lol=subprocess.check_output(['sh', '-c', f"cd {path_support}; ls _data/signed/ | wc -l"]) return int(lol)

def checkout_open(date): try: subprocess.check_output(['sh', '-c', f"cd {path_open}; git checkout -f `git rev-list -n 1 --before=\"{date}\" main`"]) except: pass

def checkout_support(date): try: subprocess.check_output(['sh', '-c', f"cd {path_support}; git checkout -f `git rev-list -n 1 --before=\"{date}\" master`"]) except: pass

def time_machine(timestamp): print("time machine", datetime.fromtimestamp(timestamp), timestamp)

date=datetime.utcfromtimestamp(timestamp).strftime('%Y-%m-%d %H:%M') thread1 = Thread(target = checkout_open, args = (date, )) thread1.start() thread2 = Thread(target = checkout_support, args = (date, )) thread2.start()

thread1.join() thread2.join()

dates=[] points_open=[] points_support=[]

for i in range(start_time, stop_time, 60*5): time_machine(i)

dates.append(datetime.fromtimestamp(i)) points_open.append(count_open()) points_support.append(count_support())

import matplotlib.pyplot as plt import matplotlib.dates as md

plt.subplots_adjust(bottom=0.2) plt.xticks(rotation=25) ax = plt.gca() xfmt = md.DateFormatter('%Y-%m-%d') ax.xaxis.set_major_formatter(xfmt) plt.plot(dates, points_open, label="rms hate letter")

plt.subplots_adjust(bottom=0.2) plt.xticks(rotation=25) ax = plt.gca() xfmt = md.DateFormatter('%Y-%m-%d') ax.xaxis.set_major_formatter(xfmt) plt.plot(dates, points_support, label="rms support letter")

plt.legend() plt.show()



The latest chart below (shown after running in the terminal, as shown in the video:

RMS petitions.png



Still growing, but in relative terms not by very much. Here's how to sign.

Recent Techrights' Posts

Links 29/10/2025: "US Military Is Destroying the Planet Beyond Imagination" and Boat Strikes Deemed Unlawful
Links for the day
Quality Comes First (Techrights Search)
It's generally working already, but we wish to polish it some more
Techrights Party Countdown
Late next week we'll be holding a party near our home
European Parliament and Council Directive on Privacy is Vanishing
"edited / censored some time more recently"
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Tuesday, October 28, 2025
IRC logs for Tuesday, October 28, 2025
Slopwatch: The March of Slopfarms, From UbuntuPIT to Linux Journal and to Various Fake Sites Still Promoted by Google News
It's so worrying to see what the Web has become
Links 29/10/2025: CISA, Ukraine, and Amazon Problems
Links for the day
[Teaser] The EPO's Spokesperson, a Cocaine User, Fancies Young Women
How's that for "optics" in the EU and Europe's second-largest institution?
How Will António Campinos Respond to the EPO's 'Cocainegate'?
That's the same thing we saw and still see when the press deals with enablers and partners of Jeffrey Epstein
Join Us Now and Share the News - Part IV: There Cannot be Free Software Without Free Press and Free Information
One day, one can hope, more people will recognise that for Software Freedom we need free press and free thinkers
Join Us Now and Share the News - Part III: Principled Stance Is Never Cheap
Protecting the truth and insisting that the general public is made aware of things that really happened isn't cheap
Join Us Now and Share the News - Part II: Because Scarcity of Accurate Information Breeds Collective Ignorance
we too will strive to share information that's aggressively suppressed
Gemini Links 28/10/2025: More New Arrivals at Geminispace, xkcd on "Document Forgery"
Links for the day
Join Us Now and Share the News - Part I: Defence of the Truth
This year we make a very strong, firm statement for truth, even if that means explaining our work to the top media judge in the country
Links 28/10/2025: Meta and Fentanylware (CheeTok) Age-Restricted Down Under, "Britain Needs China’s Money"
Links for the day
Links 28/10/2025: Mass Layoffs at Amazon and Charter to Cut 1,200 Jobs
Links for the day
The Cocaine Patent Office - Part II: The Person Who Planted Paid-for Fake News for the European Patent Office (EPO) is a Cocaine User, Friend of António Campinos, Now on Record as Having Been Arrested
Background: High-level manager at the European Patent Office caught in public with cocaine, arrested
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Monday, October 27, 2025
IRC logs for Monday, October 27, 2025
Google News Drowning in Slop (and Slopfarms That Hijack About Half the Results)
Google News seems to be drowning in this stuff
Gemini Links 28/10/2025: "How to Maximize Your Positive Impact" and ASCII Art and Artist Attribution
Links for the day
PETA and Activism
Being staff or volunteer in PETA isn't easy
Big Blue, Huge Debt
debt will soar again
Links 27/10/2025: Mass Surveillance Sold as "AI", People Reluctant to Lose Physical Media
Links for the day
Parties and Milestones Again
we've begun putting up about 40 balloons
Techrights' 19th Anniversary: Bronze
Time to go back to preparing for this anniversary
Our Latest European Patent Office (EPO) Series Will Last Several Weeks, Will Ask the EPO Management and the European Union (EU) Very Difficult Questions
If nobody loses a job (or jobs) over this, then the EU basically became no better than Colombia or Nicaragua
Slopwatch: LinuxSecurity, UbuntuPIT, Brian Fagioli, and Google News
We focus on stories that are fake or LLM slop that disguises itself as "news" about Linux
Links 27/10/2025: Wikipedia Vandalism, Bruce Perens Opens up on Childhood
Links for the day
This Site Could Not be Done by LLMs Even If It Wanted to (Because It's Not a Parrot of What Other Sites Say)
LLMs have no knowledge or deep understanding
Microsoft is Disloyal Towards Its Most Loyal Employees
Against its most faithful enablers
19 Years, No Censorship
No factual information is ever going to be removed, more so if it is in the public interest
We Are Not a Conventional Site, That's Why They Hate (or Love) Us
Throughout the week this week we'll be focusing on the EPO
Following the Line of Cocaine All the Way to the Top
Even a million denials and spin-doctoring won't distract from the core issue
The Cocaine Patent Office - Part I: António Campinos Brought Corruption and Nepotism to the EPO, Then Came the Cocaine
High-level manager at the European Patent Office (EPO) caught in public with cocaine, the Office has some answering to do
Purchasing/Possessing Computers Isn't the Same as Controlling Computers
Let's strive to put computers back under the control of their users, no matter who purchased these (usually the users)
Gemini Links 27/10/2025: Alhena 5.4.3 and Fixing Bash
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Sunday, October 26, 2025
IRC logs for Sunday, October 26, 2025
Thankfully We've Made Copies of More Interesting Data From statCounter
If statCounter (the Web site or the 'webapp') vanished overnight, we'd still have something left of it
More Silent Layoffs at IBM/Red Hat
when the media counts such layoffs or presents tallies the numbers are very incomplete