Communicating With Freedom - Part I - Developing “Quibble” and Improving GNU LibreJS in the Process
Some time ago we wrote about the need to promote Free (libre) communication tools because some venues didn't offer those to the person who would be called "hypocrite" for not using only Free software (in some cases he has the choice between cancelling his own talk or making some concessions, maybe even at the last minute or extremely short notice, which would disappoint many).
"Hi y’all," a valued reader told us about his own work in that particular domain (facilitating communication via Free software), "I hope you’re both doing well!" (He wrote to my wife as well, knowing what was being done to her)
"I figured I’d save some time and reach out to both of you together in case you had any questions about what I've been working on."
He told us he was aiming to replace Discord entirely, also for other people (fairly young people, university students for the most part).
Instead of just advocating alternative he decided to roll out his own. Just like Dr. Stallman (as a young programmer at MIT) would do.
"As part of our upcoming campus project (Project Sine Iugum) to teach free software development to students, by students," he told us, "we’ve started building an application aimed at replacing Discord entirely. I’ve briefly discussed this with Dr. Stallman, but to give a fuller picture to Dr. Schestowitz: the application is fully Free software, built from the ground up using entirely peer-to-peer, and end-to-end encrypted technologies."
My wife and I both use end-to-end encrypted Mumble (hosted from home) to communicate with people. We've done this for years and it works well. We try to encourage others to do the same, but unless those other people use GNU/Linux we're not sure where to start. Almost every proprietary platform is inherently back-doored (our government insists on it and a back doors promoter is trying to silence us by misusing injunctions).
Back to project named above, to quote the developer: "The goal is to offer a viable replacement for both Discord and IRC - with none of the technical bloat of Discord-like Electron. We’re calling it “Quibble” as a bit of a play on “Discord.” This is the project another student and I began working on more last Monday as part of the Georgia Tech "Open-Source" summer program."
“Quibble” is a neat name.
"Because our app is written in JavaScript/TypeScript," we got told (the latter has Microsoft's footprints in it), "I wanted to ensure it remains fully compliant with free software principles. The most practical way to do that is by leveraging GNU LibreJS. However, I found that LibreJS's CLI tool has not been updated since 2016, and does not support any modern JavaScript features we’re using."
Newer is not always better, it tends to be more bloated and it might not be compatible with older devices, only with newer ones that are bloated by design.
For communication software it helps to support as many platforms as possible, including very old (even unsupported in the patching sense) operating systems. In my experience, Mumble is excellent in this regard; the protocols don't 'over-evolve'; they're quite persistent. Even very old Android phones can run Mumla and access Mumble (Murmur) servers.
Back to “Quibble”, this is what happened: "I tracked down the repository on GitHub (I guess that was more okay for a GNU project back then?), forked it, and made roughly 1,000 lines of updates over a few days to bring it up to date, and even fix a bug that was open for a decade. I submitted a pull request, but shortly after, the original maintainer archived the repository without any response to me - most I got was an automatic email to me from GitHub saying that it was archived. This is personally a bit frustrating, especially since they appear to still be active elsewhere on GitHub. But I'm not the kind of person to go looking for fights."
"Given that, I’ve decided to continue development independently by maintaining my fork and moving it to Codeberg. I also plan to expand it further, including support for additional free backends beyond just Node.js. Since this will be a maintained fork with meaningful changes, I’m renaming it to “librejs-cmd” and preparing to publish it to the various JavaScript package registries. I'll take a look at the browser extension too, but that one seems to have less problems than the CLI tool I needed - so I'll wrap up my changes with the CLI tool and then maybe start working on fixing whatever backlog of bug reports are present with the browser extension."
In the next part we shall examine where things currently stand (spoiler: it's in "beta" territories).
In the 'Free World', people identify problems and pursue fixes, which they can do provided willpower and perseverance; the code is, after all, fully available and the licence permits improvements.
To the man above, Discord might be the "Xerox moment" (of RMS).
We are not naming him as the "back doors brigade" (sometimes governments too) tends to attack people who develop secure, encrypted communications software. There's ample history of this kind of thing. As long as people promote garbage that is flawed, they're OK with it. █
