This week I wrote about one of the greatest threats to software freedom, but I wasn't sure exactly where to rank it. So now I'll say that I think the three greatest threats to software today, are censorship, Github and uppity developers.
"I don't care that Linus Torvalds is sometimes rude -- I still think censorship is a bigger problem than rudeness."But that goes both ways, and it isn't the responsibility of a user to do what the developer wants either. Cooperation, by definition, is mutual. If it isn't, it's simply obedience -- and people who want freedom should be practicing Software Disobedience -- because Freedom 0 doesn't change just because an uppity developer doesn't understand it.
I don't care that Linus Torvalds is sometimes rude -- I still think censorship is a bigger problem than rudeness. Torvalds has changed a fair bit on the surface, most likely due to pressure from his owners, but none of the things that bother me about him have changed. Torvalds isn't an example of what I call "uppity developers," because the obedience he expects is rhetorical, and nothing to do with the software. Sure, he is uppity about criticism of Microsoft. That's a separate complaint from the one I'm trying to make here.
Uppity developers act like Freedom 0 doesn't exist -- the freedom to use the software for any purpose. They criticise people for trying to make their software optional, and they frequently boast (or dishonestly insist -- then deny ever insisting) that users will have "no choice" (or very little choice) about running their software. I'm not against people claiming success and showing the other people that use their software in a production setting or any other setting, but when that software is something people are being told to "get with with program" (literally? Obey the software and obey the developer?) they're missing out one of the great things about software freedom -- at least when software freedom is working.
I've had developers and fanboys tell me I'll have "no choice" but to run GNOME, many years before they lied (then denied) that you would need systemd to run GNOME for example. Whether it's true or some kind of sick joke, that kind of attitude -- of mocking and laughing at users about developer lock-in is much farther from a healthy attitude than some of Torvalds' most passionate rants about contributions to the kernel.
"Uppity developers act like Freedom 0 doesn't exist -- the freedom to use the software for any purpose."Here's another reason to use Torvalds as an example -- I have no problem with a lead developer trying to stop people that contribute code from breaking the project. If that wasn't a good thing, I'm not sure if projects would even need a lead developer. Rather this attitude that these expectations extend to the user -- user freedom is as important as any, because all software developers are also software users. As long as it's possible to sabotage a project, it would be silly indeed to take issue with a lead developer protecting a project from sabotage or breakage.
I'm aware of the fact that many projects are making their work harder to fork and adapt, and I don't consider that beneficial. There is no perfect software, and so there is no perfectly-forkable software; but while there can be no mandate to perfect anything, I think it is a real problem that so much software is going backwards in this regard; that lock-in is increasing, and many people know it. As I've said, it's not a new problem -- the scale of the problem, however, is something I put squarely within the past 5 years.
This is also why I think we need a Fifth Freedom -- the freedom to not run the software. We should build that into as much so-called "Free as in Freedom" software as possible, because the freedom to NOT run the software was always implicit and present by chance. Now that it is being deliberately eroded, that lock-in is being contributed as an ever-increasing problem, we can't rely on implicit and incidental modularity like we generally had until now. It has to become a deliberate feature -- within reason, of course. And not only for developers, but for users -- because they enjoyed it too. Don't like something? Just remove or replace it. That used to be so much easier (and less superficially true than it is today.)
"And not only for developers, but for users — because they enjoyed it too. Don’t like something? Just remove or replace it. That used to be so much easier (and less superficially true than it is today.)"But until these uppity developers become more fair and modest, it is also important to promote the kind of software that doesn't showcase that sort of arrogance. And Github is still one of the largest threats to software freedom today; so while we promote the idea of an operating system that Microsoft doesn't control (seriously, we have to do that again?) it's important to practice software disobedience with Github-based projects as well. I am aware that it's probably impossible (or at least very unlikely) to go all the way with this. It's a gradually worsening problem with a solution that can probably also only work gradually.
So software obedience is about:
1. Ignoring that Freedom 0 exists
2. Letting developers control you by having too much control of your software
3. Abandoning and removing modularity to create further lock-in
4. Letting monopolies control Free software development
And software Disobedience is about:
1. Strengthening Freedom 0, along with the other software freedoms
2. Resisting the messaging and machinations of uppity developers who want to control your computing
3. Abandoning, replacing or when possible, forking software that adds to lock-in (as the LibreOffice developers did when OpenOffice became "less free")
4. Abandoning, replacing or when possible, forking software that is controlled by monopoly forces such as Github
"For many years, I have looked for ways to promote and bolster software freedom."And "ps aux" says I've been running Fluxbox for less than one hour; I already miss using IceWM, which I've promoted for years. But until somebody commits to a serious fork of this window manager, I feel strongly that it's time to try to find alternatives. For many years, I have looked for ways to promote and bolster software freedom. Continuing to use IceWM when I could promote walking away from it is no longer worth it in my opinion. Software disobedience matters to me, and I don't truly need a window manager that props up the Microsoft Github monopoly.
I know there are bigger problems than what window manager I use; but even before I finished migrating to the GNU operating system, I had learned more and more about Free software by walking away from one non-free program towards one that was more free. It's time to do that again. So even if I can't have a Microsoft-free, Github-free operating system that doesn't prop up their monopolistic abuse, I still would rather move in that direction.
It's also important, I believe, to have smaller components working first. When it's possible to replace a larger solution -- like GNOME 3 with Mate, if you never liked the attitude of GNOME 3 developers (or found them even worse than when you used GNOME 2 -- as I sometimes did) The thing is that smaller projects are easier to fork, easier to maintain, and easier for an everyday hacker/coder (Jane or Joe Coder) to fix if they need to. I think security patches are an important part of the ecosystem, though it's still harder to patch something enormous and keep bugs out in the first place.
So while I'm not strictly against larger software suites, I certainly consider smaller applications like Fluxbox and Wget a higher priority than larger applications. If the utilities we rely on to work when nothing else does are not taken care of, then we lose the foundation for our operating system -- and the things we can fix and re-liberate most easily.
"But since Windows XP came out, getting away from Microsoft was a priority. And they haven't gotten any better as a company, they are far worse than ever."On that note, someone is trying to convince Fluxbox developers to move development to Github. Simply based on commits, I think it's very possible we will lose Fluxbox to Github in the next year or two. I'm trying out window managers like Fluxbox (the most obvious move from IceWM, as JWM is also Github-based) even though I've never really been a huge Fluxbox fan. It's always been less trouble to get IceWM quickly working how I like, with a better default configuration (just my opinion; either way, I'm recommending Fluxbox to people right now -- just with these caveats.) But I also think I could stand trying dwm again.
Suckless.org has a good philosophy, I think Steve Litt loves and promotes dwm (I haven't checked on this in a while) and when I used it, it wasn't awful. I like having something a little more conventional as an option -- I promoted GNOME 2 for people that might want enough hand-holding that XFCE wasn't quite up to their expectations, even while I preferred XFCE myself.
As compromises between friendliness and resource usage go, LXDE was the thing I promoted the most, and XFCE and GNOME 2 were "steps up" in terms of features but steps down in terms of being lightweight. For myself and anybody who wanted basic, familiar features with incredibly light resource use and best speed on old computers, I promoted IceWM (even on machines with several cores. Why waste CPU, RAM and GPU on moving rectangles around?)
"I switched to GNU in the first place, because for years now I’ve tried to be someone who can recommend the best tools for doing real tasks — without compromising on freedom."But since Windows XP came out, getting away from Microsoft was a priority. And they haven't gotten any better as a company, they are far worse than ever. Walking away from monopolies is the essence of freedom, and while I'm not kidding about being sad to walk away from IceWM, the fact remains that Microsoft controls it now. I'm willing to explore the alternatives, as I was when I switched to GNU in the first place, because for years now I've tried to be someone who can recommend the best tools for doing real tasks -- without compromising on freedom.
But we have grown a little too obedient in my opinion, a little too complacent with being told what to do, and while I talk about the importance of the philosophy as well as the significance of corporate corruption -- it's also important to act. I learned how to automate live distro remastering, so I could redistribute a script instead of a distro as a way of cleaning up cruft and attempted lock-in, but until today I was still using IceWM on one of my primary workstations. Sometimes we need to decide that now's the time to take another step. As I explore options, they'll fan out to what setups I use less often.
"Walking away from monopolies is the essence of freedom, and while I'm not kidding about being sad to walk away from IceWM, the fact remains that Microsoft controls it now."And no, I will not continue using Fluxbox if Github takes it over. I won't even continue using it if I find a Github-free, free software alternative I like more. But it gets another chance right now, because it seems farther away from Github than my ideal window manager. That's a status I'm watching closely -- and I know the community will let me know sooner or later if it's already too late for Fluxbox. Unless I notice it first. ⬆
Licence: Creative Commons CC0 1.0 (public domain)