free software, free culture, free hardware
Neolibre: Free Software in the 2020s[lit]
[replacing]Thats/That's,thats/that's,microsoft/Microsoft,grace/Grace,hoppers/hopper's,hopper/Hopper,general public license/General Public License,united states constitution/United States Constitution,united states/United States,free software definition/Free Software Definition,java/Java, turing/ Turing,github/Github,roman/Roman,oprah/Oprah,openoffice,OpenOffice,apache software foundation/Apache Software Foundation,isnt/isn't,halloween/Halloween,apple/Apple,ibm/IBM,free software/Free software,red hat/Red Hat,gnome/GNOME,debian/Debian,Whats/What's,nokia/Nokia,linux foundation/Linux Foundation,"i /"I ,theyll/they'll,theyre/they're,windows/Windows,lxde/LXDE, os / OS ,gnu operating system/GNU Operating System,linux/Linux,gnu/GNU,drm/DRM,Drm/DRM,gopher/Gopher,pale moon/Pale Moon,icecat/IceCat,cecat/ceCat,mozilla/Mozilla,firefox/Firefox,ozillas/ozilla's,dns/DNS,-https/-HTTPS,(doh)/(DOH),libreoffice/LibreOffice,oracle/Oracle,sun mic/Sun Mic,october/October,canonical/Canonical,open source initiative/Open Source Initiative,eric raymond/Eric Raymond,raymond/Raymond, osi/ OSI,bruce/Bruce,perens/Perens, ian/ Ian,murdock/Murdock,unix/Unix,dont/don't,gpl/GPL,stallman/Stallman,richard/Richard,linus/Linus,torvalds/Torvalds,christmas/Christmas,volkswagon/Volkswagon,alan/Alan, tom / Tom ,asnt/asn't,githug/Githug, im / I'm ,youre/you're,bourne/Bourne, ada / Ada ,lovelace/Lovelace, mit/ MIT,daniel/Daniel,quinn/Quinn,saddam/Saddam,hussein/Hussein,Weve/We've,january/January,x.org/X.org, cd/ CD,copyright act/Copyright Act,moon/Moon,Ive/I've,python/Python,wouldnt/wouldn't,didnt/didn't,couldnt/couldn't,bash/Bash[replacing]
this book is being written as plaintext. if youre wondering what plaintext is, look at the keys on your keyboard. the letters, numbers and symbols you can type (as well as the tab and spacebar) are all plaintext. there is no *bold*, there is no /italic/, there is no key to change the colour.
instead, [lit]*bold*[lit] is typed to make the text bold. [lit]/italic/[lit] is typed to make the text italic. and a [ lit ] tag (without the spaces on either side of the word) is used to show you the [lit]*bold*[lit] and [lit]/italic/[lit] codes without them actually making the text bold or italic.
*the father and fatherhood of free software*
software itself has many mothers and fathers-- from alan turing, to grace hopper-- to the mother of all software, ada lovelace. it was lovelace who invented the loop, without which turing would have no turing machine. it was hopper who, among other vital pioneering achievements, made programming languages readable by everyday people.
and until 1980, the united states did not make it possible to copyright software code. due to the wording and intent of the united states constitution, many things are considered so "practical" that they are not copyrightable. in 1980 software became copyrightable in the united states, and microsoft's powerful monopoly had started to grow.
this was not the only example of software becoming more restricted. from proprietary versions of unix shipping without source code, to programmers signing non-disclosure agreements that forbade them from sharing what they worked on for software companies, the unfettered collaboration that was possible in the 1970s was coming to a halt-- and richard stallman moved to the front lines of the fight to make software free again.
it is often said that the word "free" is confusing because it has two meanings. this is often said by people who type and click on an "apple". i bought 2 kg. of the things, but i couldnt get any of them on the internet-- then someone told me that they meant a computer! so i agree, this kind of ambiguity is a serious problem.
when youre not restricted from making copies and changing the software, it's true that the natural price (for copies) of software hovers near zero dollars. you can make all the copies you want "for free", or as some people say, "gratis". but this is a side effect of freedom, the thing that makes the software "libre" or "free software". some software does cost money to develop (or liberate from previously non-free software) but people are encouraged to donate time, money or code to the free software movement so that one day, all software can be free.
in this environment, it is still possible to make money writing code, but the model is different. paying people as a thank-you, or to encourage them to write more, is more likely to produce a business model (typically a modest one) than selling copies when anybody can make their own. for contrast, red hat created a support contract model for free software that grew their company into the billions-- but the commercial exploitation of software development comes second, when all software is free as in freedom. the primary goal of free software isnt to make money, it's to free the user.
stallman began with an editor, a compiler and a new type of software license.
*a free editor*
my editing needs are fairly simple-- but they exist in an environment where i can open more than one window, where each window can have more than one tab, where i can select text using arrow keys or a mouse. in the 1970s, people had a keyboard and were lucky if they had a screen.
before the microcomputer revolution, many people still accessed computers via something called a "teletype", which looked like a typewriter and a volkswagon had a baby. the paper was the "screen", and the computer talked to the user by printing out text.
video screens were predominantly text-based as well, and a great deal of interaction involved the screen simulating the teletype paper-- text would start at the top and as it reached the bottom, the text would "scroll up" so each line that advanced could appear on the bottom row.
video teletypes, which like their paper counterparts served as both keyboard and screen, could be connected to the computer either locally or over telephone lines. the actual computing was not done on the teletype-- only the screen output and keyboard input-- which it would receive from, and send to the computer.
video teletypes gained control codes for features like moving the cursor anywhere on the screen, or (on capable screens) changing the colour of the text. computers gradually started incorporating graphics, and all of these developments changed what editors were capable of.
richard stallman was working (and living) in the artificial intelligence lab at mit, where lisp was an important computer language. so he created a highly-customisable editor called Emacs, which you could modify using macros written in lisp.
emacs would become one of the first computer programs offered as free software.
*where to start, when building an operating system*
today, if you are writing an operating system, one of the first things you will likely do is obtain a compiler. computers dont speak program code; everything they do is controlled by a very terse language based on numbers. writing a program in this terse language is possible, but very tedious. one of grace hoppers great contributions to the modern world was to create a "compiler" that translated less tedious program code into the terse "machine language" that computers speak.
just as editors got more sophisticated over time, so did compilers and computer languages. stallman chose to create an operating system that was compatible with the popular unix operating system, and he called his system "gnu"-- which stands for "gnus not unix". the gnu system is like unix, because it was designed to work with and work like unix programs. but it's not unix, because it was built from unix documentation rather than existing code. the fact that one of the words in the acronym for "gnu" is itself also "gnu" gives you an idea of the sort of joke that programmers find humourous:
"why do programmers get halloween and christmas mixed up?"
"because dec 25 is oct 31!"
if youre creating an operating system thats based on unix, you probably want a compiler that works with the language unix was written in-- that language is C. so stallman looked for a passable C compiler that wasnt saddled with a bad license, which he could use to create a better C compiler as part of the gnu project. GCC, or the "gnu C Compiler" (today, the "gnu Compiler Collection") was born.
each component of the unix operating system was then recreated as free software, including the "bourne shell" for unix (named for its author). this is a program that lets you type commands into the computer to run directly-- for example, to run the Emacs editor, you would simply type:
and hit enter. the name of this shell for the gnu system is "bash", for "bourne-again shell".
the copyright act of 1976 didnt go into effect until january of 1978. one of the changes it brought was that all copyrightable works were now copyrighted automatically-- without registering the work. this meant unregistered works (such as software, starting in 1980) were no longer in the public domain by default-- they were "all rights reserved" and controlled by the author. but what if you dont want to control the software you write? for this, stallman had a plan.
*a free license*
a gnu editor, gnu compiler and gnu operating system needed a gnu license. the license that would become a cornerstone of free software development was the gnu gpl, or "general public license". unlike most licenses, which are written to restrict the user, the gpl was written to bestow the user with certain freedoms:
0. the freedom to use the software, for any purpose
1. the freedom to study the software
2. the freedom to share the software
3. the freedom to change the software
these freedoms, which became the central feature of the free software definition, are ultimately what turn software into "free ('as in freedom') software".
when people talk about free software being threatened, they are talking about these four freedoms being compromised.
*do we need a fifth freedom?*
although this book starts with the history of free software, it does so to establish the direction it has gone in and the direction it needs to go in, to reestablish freedom in this century.
one of the often unsung heroes, or pillars of software freedom-- is modularity. modularity was simply a design principle of unix. it made it easier to port (translate for other computer systems) and easier to modify, easier for the user to control. without some degree of modularity, free software may have never had the success it has today.
stallman is understandably averse to adding to the free software definition if it is not necessary to do so. it isnt the four practical design principles, but the four freedoms. they are all about the freedom of the user.
nonetheless, when i challenged the community to describe four "pillars" (thank you, Tom) on which the four freedoms are built, the best reply i got was from Peter Boughton-- who managed to enshrine the principle in terms of a freedom:
[lit]"The freedom to NOT run the software, to be free to avoid vendor lock-in through appropriate modularization/encapsulation and minimized dependencies; meaning any free software can be replaced with a user's preferred alternatives (freedom 4)."[lit]
you may have noticed that the "four freedoms" are numbered 0 to 3. some people assume this is because programmers often use a 0-index for arrays and counting (counting starts at zero.) freedom 0 was actually the fourth freedom added to the list, but it was put first because all the other freedoms are moot without "the freedom to use the software".
you could easily argue that the other freedoms already /imply/ the right to use the software-- so why add it to the list? one likely reason is the introduction of drm, or user-restricting encryption made it important to reinforce the right to use the software. drm can also restrict the user making changes to the software on the actual system that runs it, which is freedom 3.
i would similarly argue that the closer you get to forcing someone to use a piece of software, the farther you get from being able to change the software. although this requires a less-than-black-and-white interpretation, so does the enforcement of the gpl that forbids "obfuscated" code. there are precedents in free software that make the concept of the fifth freedom worth serious consideration, despite any predictable knee-jerk refutations.
along with the fact that my office suite is now controlled by microsoft, the need (at least, the desire) for a fifth freedom is one of the modern free software stories that needs to be told.
*for the want of a kernel*
the linux kernel was announced in 1991. if "linux" were about freedom, then they could have called the entire operating system "linux" without a problem. as it happened, linux was going to become a tool of corporations, of monopolies-- it would be years before that mattered, and the gnu system needed a kernel.
writing the main component of an operating system isnt easy, and the gnu project had started work on a kernel just the year before. 6 or 7 years in, the gnu project had replaced most of the other features of unix; but linux had a simpler design than the kernel designed for gnu, and was easier to work on. this became a major advantage for the linux kernel, which quickly overtook the free software world.
people started pairing the gnu operating system with the linux kernel, and calling the resulting system "linux". free software advocates were urged to call the resulting system "gnu[lit]/[lit]linux" so that people understood where the system came from, and why it was developed-- to free the user. it was the beginning of years of disagreement and debate.
*a way to promote free software*
in 1993, the debian project was established, and within a month produced the initial release of the debian gnu[lit]/[lit]linux operating system. ian murdock was the first debian project leader, followed by software developer bruce perens. perens wrote the Debian Free Software Guidelines, or DFSG.
within 5 years, a group of individuals came up with a new way to promote all this new software-- they called it "open source", and perens with eric raymond founded the open source initiative. this was the beginning of many more years of disagreement and debate.
open source, by design, did not stress the freedom of the user or the ethics of development. it focused on the methodology and practical advantages of "open" development. perens felt it was a way to promote free software, but a year later he resigned from osi, citing that open source had overshadowed free software, and that "this was never fair."
one of the things published by the open source initiative was a group of documents leaked from microsoft detailing how to fight against free software. raymond added commentary and published these as the "Halloween documents".
distributions, or distros for short, are for lack of a better metaphor like the make and model of car. debian was one of the larger producers of a gnu[lit]/[lit]linux distribution, as was slackware. in 2004, mark shuttleworth founded canonical and by late october had released the first version of ubuntu-- a derivative of debian, which unmistakably pushed both debian and gnu[lit]/[lit]linux further into the mainstream.
just as many people had their own desires and designs when it came to editing text, many more had their own desires and ideas when it came to what a distro should be like. the number of distros continued to grow, with cynics saying that many were little more than another distro with a different background on the desktop. but as long as people had the freedom to customise and share their software, people tended to do that. some did this for practical reasons, others simply to teach themselves and learn more, and ego couldnt really be left out of the equation entirely.
for a cd that can boot into a graphical system even without a hard drive, you needed the gnu operating system, the linux kernel a bootloader, x.org to support the graphical shell, a window manager, a window manager, and some programs. to put it all together, you would typically set this up on one computer and then use a handful of programs to turn that setup into a bootable cd. it wasnt easy, but people took pleasure in creating distros. today, there are hundreds of actively maintained distributions-- many of which are still based on the original distro families, such as debian.
*hi, im mozilla-- you may have heard of me*
there are some applications that made it across to non-free platforms like windows and macos. these include mozilla firefox and openoffice. before so many users windows users switched to non-free google chrome, firefox was a cure for many woes with browsing in windows land. openoffice was, at worst-- the gratis version of (not quite) microsoft office that people could install if they didnt want to pay for microsofts version. it was somewhat compatible, certainly more than nothing at all.
eventually sun microsystems, owner of both java and openoffice, would be purchased by oracle. oracle wanted to make openoffice non-free, but most of the developers took the most recent free (as in freedom) version and "forked" the project, leaving oracle to their own plans. since they couldnt call the fork openoffice, they chose the name libreoffice. in the years that followed, libreoffice would become the superior (and more compatible) version.
oracle gave up and turned openoffice over to the apache software foundation. unfortunately, libreoffice (unlike openoffice) has also stopped making a 32 bit version. i still use a 32 bit os, because some of my equipment is still 32 bit and it works across both. openoffice is free software again, and supports both.
that marked the endpoint of mozilla really caring about user freedom, and the beginning of what amounts to posturing, gimmicks and irritating garbage that could sometimes be argued to help or even hurt the user further, such as dns-over-https (doh). there are noted advantages of dns-over-https, though they also centralise all requests for web addresses between one or two corporate authorities.
there was a time when people used mozillas software because they wanted to. by comparison, today a lot of people (including myself) openly hate firefox and everything like it, using it only because the alternatives suck even more.
i still recommend icecat over mozilla, though i dont recommend pale moon-- these are both browsers based on firefox. pale moon lies to the user about noscript, and the developer(s) are as arrogant and condescending about user concerns as any other developers of anything.
both mozilla and pale moon are bad for the user, but obviously it's their choice what to use-- good or bad. icecat helps with some problems, though it is loaded with plugins that make the browser a pain to use until theyre disabled (at least they dont impose further than that) and icecat will never remove all of the worst features of the browser.
the free software world has desperately needed a real alternative for years-- the web itself is now a broken, corrupted standard that includes drm, and something simpler (something between gopher and the web in terms of complexity) would be welcome among many geeks. nobody should enable drm on the web, or tolerate drm in ebooks (or their kernel) either.
*debian becomes undead garbage (no bias here, folks)*
until 2014, debian was the greatest operating system distro of all time. even the best (friendliest, most universally practical) fully-free systems were based on it. id used several debian derivatives in the past, but when i was losing a hard drive to a fairly stupid power-management issue, i found a variety of responses depending on the derivative.
one line, added on startup, would save an unknown number of drives from failure. debian added the line, and other distros made dumb excuses. as debian had isolated their non-free software to its own software repository, and separated non-free portions of the kernel so they werent included by default, i switched to debian.
years later, researching several ways to promote free software, i went around trying to convince people to try the gnu operating system or to dual boot it on their computer. as you can guess, most people werent interested. people generally dont want to change the os on their computer-- theyre trained by years of marketing and antitrust violations to think of the os that comes with the computer as "the" os for that computer. it isnt so, but since when was marketing really based on facts or truth?
eventually though, i found a solution. people often have computers laying around, which they no longer want, but they also dont want to throw them away. i would tell them i refurbish them and give them away to people-- which was true of course-- then put debian on them and wait for someone to have computer problems-- which people, especially windows users, do all the time.
a lot of people have fairly modest computing needs, not including gamers and those who use special software. i simply loaded up debian with lxde, then when someone had windows problems i would say "i can loan you a computer that works-- if you like it, you can keep it. otherwise ill be happy to take it back."
people are funny-- they think of getting a computer like theyre getting a dog. if you give them a computer, theyll assume that something is wrong with it-- and if theyre saddled with it, now they have two problem computers to deal with. so the first thing you do is alleviate the concern that theyll be stuck with the thing. "otherwise, ill be happy to take it back."
but once they have it and it works how they want, they dont want to lose it. "if you like it, you can keep it." calling it a loan means they wont have to pay for it, and they wont be stuck with a computer they dont want. they would keep the thing more often than i would get it back. if i got it back, it would just get refurbished again.
i also set up debian on some old computers in a homeless shelter, and kept them running. wifi wasnt a concern-- we ran cables, theyre more reliable. they didnt have to go far to get to the router. we didnt even have to go into the walls or ceiling.
but, i had one computer at home that i ran debian testing on. why not? debian was known for its stability and reliability, and the idea that testing wasnt stable was commonly known as "stable enough" but not for a production server.
one day i ran updates, and i rebooted-- im always curious if the thing will boot after an update, though usually this isnt necessary. it booted of course, but several things i had in rc.local (one of the startup files) didnt run. hmm.
note that on updates, debian makes a thing of telling you when it even changes the timezone information (to update it to whatever timezones have changed.) but for testing, it didnt even bother to tell me it was changing my init system-- which handles startup processes. sure, i could have looked it up in the notes. but i was running testing, more to stay up to date on what debian was doing next than anything else.
after some web searching, i found out what they were doing. first, they had replaced the init system. and by default, rc.local wasnt running at all. first i made sure that it hadnt simply changed the permissions-- this is something that affects whether rc.local runs or not. the more i learned about what had happened, the more horrified and disgusted i became.
i stopped promoting debian, not wanting to saddle any new people with this monstrosity, and devoted my time to finding a replacement. five years later, im still looking. when debian sucks, the whole free software ecosystem sucks. but in the meantime, i wrote a small programming language. then i used that programming language to create fully automated remasters (small-time distros or distro-wannabes, if you like) of various almost-good-enough options so at least i could have something as close to what i wanted as possible.
i even tried turning debian into something less horrible. the problem is, that like with mozilla, these projects that once cared about the user are being taken over and infiltrated more and more by monopolies. it does get worse-- and the idea of this book is what to do to reboot the free software concept, to get it running again. but i firmly believe that people need to understand the problem, to properly find solutions or even care about fixing anything. and there is plenty to say about the problem, when you arent trying to convince people who are either in denial, or simply full of crap.
*your freedom: 20 years in the unmaking*
nobody ever had a corporate monopoly without lies and dirty tactics.
once upon a time, one of the jobs of the government was to discover such tactics and spank the companies for it. sometimes, they broke up the company. other times, they fined them. and like a mischievous child who gets spanked a bit often, these companies learn how to get away with trouble with fewer spankings. microsoft has raised the art to turning profit from the "punishments" against them.
ibm is so infamous for its monopoly tactics, that books are written on the subject. microsoft has also published the equivalent of books, across many corporate memos centred around the idea of fighting and destroying competitors. some of these tactics, by themselves, are to be expected. but the tech world has watched microsoft first infiltrate, then gut, and finally take control and literal ownership of companies to maintain their monopoly status-- a status which having is itself a crime. but it learned many of these tactics from ibm.
one of the several collections of leaked memos from microsoft was mentioned earlier-- the halloween documents. if those dont turn your stomach, you should read the ones from comes v. microsoft, for an even more cult-like tone and pure lack of shame or ethics. these are sharks, who present themselves in marketing as kittens (more recently, the linux foundation tried to compare them to a puppy.)
the halloween documents are from 1998, and most would consider them "old news" by now. the problem is, they describe so much of what happened in 2019.
one of the most important aspects of maintaining your monopoly power, is to paint yourself as the opposite of a monopoly. instead of admitting that youre ruthless, you play a victim just doing what you have to do to get by. instead of saying youre an infamous patent troll that enlists the services of other infamous patent trolls, you take over a patent-sharing collective and paint yourself as a reformer. not only do the halloween documents bear incredible similarities to the things that these companies are accused of recently-- so do their actions, when you ignore the marketing spin that paints these corporate behemoths as some kind of spunky new tech incubator.
the best (or at least, the most arrogant) enemy in the world acts like theyre a friend, and everything they do to weaken and ultimately destroy you is really a favour of some kind.
people who assume this is all about money, may find it difficult to explain why a company would throw so much money away at long term goals, while having every appearance of caring only about the next quarter earnings. what evades them is that money is not worth as much as controlling the customer. if you can get lock-in and loyalty from customers, you can milk them for a lot more in the long term.
as osi-cofounder eric raymond said in the halloween documents:
"If publication of this document does nothing else, I hope it will alert everyone to the stifling of competition, the erosion of consumer choice, the higher costs, and the monopoly lock-in that this tactic implies."
tech companies arent the only ones who choose long-term control of the market and customer over short-term profit. it's well established that companies like wal-mart will exploit their own vast wealth and corporate power to drop prices below what any competitor can sustain, driving them out of business, so they can raise prices and gain monopoly-level profits in the consumer void theyve created.
microsoft has always fought for monopoly power, and generally succeeded. their tactics were brilliantly successful in fighting other versions of dos, against java, against nokia-- when Sysinternals was the best gratis software you could get for windows, microsoft swallowed that up as well, proving that if you cant beat them-- annex them.
of course corporate aquisitions are part of corporate existence. but microsoft acts more like the mcp in the original /Tron/ film-- aquiring everything that threatens the behemoth in the slightest, most insignificant way. it is where software and companies go to die. they know this, and the open source initiative knew it: [url]https://antitrust.slated.org/halloween/halloween1.html[url]
[lit]"What the author is driving at is nothing less than trying to subvert the entire 'commodity network and server' infrastructure (featuring TCP/IP, SMTP, HTTP, POP3, IMAP, NFS, and other open standards) into using protocols which, though they might have the same names, have actually been subverted into customer- and market-control devices for Microsoft…"[lit]
"The 'folding extended functionality' here is a euphemism for introducing nonstandard extensions (or entire alternative protocols) …even though they're closed, undocumented or just specified enough to create an illusion of openness… while simultaneously making the writing of third-party symbiotes for Microsoft programs next to impossible."
"We've seen Microsoft play this game before, and they're very good at it. When it works, Microsoft wins a monopoly lock."
the many tactics, both in subverting organisations and software development itself-- are well-documented. people pay more attention to the hype, which say this is about "innovation" and even "love"-- not control and lock-in.
the same tactics used against non-free software companies take longer to adapt to free software, but through exploiting "open source", these companies have managed to try to kill free software with "kindness" (and lies, and manipulation) and had something not unlike their typical trademark success.
"One 'blue sky' avenue that should be investigated is if there is any way to turn
Linux into an opportunity for Microsoft."
"A more generalized assessment of how to beat the Open Source Software process which begat Linux is contained in the 'Open Source Software' document."
"Systematically attacking UNIX in general helps attack Linux in particular."
*freedom vs. choice*
a popular mantra these days is that freedom is greater than choice. on the surface this is most certainly true-- choosing to be digitally handcuffed is the polar opposite of telling a genie that you "wish for more wishes". some choices are better than others, some are terrible, but if you have freedom, the possibilities are endless.
whats very wrong with the "freedom is greater than choice" mantra is that it's being used to dismiss the blatant efforts to eliminate choices for the user-- the stifling of freedom is being painted as a mere reduction in choices, as if that were a bad thing.
the thing is, greater freedom in anything but the most glib sense of it-- pretty much guarantees that you will have more choices, if only as a side effect. if choices are disappearing left and right, thats a canary in a coal mine-- with a tiny loudspeaker in his claw, yelling "get out!"
people trying to eliminate your choices are not friends of freedom-- theyre allies of monopoly and control. and if they gloat about it, such as developers and fanboys of systemd, the new debian regime, and gnome too frequently have, if the reduce such concerns to mere "whining," then youre dealing with sociopaths and narcissists. these people will *never* care about your freedom-- theyre working hard to exploit users and destroy your freedom.
you would expect free software to do something about this, since it is an existential threat for the entire free software ecosystem. the fact is, that people have worked very hard to fight this. but from every corner, the corporate hyenas have come out of the woodwork to denounce freedom and cry out that the corporations have won-- we have no choice, lets make the most of this...
you know what? lets not.
*the githug of death (credit to tom for that)*
the halloween documents said, to destroy free software it was necessary to target "a process rather than a company." for the most part this is true, they have targeted several processes-- within development, within organisation, even within discussion. but one of the best takeovers was to target a company, or two-- github, and red hat.
red hat was even mentioned in the halloween documents, though it would be ridiculous if they werent. they quickly became the largest company exploiting free software, and they were full of people who worked to change the software as well. after so much of the community moved to github, it became a prime target for microsoft who purchased it for billions of dollars. i immediately predicted that red hat was next, just months prior to ibm buying it. microsoft, as i had guessed, was considered as a buyer. though it did go to ibm.
today, the original flagships of the most fully-free and stallman-approved distros carry, or will carry a core system that is controlled by ibm and hosted at the mercy (or greed) of microsoft, on their own servers. the free software community has largely, but not entirely ignored this. although free software was not designed specifically to free people from microsofts clutches-- rather the clutches of all monopolies, many of us worked hard to leave the lock-in and fad-driven fashion of corporate microsoft culture and narcissistic apple fandom and free software was the cure for that disease.
today, unless we stand against the halloween documents becoming a true story and historical account of what went wrong, we will only end up back in the grasp of microsoft and ibm, their endless patent war on every developer in the world, and their commitment to drag users kicking and screaming through whatever bullshit they wish to subject the world to.
this is not freedom. it doesnt even look like freedom. this is why it's so depressing that microsoft owns and controls so many projects-- by my guess, about 4 out 5 of the projects that mattered to so many of us, moved to github prior to or even after the aquisition. sadly for me, this includes openoffice and everything else from the apache software foundation. ill miss you, old friend.
the roman empire was known for "decimating" the enemy, or reducing it to 10% of its size. with github, microsoft has "dodecimated" our control over free software, and gained more than a majority. pwnage isnt even the word, we are dead. we died, we are done. to have anything approaching what we had in 2013, will take years of rebuilding-- given that it's 2020, and people have spent 5+ years trying to restore things to where they were in early 2014, i would say (conservatively) it will be another 5 to 10 years before the damage of github is undone. prove me wrong, wont you?
one of the efforts to free our software from the githug is an idea called Gitgnext. tom explains it this way:
The motivation behind Gitgnext arose out of a concern - a serious concern regarding a problematic situation:
"We can all agree that the _raison d'être_ for our technology industries is profit. And a fair and logical progression from that premise would be that industry is motivated to make a profit from Free Software. My understanding is that the tech industry, much as a whole, is looking at Free Software as a resource for exploitation. Exploitation and intervention by profit-oriented technical industry in Free Software will destroy it.
Now let us consider one particular perspective to the meaning of the term 'Free Software': Freedom is a practical matter, which is to say it is _realized_ only in practice. As regards software, it is not the software which is intrinsically free (software does not care), it is the users[lit]/[lit]developers who become free upon their use of the 'free' software. If the users' ability to use the 'freeness' licensed in a software project is _in any way_ impacted, it is the users who are losing some portion of _their_ software freedom.
Heretofore, the major mechanism for the protection of Free Software, Users, and their Four Freedoms, has been the GPL. And the GPL has worked very well. This may have led to an over-reliance on this single device. Entities which strive to take advantage of the vast resources encompassed by the FOSS ecosystem have been searching for ways to better benefit themselves beyond that which is given to them by the GPL and the Four Freedoms. They seem to have found some ways – and one of the primary ways to extract value from and decrease the freedom in Free Software would be the mechanism named 'GitHub'.
GitHub conveys to Microsoft more and more _control_ over Free Software. Software _licenses_ can indeed remain as-is, but yet a non-free development environment can make the software far less free. First and foremost all software submitted to GitHub and the users thereof become part of Microsoft's _surveillance capitalism_, where individuals' behaviors are collected, collated, analyzed, and utilized. There are innumerable things that Microsoft can do with this data, none of which are contributary to software users' freedom. And there are serious concerns that GitHub can also be used as an anti-Free Software weapon. One way, already evident, is to discount the importance of the software's licensing. Another major concern, also already evident, is that of software censorship. There are already instances where software is being censored from GitHub, and the frequency of this activity is likely to increase.
GitHub is unacceptable as a center for Free Software, and it need not be accepted. The impetus behind Gitgnext is to provide a haven and center for Free Software, so doing providing a nexus more attractive than GitHub. Gitgnext will focus on the needs and interests of Free Software, and will replace GitHub as a platform dedicated to the Free Software community."
one of the nicer ideas about Gitgnext is peer-to-peer hosting of repositories. hopefully we will be hearing more about Gitgnext in the future.
*oprah is handing out bans like free cars*
ok, so not oprah. but certainly everybody else. everybody is getting cancelled from their own creations-- guido from python, raymond from osi, stallman from his organisation, torvalds from the linux foundation.
not only that, but some of us predicted this. there were patterns that seemed to converge nowhere else but here, and here we are. until more people understand this problem, nobody is getting uncancelled. many will be too depressed or dissatisfied to continue the same level of work they were doing-- others will simply be unable to in the isolation that was imposed on them.
this is all being done in the name of the greater good. bollocks-- this is all being done with deliberate lies.
there are two ways to fix the cancellation plague. one is to remove the corruption-- easier said than done. this isnt simple; the corruption is somehow in many places at once. if people cant cure the plague, the options are escape and immunity.
we want stallman to have more options. we can provide them. we want people like torvalds to not be replaced by the sort of people they want to replace him with. torvalds always was a sellout, but not half as much as other people who will take his place. considering that perens admitted that raymond had a plan to cancel stallman years ago, people might decide this is simply what he deserves-- to be hoisted by his own petard. but that misses the point that this is a problem for many of us, and one we want cured. whats most useful to us about what happened to raymond is that hes one more example of what happened, and the problem we need to find a solution to.
the solution may not be easy, but the problem is simple enough. we allowed our venues of expression to be thought-policed, and the thought police took over. in the united states, there is supposed to be a thing about separation of powers-- the judicial vs. the executive vs. the legislative. but in a corrupt regime, power consolidates and rules with unprecedented injustice. of course they still call it "justice" when in fact it is the opposite. whoever heard of a self-billed injustice system?
to be immune to such dishonesty and corruption, requires alternatives. that way when stallman is stripped of access to one venue, he simply attends the others.
by extension, the very idea of consolidating venues-- of sliding into monopoly control, is the thing we have to be the most guarded against. we lost a great deal when we put all our projects on github-- some of you were smarter than that, and we should be grateful you were.
if thats true for hosting free software, it ought to be true also for promoting, guarding and advancing free software. it's true that for-profit corporations get purchased by other for-profit corporations all the time, so it's foolish for any free (as in freedom) project to rely exclusively or primarily on a for-profit source repo in the first place. but while going non-profit for hosting is a best practice, it is not immunity. we are finding that non-profits can be "bought" as well-- in practice, if not in theory. (you read that correctly).
the internet was designed on this concept as well. if you want the connections to be reliable, even when attacked, the best way to do that is to have multiple nodes and multiple routes among the nodes. if we want to reboot free software, we too need more nodes.
for too long we have measured success in size and marketshare. that fallacy has served monopolies quite well, in terms of both image and their ability to co-opt our work and our organisations. it's almost like writing the rules so that they come out on top, and we have to be more like them.
what we ought to do is measure success in resiliance-- truly modular projects do not suit monopolies, they even said so. the goal of every monopoly exploiting free software is to create lock-in, to make people use (or require) things they dont want to.
when this is stated, many people object that software needs software to work. every coder knows this... but the problem isnt that dependencies exist. the problem, which is newer than dependencies, is that the more and more you tie those dependencies together, the more encumbered the user and the platform then becomes. the monopolies get their lock-in, and from there they are ready to take over the rest of the organisation.
controlling the discussion-- a goal of many new initiatives-- means controlling the organisation, which means controlling the software, which means (as stallman always said) controlling the user.
the license does a lot to put some control back in the user's hands. they can modify the software, or find someone else who can modify the software.
but if you tie enough of it together, both in terms of the software design and the corporate dependencies as well-- you can make a system (whether we are talking about software development or corporate policy) that is too heavy for ad-hoc communities to manage-- a system that only a corporation can control. and that is where we are today, allowing these corporate masters access and rule over the very things we created to get out from under their control-- the precise opposite of what free software enabled in the first place.
*unbanning our true leaders*
we talk about this a lot, both in practical and political terms. once the explicit goal is greater autonomy from corporate rule, and we take just enough freedom for ourselves (obviously through unofficial channels, as the official ones are bought and sold already) to be able to even have a frank, unfettered discussion about it, we can start to work around the stupid limitations weve allowed ourselves.
in fact, many people have already started working on that. but cancellation is not a single event, it is gradual. so we have entire communities that are being gradually shut down, increasingly moderated, and more and more converted into philsophical pablum and corporate bureaucracy designed to stifle ideas, creation, problem-solving and honest assessments of what is actually going on.
as with slavery, advanced oppression does not simply come from the top when it is endemic. advanced oppression enlists the oppressed to police themselves on behalf of the new regime. debian for example, is full of house slaves that look out for their masters, instead of their community. putting it in these terms offends people-- but so what? what should really offend people is that this system is emulated, not that it is discussed in such frank terminology.
imagine going back to the 1800s and finding it impossible to discuss the problems of slavery because it might offend a freed slave. slavery is what you have when you dont have freedom, and people should be offended by the act itself, more than the word. the act itself will always offend good people, no matter what we call it. the people who dont allow these things to be discussed do not have the right to censor or silence those trying to solve the problem.
and yet exactly what weve built is a system that puts those concerns first-- the concern that someone might talk about the enslavement of users and exploitation of the very organisations we built to make people more free.
*leaving the corporate plantations*
if corporate masters take over our "lands"-- or getting back to the present, if they hoodwink our friends and co-opt our organisations, then we must escape and build new ones. these new organisations should put individuals (real people) first, and lying corporate bullshit last. of course this wont be as pleasant as being lied to all the time. obviously people like being lied to sometimes, or they wouldnt stay where they are now.
leaving is a loss, and there is a great deal of very natural fear associated with it, leading to great denial. the more advances that are made in the "new lands" that we cultivate, the more people will see that it is not all desperation and poverty-- but the freedom that we used to have, that drives us away from the monopolies and back towards greater autonomy.
and we know that when we have that freedom, we wont all express it the same way. we wont all use the same text editor, the same desktop, the same so-called "init" system. the idea that one of those will suit everyone is pure cult nonsense, only we wont have that cult anymore, because it will cancel us-- and we will go willingly.
because if you are cancelled from a monopoly, you lose everything. but if there is no monopoly, then you just go from one venue that doesnt have everything, to another that doesnt have everything. and a world where no one entity has everything, is the only way that people can ever have real equity, freedom, or fair exchange and collaboration.
stallman solved one of the largest parts of this problem with a license. as long as the license holds, we have the freedom to take some or all of our software with us, wherever we go-- just like the document foundation did with libreoffice.
but what happens after that, still depends on how much gratuitous interdependency our software designs have, and how much corporate interdependency our organisations have. we have seen what happens when we overdo those, or tolerate those being done excessively.
obviously, these companies have worked for years against that the freedom created by stallmans license, with the owners of github (microsoft) and the owners of red hat (ibm) continuing to sue people over bogus software patents to this day!
these are not our allies. they stand against free software, and against software freedom. and they control far too much already.
dont let them control your speech and the way you perceive the world (or the internet) as well. they do not have your interests at heart. they do not have a heart at all-- but you do. all you have to do is follow it to freedom. the more people who go, the more the words "free as in speech" and "free as in freedom" will mean once again.
*we could use more coders*
steve jobs said that everybody should learn how to code, because it teaches you how to think. i was never a fan of apple in the 80s, i thought they were stupid things with stupid marketing. however, like many machines of the time, when you turned the apple ][e on you were greeted with a prompt like this:
(thats a little rectangular cursor next to it.)
what /was/ cool about that prompt is that it wasnt just for loading and running pre-made programs. you could also enter code into it.
many 8-bit machines booted directly to Basic, including the extremely popular Commodore 64. although Basic is much derided, some even saying that it will ruin your opportunity to learn how to code properly, it was the first language that linus torvalds learned. and his first program went something like this:
10 PRINT "SARA IS THE BEST"
20 GOTO 10
compare that with the equivalent in Bash:
while [[ 1 ]]
do echo "SARA IS THE BEST"
programming languages range from the beginner-friendly to expert level, with many different places in between being represented in the professional world. basic was never designed as a professional language-- it was designed to teach non-computer majors at university. it proved so easy to teach, that it spread to secondary and primary schools.
you can still learn basic if you want to, but other languages good for education include logo and python. logo is one of the most accessible languages, provided that you only want to do graphics. it has other features, less-often used, but they are not as friendly for beginners.
some of the features that make languages friendlier:
1. a small number of commands makes the language less threatening to beginners.
2. while some coders like to have lots of punctuation in their program syntax (grammar) this is something that beginners get caught up on frequently, and it can be drastically reduced.
3. many people are math-phobic. all computing is numeric, but making languages more abstract can help with this.
math was never my strong suit, but my first program was not vastly different than the one torvalds wrote. lets take a quick look at it:
10 PRINT "SARA IS THE BEST"
20 GOTO 10
if you cant tell what it does from the wording itself, lets remove the first statement and keep the line numbers:
20 GOTO 10
you could actually change the program like this and it would work the same:
2 GOTO 1
the only thing important about the line numbers is that they go in numeric order. the reason that basic was typically numbered by tens is so that it was less trouble to add other commands in between. you could just as easily go by 5s, 100s, 2s or 1s-- as long as the numbers were in order.
the command GOTO 1 simply tells the computer to go back to the line numbered 1. the effect this has is that it runs the first command, then the second command says to go back, then it runs the first command, then it says to go back, then it runs the first command...
this is the loop that ada lovelace invented. (thank you, countess!)
and what the first command does is this:
PRINT "SARA IS THE BEST"
that simply takes the text in quote marks and puts them on the screen. basic was one of those languages that was often used by teletype, so the PRINT command was often more literal. but the word /print/ has other, similar meanings-- it means "to write out", and even on a screen, the command /writes out/ text.
languages designed for education tend to look for the areas where people have trouble, determine if those problems are really necessary for the language to have, or whether theyre trivial to fix. then they try to fix them.
while some coders consider the line numbers to be the easiest way to understand a loop, this sort of construct is more popular:
this is basically the same program, but it doesnt require line numbers. "loop" tells the computer to go back to "do", just as GOTO 10 told the computer to go back to line 10.
one of the nice things about learning to code, is that unlike typical language learning, your first concern **isnt** to memorise the language. if it helps, you can have a "cheat sheet" right next to you while you work, with the commands you use most on it, so you dont have to keep looking them up. lots of beginners do this! instead of trying to memorise the language, they stop using the cheat sheet when they discover they no longer need it.
ive long thought that due to the number of teachers (even computer teachers) who struggle with learning to code and thus, teaching to code, that we should work together with teachers to develop easier languages. we should also focus a little more of our efforts to teach coding on teachers in particular, so they can better assist their students. it's not that people cant self-teach, but for many, their school is their first experience with coding. we want that experience to be positive for all involved.
for lack of a more detailed explanation, the way you create a programming language is to input text, change it, and then output text. translating computer languages is easier than translating natural human language, and you basically "just write a program" that does it.
but you dont have to write a language, to learn how to code. you simply have to find a friendly, simple enough language to get the concepts. i count 7 of these concepts:
4. basic math (addition, subtraction, that sort of stuff)
we wont go into these in any detail here, though the example from torvalds (which lots of people learned in school as a child, not that he didnt become an extremely important coder later on) *already covered* loops and output. these are very simple concepts, they are just unfamiliar to some people and have to be introduced-- like any unfamiliar concept.
our example of output is simply "putting stuff on the screen" and thats not a difficult concept at all. the information is in the program-- and when it goes onto the screen, it "escapes" the program into the real world, where we can benefit. it's all well and good that a pocket calculator can add two very long numbers for you. but thats often useless, if it cant tell you the answer.
input is the opposite, of course. it's nice that the computer can add even longer numbers for you, or do countless other things with them, like display a webpage or move the mouse cursor around, but these too are relatively useless if you cant tell the computer what page to go to. input is when information from the real world (or simply outside the program) gets in. so a very simple example is pausing the program so you can type a line of text-- or an email, or text message.
the "tricky" concepts are loops, conditionals and functions. but weve seen a loop, and it's not terrible. ada lovelace invented it before she even had a computer to try it on. a conditional is basically like when you tell your friend thats going somewhere "if joe is there, tell him i stopped by but he wasnt in." and a function is sort of like a short list of smaller tasks.
if you choose to learn coding, you really can avoid most of the things people assume will be bad about it. the point isnt to make everyone into a professional software developer. coding for a living isnt generally as fun as coding for other purposes. but knowing how to code will make the world more computer literate, and it will also increase the number of people who can ultimately contribute to free software development.
not that there arent other ways to contribute, there are-- but this one is important, and we really dont have enough people who can do it yet. schools have spent many years letting people down when it comes to computing. they are largely in the microsoft customer training business-- this is by design.
teaching computing, even on a grade school level, is better than just doing application training. in the 80s, people actually taught computing. it was accessible. we can make another generation of computer literate people, but we cant have education hijacked by people selling office software again. nicholas negroponte, founder of one laptop per child and pioneer investor in wired magazine, loudly denounced the latter as a denial, rather than a boon, of modern education.
although my languages are educational languages, designed to be simple and modest, ive used my favourite among them to do tasks like remixing and modifying operating system distros.
everything computers do can really be described with those 7 concepts-- and most "coding" is really using pre-made functions from collections of commands called "libraries". technically, when we went over the print command, that too is a function...
*two kinds of social "inclusion"*
tolerance is a wonderful thing. it's the thing that lets many different types of people work together, instead of killing each other.
political correctness isnt so wonderful. in essence, it is fake, politicised tolerance, implemented in a way that makes it socially impossible to question the replacement status quo that we are forced to assume improves on the previous.
after all, the current status quo is unacceptable. the new replacement promises to fix that, so we have a choice between the old-- which is unacceptable, and the new-- we which we must accept.
these people are serious! and thats exactly what makes them a cult.
since ive actually been in and left a cult, i can tell you a lot of things about them. they strive for human perfection. they talk about love of all people. they shun people who question the authority they subscribe to. they generate cliques and little cabals, and they control peoples lives "for the greater good". and they are absolute, utter hypocrites.
the biggest secret about cults there is, isnt inscribed on a tiny pyramid in a Dan Brown novel. the biggest secret about cults is that the way they behave isnt fundamentally different from society itself-- cults are only a more extreme example of our worst flaws as a society.
the main freedom that people want, is the freedom to tell other people what to do. thats part of our nature, and it is supposed to give us a feeling of safety. if we can control society, that will make us safe.
it's a false hope of course, because people at the top arent safe either. they have their own, elite brand of paranoia-- because the rich and powerful have all the emotional and psychological problems that the rest of society does, only they believe money and power will cure them-- if they can just have a little more.
this is a kind of addiction, a kind of madness-- and a glimpse at the human ego that we all have, festering inside us. we all have faults, foibles-- some of us are certainly worse than others, but the fantasty of being safe exist against a backdrop of man-made global destruction. humanity itself is a cult.
i am a fan of the late author daniel quinn myself, and i mention this because many fans of his writing will tell you that what we refer to as "humanity" is actually the largest subculture of human history-- the part of human history that begins with the spread of agriculture (so nothing terribly new, but relatively so.)
this "cult" that most of the billions occupying the planet now belong to, is what quinn fans call "taker culture". anthropologically speaking, we are talking about a global culture that lives at fierce, violent odds with the very planet that it lives on. we were all raised into it, some of us have tried to find a way to something better. but a funny thing about this cult is that it is one-size-fits all. it seeks to destroy everything other than itself, because it has an endless need for more resources. and that cult which more than 99% of humanity already belongs to, bears some important similiarities to the corporations that want to teach us about "tolerance".
what i just said before about cults is relevant here:
1. they strive for human perfection.
2. they talk about love of all people.
3. they shun people who question the authority they subscribe to.
4. they generate cliques and little cabals,
5. and they control peoples lives "for the greater good".
6. and they are absolute, utter hypocrites.
the funny thing is, there is nothing wrong with striving for human perfection. but being hypocritical authoritarians, these people ultimate expect perfection of others, as they themselves somehow gain a bizarre immunity. cults of personality do that.
loving all people is a [lit]mi[lit]tzvah, but also an unlikelihood. like human perfection, it is a reasonable thing to strive for but not realistic to expect of others. cults will bestow themselves with qualities of perfection, but only to contrast themselves the people they want to vilify and control.
these people will talk about standing up to false authorities-- but only to replace one with their own. nobody liked saddam hussein, he was a monster; easily one of the worlds most terrible leaders. and yet, it was predicted-- it was no guess-- that removing him from power would only lead to a vacuum soon to be filled by something even worse. when cults go up against authority, they only replace them with other corrupt and overreaching authorities.
the new authorities are typically just as narcissistic and spiteful as the one they seek to replace, and they will treat their critics harshly-- even trying to ruin their lives with lies and abuse.
all of this is for the "greater good", and this shows you where the closet authoritarians hide-- they hide directly behind the people they claim to help.
it is their fundamental dishonesty and hypocrisy and double standards, that make all this unworkable and fake. it's not the striving for perfection, the love of all humanity, the desire to do things for "the greater good" that are the real problem. however, when you point out the hypocrisy, the lies, and the double standards-- you are an enemy of the cult. and they will punish you by cutting you of from the very friends, the very projects, the very progressive endeavours that you were part of-- before they sought total control over all these things "for the greater good".
whats the difference between being actually inclusive, and using inclusion to exclude good people?
honesty. and reasonable checks on authority, which are not increasingly centralised, increasingly top-down, and increasingly run by the same corporations who obviously benefit from destroying our communities.
it's really not that complicated. at least 10% of people (slightly more) naturally lack empathy.
they like to paint autistic people as lacking empathy, but thats not entirely true. a percentage of autistic people have alexythemia, which is difficulty understanding or assessing their own emotions. not everyone on the autistic spectrum has that, and it isnt exactly the same as lacking empathy.
some people "farther" on the spectrum have a deeper understanding of animals for example, than the "average" person does in this regard. what you or i would ignore or fail to grasp or perceive, they already know-- for example, the deep loneliness of certain pet birds who have lost their mate.
autistic people are not the sociopaths they are painted as, and they are one group that these very "tolerant" people taking over the free software world deeply exploit and do great injustice to.
but the people who really lack empathy are the narcissists and sociopaths, and we should not put those people in charge of redefining tolerance. already we have lost control of our organisations, our projects, and our right to decide who we are friends with.
this is an authoritarian regime, it is not "progressive" in any way, shape or form-- except dishonestly, hypocritically and superficially. it is fake tolerance. and it is destroying our communities, so that our projects can be harvested and exploited.
all authoritarian regimes make false equivocations between what they are doing, and better "justice" and opportunity for humanity. the most logical response is to decentralise, put less stock in authority, and allow people the natural human right to go their own way and do their own thing.
taking control of every key project for the sake of such regimes is nothing more than pwnage and human slavery-- it may not be on the same level as in the american south in the 1800s, but it splits up families, it destroys lives, it controls unpaid labour.
we can absolutely do better than that, without such "help" and corporate colonisation of our software development. if we want to have any freedom over our computing in the future, we must eschew this corporate cult and get back to being free.
weve done it once already-- but alas, the free software movement has crashed. it is beyond time to stop staring at the core dump, and reboot this thing.
*the unavoidable need to rebuild*
collaboration is at the heart of free software and free culture, and yet many kinds of collaboration exist. innovation often takes the form of collaborating with people youve never met, never talked to, or who sometimes are no longer with us.
rather than a single, central organisation, free software now bears several organisations with various levels of involvement and loyalty to the founder of free software. this is putting it mildly. i dont personally consider "open source" to be part of free software. open source fights, undermines, misrepresents and tries to overshadow free software. as bruce perens said, "this was never fair."
once again, overall honesty is important. what open source did, intentionally or inadvertently, was pave the way for this takeover both socially and in terms of authority, not to mention undermining free software and creating a superficial version of it. not that open source is necessarily entirely to blame, but it has a history of smearing and misrepresenting free software, its founder and its supporters-- all the way up to torvalds himself. so i consider open source separate from, not the equivalent of free software; by their own rhetoric. (they do sometimes pretend to be the equivalent before switching up again.)
what free software started with, was some software, some thinking (from a very good philosopher) and some organisation. how we do the software matters. how we do the thinking also matters. and how we build our organisations matters.
to be certain we do it right, and also include various ideas that may improve free software's mission to make all software free, i recommend a somewhat distributed approach, inspired by science rather than dogma.
first, i think its a good idea (for the sake of historical accuracy and understanding the free software movement) to settle the matter of whether free software itself is more scientific or more dogmatic. i know stallman is a passionate person, a very specific person-- a person that people do not always appreciate. many more do than others would like to admit, of course. but ive given free software many years of thought, and decided that free software is more philosophical than dogmatic. i also think open source has done a great deal to exaggerate and reinforce the idea that stallman's "preaching" is of a truly religious variety, when really that is self-deprecating and tongue in cheek.
there are aspects of free software i dont agree with, or only party agree with myself: i strongly feel that people take the "words to avoid" page full of stallmans edits to the english language too seriously, and worse, that people are encouraged to do so. on the one hand, i think there is benefit in parodying the corporate propaganda that is shoveled into society on a constant basis. but rather than tell people what words to use instead, i think its better we come up with our own parodies-- and come to our own conclusions about what words we should avoid.
one phrase i agree is used to mislead people is "intellectual property". a lot is said about why this term is misleading-- put simply it leads people to conclude false things about the nature of patents, copyright and trademarks that make it more difficult to understand and reform these types of limited monopolies.
there are lots of phrases we would use instead, and thats a good idea-- but i think its very important to go easy on people when suggesting alternative language for them to use. and i dont think that free software has a (reasonable) right to police this. it easily has a right to say that calling free software "open source" does a disservice, because open source tries to co-opt free software, and conflating the two helps that co-opting more than it helps free software.
none of this changes my feeling that people exaggerate how much free software asks people to conform. i have noted that some people act as parrots, however. in the past, when ive tried to talk about the problems free software faces in this century, from time to time ive run up against these "parrots" who reflexively say whatever things ive already read elsewhere, nearly word-for-word, to automatically negate whatever it is ive tried to say.
i dont personally believe that free software asks that of people-- and ive looked into this. if i found that it did, i would denounce it, and we ought to.
i think clones are better than parrots-- parrots simply repeat words, while clones of stallman would not actually parrot his words, but think like a twin or triplet. its a well-known fact that twins and triplets have their own personalities, their own preferences and thoughts, and are sometimes diametrically opposed on certain things to their identical siblings.
of course just like when stallman puts a "halo" on his head and insists it was a drive platter "in another life", the idea about cloning stallman is tongue in cheek. but i maintain that for various reasons, it is better to clone stallman than to parrot what he says.
if we are honest, fair and reasonable, i believe we will find that the vast majority of what free software offers philosophically is both sound and useful. to put it in glib terms: "stallman was right." maybe not about every single thing in the world-- but his track record is very good.
those who have typically had the strongest critiques of his arguments have often encouraged us to dump stallman, to stop taking him seriously, to discredit or downplay the things he was right about. i think all of that is a mistake and a disservice to stallman, as well as to ourselves. but naturally, it is ok to criticise him (or anyone) fairly. its a given that if we arent forced to be, then we wont all agree on what that means.
stallman and free software are intrinsically related, and i dont think its realistic or beneficial to downplay the connection. but i do believe at this point it is necessary to build on it. while he may have years more contributions to offer and i encourage him to try (and for people to support his efforts) free software should not be something that ends when stallman is no longer fighting. unless he achieves literal immortality, i think we have proof enough now, the sorts of things that will happen when he is no longer with us.
at some point the torch will be passed on, and i think it is naive at this point to assume that the torchbearer will be someone that we can trust. its a possibility, and one that would make me happy-- right now, our communities are under attack, and i suggest we bolster our projects with a little common sense, a little more autonomy, a little more redundancy-- and perhaps a little less of the incredibly conservative approach that has been taken against recent coups.
to make new places to try new ideas, create new communities that are more about traditional, organic tolerance, rather than some corporate scheme to exclude good people in the name of the greater (but unmistakably) corporate good-- simply put, we need new "homes" and places to work.
we need to foster a greater variety of communities, of news outlets, of computer clubs, of "labs" where we can work out how to better promote free software.
and make no mistake, i have long had ideas about how to run my own freedom lab. i focus on free software and free culture, on the politics of the new corporate regime, on promoting scepticism of new authorities and making it easier to be part of something that people are trying to push people out of. and i try to make it easier for people to learn how to code, and to use free software.
one of the biggest projects is decentralisation, so that it is harder for the people who have fought against free software to continue their decapitation strikes. we need to rely less on single leaders, and try to train each other to help lead-- if only for short voluntary stints, or in small ways (not leading an entire movement, only stepping in to lead some small part of it.)
doing things this way makes leaders a bit less important, but it forces those who step up to learn by doing-- to self-train in the leader's seat.
the only thing is, most people dont want to lead. a friend of mine was interested in a free software organisation more focused on the needs of users in particular-- someone thought i could be president of that. i didnt want to be president, i was already doing a lot of other things and besides, i thought he would be better for the job.
another person i know, an anti-capitalist-- i thought it would be beneficial if he started an anti-capitalist free software organisation. its clear that he may never do that (certainly not this year) but the fact is, he doesnt want to lead.
if these people did want to be president of an organisation, then what? what are they going to do as leaders? one seems to hold stallman in high regard, the other doesnt-- one is focused on being pro-user, the other anti-capitalist. they could be (and probably are) working on these ideas anyway. what i think we want is to find a way to connect free software (voluntarily, without obligation or being ideologically encumbered) to more ideas.
once again-- the mission of free software is to make all software free. so we do (theoretically) want a variety of users, anti-capitalists, libertarians, librarians, taxi drivers, bed and breakfast owners, comedians, artists, authors, carnies, africans, europeans, asians-- even canadians and australians-- gays, jews, trans, lesbians, you know that whole bit... critics, sceptics, religious nutters, self-important atheists who make the same basic mistake as christians who think because you arent going to their church that you must have never heard of jesus (why no, it never occured to me that the bible isnt terribly scientific!) all kinds of crazy people, even some of the less-crazy people, if theyre interested.
its a corporate fallacy of course, to make it about marketshare. gnome developers are always out to make it so you cant use your computer without gnome, but thanks assholes, i already started using free software to get away from smarmy, self-serving vendor lock-in, you know? its not about marketshare, its about making *everybody* free.
but if everybody is free, they wont all do the same things. they wont all think the same way. nothing we do will be one-size-fits all, which is exactly what the corporate cult (for reasons that have nothing in reality to do with caring for us-- but they have to sell it that way) wants every solution to be: monopoly-fits-all.
it wont, and it doesnt. if we want everyone to have the sort of freedom that gives them control over their computing-- yes we can say that "choosing digital handcuffs is like voting for people to ignore what you want" and we can warn people against other choices that are deceptive and self-defeating. but we have seen what happens when we try to control how people organise. its ugly and hypocritical-- its also self-defeating and has threatened everything we do.
if people with good intentions and equally good ideas dont want to lead, then perhaps we should give them some alternative-- some way to be part of something a little bigger if they want to be, some way to collaborate that is more ad hoc, voluntary, and definitely not top-down.
the concept of the freedom lab is just that-- a concept. its designed as a tool to give more people a way to collaborate on software freedom, cultural freedom and hardware freedom. maybe someone will come up with another freedom to add to this list.
like the short howto on the websites says, a freedom lab is easier than a typical organisation, which you have to promote and manage:
"it's something you can more easily do as a single person. you may even meet others with similar interests in the process. you can build your lab for free, and abandon it if you get bored (while this is probably a shame, no one is going to do much about a cause they are bored with.)"
a freedom lab isnt typically a formal organisation, and you can do pretty much whatever you want. you dont need to do everything by committee. you become more like an organisation when you start to represent a larger number of voices directly-- you can collaborate with other labs or individuals with similar or related interests and goals. its free as in freedom, but what ties it together is exploring ideas and their potential (and sometimes, their success).
as said elsewhere, the minimum requirements for a traditional lab are:
1. a physical space
3. usually some form of training (self-taught, book-taught, school-taught)
and those are nice, but a freedom lab only requires:
1. something you want to promote or help fix
2. writing some things down
3. trying out ideas (probably including some of your own)
creating a website will help people learn about your efforts, the problems youre trying to solve, the ideas youre exploring. the website is where you talk about the lab, but, if you know enough people nearby who are interested, you could also meet somewhere to collaborate in person. ive met a few people from the broader free software community, but mostly what we collaborate on is trying to save, salvage or reboot free software (most of us admire stallman, too.)
a website doesnt have to be fancy, it can be purely functional (then again, maybe how to make nicer websites is one of the ideas your lab explores) and it just has to feature information about the lab and what youre working on. how involved you would like other people to be largely determines what sort of communication you want to set up related to your lab.
i encourage people to use free licenses not only for their software, but for their lab. if you care about a cause and for some reason decide to walk away, other people who find your materials are much more free to pick up where you left off. similarly, if you care about a cause and hope other people will work on it too, having free materials gives everybody a faster way to get started.
for software freedom and free cultural works, possible tasks for a freedom lab would be:
1. write about something that is lacking
2. consider possible solutions to [lit]mi[lit]tigate the lack
3. try out those solutions and (hopefully) report on your findings
not everyone has the training to do this within the strict formal confines of modern science. the goal of a "lab" in this sense is informal, casual, just try things and report on it. after all, businesses and organisations dont make every move just based on pure science either. they do experiment, they often abandon things that arent working (sometimes less often than is ideal) and a freedom lab doesnt have to hold itself to a higher standard than that. most wouldnt.
even this idea of a freedom lab is itself something you can explore, or perhaps find ways to improve. so while the freelabs federation promotes this idea, it has no monopoly on it-- just like it has no monopoly on what free software is.
many of us got involved with free software because we were tired of monopolies. i recommend having a fair and thorough assessment of the contributions of the man who founded our movement-- i believe a fair and thorough assessment will be proof enough that we remain in his debt, and many of us consider him a welcome visionary. he is typically more respected and admired than his critics say.
and yet, the idea that the chief gnuisance is in any way diminished, rather than affirmed-- by the presence of many more "minor gnuisances" is an idea that i think the test of time will disprove. free software must go on, and it should (i think) welcome its own founder everywhere that it can-- because if we really put it to a vote among all free software supporters, he would win by a landslide.
even if he were not widely respected, we have a (natural, also constitutional, also eu-affirmed) right to associate with him. we broadly have a right to decide who our friends are. and thats a right we should be exercising.
the freedom lab concept is one idea for rebuilding the infrastructure that corporate bullshit has taken over and tried to exclude our friends from. you are free to use it, free to study it, free to share it, and free to change it. ideas should be free-- as in thought, and in friendship!
*but suppose youre too busy to create a lab?*
thats a simple one-- not everybody has to build a lab, but hopefully more people will. labs dont have to be one-per-person even if the option is there, and it's natural to assume some people would rather join a lab than start one. we want it to be simple enough either way.
*free software begins as a seed, or cutting*
unless you already have a software development company (and often, even if you do) a lot of free software begins as a one-person project. professionals and experts will plan more, though if people didnt write their first projects, they wouldnt be able to write code with any kind of first-hand experience.
although we think of projects as having a committee, a team, sometimes even a board of directors-- that isnt how free software usually starts. this is even more true for software that has to prove the need for it before people join.
even the most high-profile projects often dont draw contributors until they are functional. people trying to recreate a high-profile project often imagine starting at a later stage. when most projects dont start that way, this may actually lower the likelihood that the project will be adopted and contributed to.
one of the myths of free software development is that the gpl is bad for adoption. in reality, it depends on who you want to contribute. if you care about user freedom and want to attracted developers that do as well, you are probably better off with a mainstream copyleft license. if you want to draw developers who dont care about freedom-- corporate developers who will take over your project and eventually make it more like proprietary software, then a permissive license is acceptable.
dont get me wrong, im not saying permissive licenses are all bad-- i have frequently used one. while ive used both gpl 3 and permissive, gpl-compatible licenses, i dont agree with some of the hype of the permissive licenses nor the propaganda against copyleft. if you want people to contribute changes back to your codebase, copyleft is more likely to make that happen.
the best way to get people to contribute to free software is if it is already free software-- if they can try it, if it has some reasonable documentation, if it has the license that lets them use, study, share and change the software.
in many instances, it also helps if the project already has users. it is possible to create a crowdfunding page for the project, then use that to hire someone to create the initial application for you. this requires you to at least understand how to make crowdfunding work-- and to have a winning description for your software project with the information people need to fund it-- as well as a coder you can hire who will get your design right, so you can deliver the working project to the funders.
the gnu project was created by richard stallman, and started largely as his own work-- but not all of it was original. apart from the fact that it was designed for compatibility with an already-proven and known design, some of the hardest parts to start out with were already partly written, but not specifically for the gnu project.
so most free software projects begin as small, seed projects-- or cuttings from other programs. even professional free software development often begins with a single person, who can outline the design and create a first version-- or hire someone to create a first version-- before anybody else takes interest.
if you want to create a new free software project, the complexity of the project may well require good planning at the outset. part of that plan needs to involve at least one coder up to the task, or a designer who can hire or otherwise convince one coder to do the incredible work of coding the initial project. putting a team together at that stage, isnt terribly likely. if you do, they will probably be a paid team-- and have fewer than 10 people, quite possibly fewer than 5.
software distributions will sometimes start with more people, but they are typically working largely (percentage-wise) with existing projects, and finding a way to put them together.
*people are willing to do the work*
...if you dont make too much trouble for them in the first place. a mantra of people sabotaging compatibility is that theyre the only ones "willing to do the work" while those who would maintain compatibility (such as with a fork) are not. these are the same people who insist compatibility is "extra work" and that suffering forks to be included (when they were already included previously, and people have already stepped up to maintain the forks) is "slavery."
a distro maintainer can do basically whatever they please, but when a distro becomes an institution, they are hopefully held to certain standards of honesty and avoid fundamental hypocrisy as much as possible.
even well-intentioned distro maintainers can let a "universal distro" become a system of control-- where the distro acts as an inconvenient gatekeeper (between the user and the software they want-- even the user and the software they already have) as much as a convenient way to promote free software.
when distros first came about, they were strictly a convenience. the alternative to the distro was building the system yourself. today, distros are a norm-- and the limitations of that norm are more obvious each year.
assuming youve experienced these limitations, it's true that this may have as much to do with the maintainers as the concept of distros itself. but the fact that distros can be a vehicle for moving user freedom towards maintainer freedom is worth exploring. if we can make distros (and communities) more resistant to new maintainer hijacking-- i.e. make them fully retain the level of easy customisation, reconfiguration and production of derivatives-- then the user is more free as a result.
debian was always highly modular and highly mixable, though the path it is on has resulted in half a decade of protest about becoming "less universal". through community censorship, systemic emotional abuse and exclusion in the name of inclusion, the leadership of some parts of the project have tried to paint the protests as "a vocal minority" of users. this "vocal minority" includes bruce perens, the second-ever debian project leader-- and the first after its founder.
although it is impossible to make a truly one-size-fits-all software distribution, debian formerly was a technically diverse community that acted more or less as a factory for operating systems-- this factory was supportive of not only the main distribution and all sorts of "respins" but allowed people to create dramatically different systems that were based on the GNU Hurd kernel, or FreeBSD, all under the same umbrella.
since 2014, debian has moved in a direction that is almost more monopolistic in its attitude and behaviour, making it more difficult (both in technical terms, and in terms of community processes) to support a diversity of technical solutions.
while they have stressed diversity of people-- and a diversity of people (including those unfairly ousted and abused by corrupt community leaders) is a good thing to have, they have grown less tolerant (more vindictive) of irrelevant political differences and important differences in technical goals. this intolerance of diverse technical solutions has largely been supported with dishonesty and gaslighting-- exactly the sort one might expect from a dirty public relations campaign, or even a political coup.
a software distribution that once lauded itself as "the universal operating system" yet no longer tolerates and even actively discourages a diversity of technical solutions, has truly lost its way. but rather than simply critique a once-benevolent, now largely co-opted distro family, it would be better still to try to learn something from it-- and explore solutions that resist this extreme sort of co-opting of software freedom.
one thing that went wrong with debian is that it became too bureaucratic and top-heavy-- more and more tension was created in the project, until it became "necessary" (not unlike the way that martial law becomes "necessary" in a major crisis) for the ad-hoc, live-and-let-live approach to yield to the Technical Committee, which can override decisions that suddenly can't be resolved.
this process may have put debian's future in the hands of corporate players, and created an incredible conflict of interest. whether that happened or not, the risk seems obvious in hindsight.
at any rate, the distro is a kind of "package deal". to keep software free, we want the broadest, most powerful and most influential of such "package deals" to be as easy to tear apart and put back together as possible. this ensures that users arent pushed by maintainers to remove software they want to keep, or pushed to run software that they want to remove and should be trivial to remove. that is more or less what debian was like for 20 years-- from 1993 to 2013, with few exceptions. it is what all distros of its magnitude ought to be like, but what debian has somehow worked to put behind.
once again, the principle we are talking about is modularity. to say that debian is as truly (functionally, practically) modular as it was in 2013 is a joke. it is increasingly tedious to pry apart features, to the point where it is difficult to believe this isnt itself a feature (or anti-feature, depending on whether your goal is to control users, or to not be controlled.)
we cant say anything with a free license is fully proprietary, obviously. so as with "obfuscated source code" we have to come up with some grey area to talk about-- actual phrases that people have offered and tried out include "open source proprietary software" (which i don't like because it props up the increasingly sketchy term "open source") and "gratuitous interdependency". ive also offered "free in license only", which im told was already used for something else, but not a a term that ive noted in years of studying free software (i think it is probably safe to re-use.)
whether you agree on the problem or not, i hope you are taking note that making it easier to rip apart and put together free operating systems most likely means the user has more control over their computing.
mate is a project that was "willing to do the work" of forking and maintaining gnome 2, a beloved desktop environment, though gnome and debian leaders[lit]/[lit]policy seemed to do whatever was necessary to make it difficult going-on-impossible for the mate developers to include their work in debian. so they just created and hosted their own .deb packages, and debian becomes a little less "universal."
there are various people that are "willing to do the work" of maintaining a choice of init systems in debian, but rather than not steamrolling them with mailing list censorship and the decision of the technical committee, debian insisted that basically if you dont want systemd, you can go "fork yourself".
when debian maintainers and other commentators insist that support is being abandoned because "nobody is willing to do the work," this sort of situation should be examined a little more closely to be sure that debian simply doesnt want to be bothered-- or doesnt want to allow-- people willing to do the work to actually do it.
to get around such co-opting and closing of development avenues, ive proposed a somewhat "universal" remix system. naturally, its not so amazing that one person can maintain it alone. but i did adapt it to *automatically remix* bootable iso images of puppy linux, void linux, refracta, debian 9.5 and even create a version of trisquel 8 that booted without systemd as the init.
the larger goal of such automated remastering is to allow users to take more control over the distro, in response to distros taking more control of the users. one "freedom lab" i would really love to see gain support is a lab devoted to moving forward, beyond the "distro" concept to something like a universal bootable disc-- which could help more people create distros, in a way that was implemented in a simple easy-to-learn, easy-to-edit language for remastering.
people could create scripts that would generate bootable isos from the building blocks of existing software distributions. and they could also use these scripts to automatically remove non-free software from distros that arent fully free.
i spent a year or two exploring prototypes of such software. i realise its an ambitious, imperfect idea. im less interested in creating perfection, than i am giving people tools (or creating prototypes of tools) to inspire and kickstart the next generation of free software. my designs are humble and relatively accessible and autonomous-- i dont care if people use them, though i hope people can learn from the ideas, appreciate the fact that ive created working demos with actual code, and maybe make it so that the next distro family is closer to universal than debian.
after all, in 1993-- the ecosystem was fairly primitive. that didnt stop people from taking something frontier-like and doing so much more. i hope this general idea of "beyond the distro" will be a new frontier for free software.
i understand for example, the scepticism of universal packages vs. traditional packaging. snap just means "controlled by canonical"-- might as well call them "clown packages" then, because they're just as useless and top-down as anything else controlled by clown developers.
flatpak is just apk for the pc, a bloated, horrible sandboxy hell-- with some probably undeniable security perks-- and a seeming built-in dependency on systemd that makes that a bit laughable. i refer to flatpak-based distros as "appliance-like distributions" and consider them a threat to user freedom.
appimage is perhaps becoming a dead standard? flatpak is winning, and appimage is probably insufficient for whatever people want in a universal package. what i like about appimage is that its simple. whatever features (other than control by canonical) that people want other than what appimage provides, should be optional in my opinion. though it's a nice thought that we could possibly create a single free software package and have it work across distros that /decided to/ support it.
such a package should not tie you to canonical, or to a certain init, or to gnome or red hat or github. i doubt there is a "universal package" implementation that doesnt have one of these giant anti-features, but i like the idea of universal distros and universal packages-- provided their priorities are avoiding and eliminating non-free software (flatpak should possibly be called /skypepak/, because its most popular use seems to be installing skype) and giving the user more control over their distro.
my approach is to just download and open the iso, make it as easy as possible to script whatever changes the user wants to make-- then create a new iso, all without rebooting and sometimes, even without chroot (chroot was necessary for *some* of the later versions-- specifically the ones that relied on package managers native to the source distro.) it should also be trivial for the user to remix any and all "universal" packages without having to resort to creating accounts or gaining keys from Canonical, ibm, Google, microsoft, apple, etc.
the distro is one of the major weak points developing in free software in 2020, and i hope more people gain an interest in fixing it in a way that lets more users hack and remaster their own distros (with less bother) than ever before.
[fixg]figosdev, March 2020