everything wrong with free software
"free as in speech"
*originally posted:* sep 2022
the free software movement is dead, and nearly all of it depends on github. for many this seems like a reasonable excuse to surrender.
to be absolutely certain, its impossible to avoid github. you would literally have to create your own operating system. youd have to start where stallman did, 40 years ago.
fortunately, that isnt completely necessary. i mean, you can fight github without doing all of that. but as with the story of bsd, by the time you finished you might have a completely new operating system anyway.
i should note that i dont think creating a completely new os is a waste of time. just that its not the only way forward, in my opinion.
i dont think its possible to fork linux-- even linus couldnt do it. and i dont think its possible to fork gnu, but if you are able then be my guest. gnu should be preserved. it probably wont happen. i talk about why in other writings.
lets talk about what it takes to fight github in a meaningful way:
1. fork a project. move it somewhere that gives you more control than github. if you choose an option thats barely any better, like gitlab, you ensure youll have to do it again. maybe try something less corporate. gitlab at least can be self-hosted. but its a bloated mess thats hateful to use imo. maybe just use git... but i know, people want a web interface. maybe dont use git at all. seriously. and i get why you might want a web interface. personally, i dont care a lot about git. i know most people do. when i stopped using windows, most people used that too. im not strictly against a web interface, but the web does suck now. all browsers suck.
2. maintain the project independently of github. this is just as important as forking. youll patch the source when its prudent but really, if its not maintained its just a mirror. make a real fork. this is hard, it requires people to work on software. but yeah... thats how you save free software: by working on free software and not betraying your users.
3. understand what youre up against here. software projects practically have mass. bigger projects require more people. larger projects mean network effects. network effects lead to monopolies. microsoft is happy to fuck with smaller projects too, but smaller projects can fork and fork. making a project bloated and blob-like means it will ultimately end up in corporate hands, depend on corporate "sympathy", which is only manipulation and hijacking and its unsustainable.
bloat kills freedom. it doesnt matter if you have a free license when the project is such a mountain of bullshit that no one will ever want to or manage to fork it. thats a KNOWN and actively exploited vulnerability disclosed two decades ago in the halloween documents. it explains practically everything wrong with software today.
the gnu project was modular to begin with. it had this as a de facto foundation for the 4 freedoms. it was implicit. as this foundation has eroded, so have the 4 freedoms that more or less depend on it.
by contrast, openbsd is the most free of any bsd-- except arguably hyperbola.
bsd is not a free software project-- except hyperbola, which is based on openbsd.
even openbsd is not a free software project-- they dont care about that. they are very honest about it.
they do at least, want their software (which apart from the firmware, is under a gpl-compatible license) to be a gift to the world. they dont WANT to write or patch firmware. its outside the scope of the PROJECT.
openbsd is a project, not a movement. there is no "openbsd movement". nor is openbsd part of a movement.
all that openbsd is "good" for is making tools. the tools happen to be made in a way that is arguably more free than gnu is or will be. but those are design decisions. theyre important decisions.
for it to be a movement, people would have to care about the things a movement cares about.
openbsd does care about software being maintainable. thats an important value for the sustainability of software freedom, its just not enough by itself.
but gnu does not even care about this. it drifts towards github, which is suicidal-- openbsd at least maintains a degree of independence, even if not for the best possible reason. it still makes a good choice.
a good choice that doesnt care about freedom per se will still ultimately lead away from freedom, someday. but gnu will get there faster, because they dont even care about distance from control by microsoft and ibm. openbsd is smarter, and for free software to work-- it has to be smarter too.
every project that pulls away from github is a step forward, and thats good. it really is. if you can make a viable fork, you should be proud. and even if you try and fail-- that experience can help, and the effort is admirable.
we shouldnt of course, get too caught up in progress and mistake it for success. theres a corporate, capitalist monopoly on "freedom", and thats a contradiction in terms. the fsf has abandoned its mission. it abandoned it years ago. the goal of free software is for users-- not corporations-- to control their computing. the fsf has failed. worse, it does not admit it. instead it controls communication regarding the topic. the fsf does not fight FOR your freedom. today, they fight AGAINST it. the fsf has betrayed everyone. the gnu project has betrayed its users.
the other fsfs are (for the most part) even worse. or simply not much to speak of. prove me wrong, go ahead. that would be lovely. fsf-in doesnt look like its completely sold out yet. i dont pay close attention, just credit where credit is due. of course through trademarks (for better or worse) the fsf can control fsf-in too, sooner or later.
there isnt a lot of hope, but its still worth looking for it from sources that havent directly and utterly betrayed us. all of this is another reason to fight github, even if it seems pointless.
when github was bought by free softwares biggest single enemy, more than 200,000 projects left in protest, disgust and/or prudence. that was a good start. unfortunately since that time, little has gone well. more large projects have joined since, than left since. slitaz at least, drifted there and left again. but most get sucked in, like webkit has gotten or is getting sucked in.
staying with github is a betrayal-- at least for projects that matter to a significant number of people. for obscure projects, its still not good to use github, but at least the number of people affected is smaller.
most of the window managers, pretty much every spellchecking tool in use, and like ive said, increasingly (not decreasingly) the gnu project itself, are github-based. this is a betrayal. they stay with microsoft. they literally hand the keys to the enemy. thats betrayal.
so yeah, im not going to reward treachery. im not going to compromise to let traitors in. im not going to support this. im going to stand against it to every degree necessary. do i make small exceptions? yes, its unavoidable. do i resist it ferociously? yes, i have for years.
and so should everyone else, really. but i realise, i mean its realistic to say, most people arent going to fight this-- no one (not even myself) is going to fight it 100%, because its as practical as saying "okay, im going to fight capitalism-- by NEVER USING MONEY AGAIN!"
thats not an effective way to fight capitalism. and NEVER using anything from github isnt the way to fight github.
but thats no good reason to do nothing. im not calling for half-arsing this. something is better than nothing, and more is (for the most part) better than less.
100% is impossible. when things are getting better, rather than still getting worse, thats what we should be fighting for. even if its 5% tomorrow and 8% a year later-- that would still be progress. slower progress, if not settled for, begins to lead to faster progress. this is not a suggestion to crawl, but crawl if walking isnt possible. walk if running isnt possible. run if flying isnt possible.
> "crawl, you fools!"-- gandalf during harder times
fighting (less than 100%) isnt impossible. and assuming its pointless-- truly pointless, wont lead to progress.
nor will most other things. its a tough fight, but for those who really care about software freedom-- theyre going to try to find a way.
be more sceptical of larger software-- larger software will never be free as long as ibm (who control gcc) and microsoft (who control far too much of gnu) are strong.
larger software is really never free. you cant fork it, you and your friends cant fork it-- we are figuring out with projects like mate and trinity (and openbsd) how large a project can be viably forked once the developers no longer care. openbsd is bigger than mate or trinity, but its also a complete operating system. larger bsds are relatively non-free, btw. this fits my thesis on bloat. its also why linux will be / is non-free.
mate and trinity are just shells, really-- i mean, they have lots of features and include toolkits that can be used for applications, but theyre definitely less essential than an operating system.
someday we can fork bigger projects (than these) if the free software movement is rebooted, or capitalism fails itself, but right now we are still seeing if gnome 2 and kde 3 are really viably forkable. those are experiments. and laughably, and/or sadly, mate is github anyway. but lets put that aside for a moment to examine forkability at least. since its on github mate should be forked too, but who knows if that will happen. the fact that its larger and therefore less forkable in the first place means its harder to get away from github, too.
forks should ideally fork github dependencies as well. but thats tricky even if its ultimately necessary. i mean, at the very least a project that needs libffi or github-based png dependencies (read: every graphical application that exists more or less, including gui applications) should be mirroring the dependencies so they dont have to use the github sources directly. that means no one else has to use the github sources directly.
but thats the thing. once progress is made, we have to keep going. we can either do it all at once, which is impossible, or we can do it a step at a time and then-- most importantly-- not pretend that stopping there yields a result that justifies any of the effort we put in in the first place.
for it to mean anything, we have to keep going.
but if we dont even get started, we might as well never say "free software" again.
because it isnt. its software created mostly through free labour, which exists PRIMARILY for the whims of corporations.
thats not free software. thats SLAVE software-- github is a software sweatshop, exploiting cheap labour. theyll pay a few people and get countless workers out of it, thats an incredible scam. its an even bigger scam than the industry was when the gnu project started.
maybe the best reason to fight this is it means youre not supporting this lie. systemd and github made liars of the entire movement-- thats the JOB theyre meant for, and supporting that job is a terrible idea.
so yeah... im not going to call fighting that pointless. i may be cynical, but-- im not THAT cynical. people who only fight if they KNOW theyre going to win, forfeit any real chance of winning. you cant convince everyone its a sure thing-- you NEED the ones who arent going to be sure. im not even sure.
all the fights worth fighting are uncertain ones. its just a flimsy excuse for apathy, it deserves no credence whatsoever.
if all else fails, the same excuses would have kept the airplane from being invented. they would have kept us from making it to outer space. sure, thats a cliche. but its true nonetheless. ultimately, apathy and lasting surrender are unscientific, and rely on dogma. and the corporations that now control free software, would love for you to believe that shit.
license: 0-clause bsd
# 2018, 2019, 2020, 2021, 2022
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted.
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.