Freedombone Blog

Freedom in the Cloud

Ethics of Open Source

Watching this FOSDEM talk. It's really a contradiction in terms because the whole point of rebranding Free Software as Open Source in the late 1990s was precisely to ditch - or at least avoid talking about - the ethical dimension of software. In some sense it was a conscious effort to remove a certain sort of politics.

That doesn't mean that the politics ended in 1998 though. It went on. I think this talk has various problems. The hippies of the 1960s were rejecting authoritarianism in the form of being drafted into an unpopular war in which many of their generation were killed. The continuity between that and the rise of Open Source is the rejection of being told what to do by a tiny autocratic minority. Whether that's the US government or the new owners of software (IBM and later Microsoft).

"Is it Open Source?" remains an important question, because if it's not then it's software with owners. People who can push you around and tell you what to do. It's software which denies the potential for solidarity and cooperation. That applies increasingly as software comes to run everything in the economy. In the 1980s and 90s the question of whether software ought to be treated as personal property was one being raised. There are abuses of software going on now, but also there were back then. The industry was smaller in that time frame, but many people who wanted to learn about software were being vigorously gatekept out of having that opportunity.

Denying people the ability to learn and create in their own way is an ethical problem. It's a problem of power dynamics.

So what went wrong with Open Source? I think mostly it happened in the last 15 years.

There were technical license failures. Open core, contributor license agreements and dual licensing which were once thought to be ok or beneficial eventually turned out quite badly. They allowed enclosure of the software commons.

But the biggest factor was the centralization of the cloud from the late 2000s onwards and the effective end of the personal computing era. The software may have been Open Source, but this increasingly no longer mattered because ownership of the infrastructure of software service delivery became the key factor which subverted the safeguards against exclusivity which FOSS licenses were originally intended to mitigate.

How to overcome the problems? Non-profits and worker coops, as described in Deb Nicholson's talk, would certainly help. But we also need legal innovations in software licenses specifically with regard to Software as a Service. Maybe organizations profiting from Open Source SaaS (eg. Google and Amazon) need to have additional legal requirements put upon them once they're serving more than some number of users and that could maybe be encoded into the license somehow.

Also I think we need to have a much clearer narrative around the problems which permissive licenses create, and how they enable the massive centralization which we now have. The reciprocity principle needs to make a comeback.

X-Face integration

The Mutt email client which is installed by default on Freedombone now supports the X-Face email header. This is a very old standard for email avatars from the 1980s. It's a blatantly geeky, almost easter egg, type of feature. Supporting standards like this is fun because they're so anachronistic that they are able to fly under the radar of the modern internet. Hence you could possibly exchange subversive ultra low resolution avatar iconography without that being especially obvious even when emails are entirely sent in the clear.

If you ssh into your Freedombone server then there is now an option on the control panel to add an avatar image, and this can either be an image file or a URL. It will then get converted to a binary 48x48 image and attached to any email sent from the Mutt client. You may need to experiment by sending emails to yourself to obtain an avatar which looks at all intelligible. Obviously at such a low resolution any details get lost.

If you see an X-Face header in the Mutt email client you can then press Escape and then the f key to show it .

I did think of also adding this to webmail and the members screen of the web interface, but I don't think that would be a good idea. Since Freedombone is primarily aimed at more mainstream uses the typical expectations around the image quality of avatars will be vastly higher than X-Face can provide, and would merely be a source of frustration.

There was very little digital photography or scanning in the 1980s (fax machines would be about as close as it got) and so in the time frame when X-Face was invented people were probably making hand-drawn avatars using a bitmap editor, or even just on graph paper and then doing the calculations to convert to bytes manually. You could get imaginative and draw a 48x48 grid on acetate and then overlay that onto a chemical photograph of your face to obtain a crude digitization. Especially considering the tight bandwidth constraints and high telecoms costs in the 1980s, adding avatars would have been an extremely luxurious feature.

More Games on Freedombone

The plan for this year is to add more game apps to Freedombone. The intention isn't to turn the system into a gaming platform, but running a game server is one way that people can learn about self-hosting in a more accessible and fun way. Unsurprisingly there aren't all that many Free Software game servers out there. But there are a few, and some of them are packaged for Debian. Recently I've added a couple more as Freedombone apps. Neither of them are playable on mobile.

Crossfire is a rogue-like role playing game almost as old as AberMUD, but still appears to be actively developed nearly three decades later.

Flightgear Multiplayer Server is high bandwidth according to its installation instructions, but if you're only using it with a few clients on a local network then I expect it would be fine for practising formation flying.

Home server Vs Cloud business model

Within Freedombone the Cryptpad app has been updated to the latest commit, and it now allows you to create accounts and potentially have permanent "pinned" pads on the server. Previously account creation was deliberately disabled because this is an open system where anyone on the internet can access your Cryptpad site and allowing the whole internet to sign up is probably not a good idea on a small server with finite resources intended for use by a few people only.

I was looking for things like registration limits within Cryptpad, but didn't find any setting for that. I think the reason is that with Cryptpad and many other web apps they're designed such that the intention is that millions of people will sign up on a big centralized cloud server system. It's how they monetize the whole thing (notice the Cryptpad pricing and how that works). So the people who are writing the software just aren't occupying a small tech kind of mindset where you want to keep things limited to a few users. It's a dichotomy in web software design which I've often encountered.

Another feature added is that if you turn on signups for Cryptpad within the Freedombone web interface then they will turn off again automatically within a few days. This is to try to mitigate the "I forgot to turn it off and now my server is no longer working because a spambot has created a million accounts and used up the disk space" scenario.

The Limits of Licensing

It might be just a case of me noticing it more, but we seem to be entering a new phase of software license experimentation. Or license confusion, depending on your point of view. There is Ethical Source and I've also seen "no nazis" licenses in circulation.

These licenses are well intended, and the desire to exclude unethical uses isn't new. During the Iraq war there was concern about open source software used in drones and other autonomous military robots. At first knowing that Linux is running killer drones and giant battleships might seem cool, but then as the grim reality of warfare and its human cost sets in it's...not so cool and you begin to think I don't want any association with this or this isn't what I intended. One of my favourite academic talks is on the topic of ethics and technology.

But once you begin defining who can use public software then you need to keep a list of who is using it and issue them with license keys or equivalent technical enforcement mechanisms. And soon enough you've become a proprietary software vendor just like Microsoft in the old days. The proprietary model, or software feudalism, is where the software creator has ultimate control and can decide who runs the program under what conditions. In the rush to achieve control for seemingly good reasons a lot of other people's rights can end up being trampled as collateral damage.

And the people committing human rights violations, like ICE, simply won't care what the software license said. They're already operating in unethical territory, and compared to that a little software infringement is really insignificant. Same applies to the killer drone manufacturers. They will just factor in possible infringement suits as a cost of doing business, and they can hire the most expensive lawyers.

I don't assume that the licenses we have now are the best that's achievable. Probably better can be done. But for my own projects I'm likely to mostly stick with copyleft, mainly because of its sharealike principle of reciprocity.

Free Software remains a struggle

There's a pretty good talk at the Australian Linux conference from Karen and Bradley of Software Freedom Conservancy about the various problems which continue to be obstacles to having personal agency over what computers do. They have given talks on this theme before, but I think this is the best version of it so far.

Some points raised:

  1. Too many Linux-related conferences are sponsored by surveillance capital companies, and this makes it difficult to talk about certain things or promote certain issues.
  2. Living entirely without proprietary software is becoming increasingly difficult and/or impractical.
  3. Using older hardware sometimes means you get treated as a second class citizen.
  4. Explaining to people why Software Freedom is important is difficult, not just because there are so many other things going on but because many of the issues are invisible to the average person. Unless you know about some of the technical stuff happening behind the scenes then you don't encounter many conspicuous ethical issues.
  5. Conservancy sometimes only was able to use Free Software because it pushed the interactions with proprietary systems over onto its supporters/interns. This wasn't very ethical and in future they will try to do the reverse - handling the proprietary stuff so that supporters don't have to.
  6. In terms of practical software freedom, 2006 was a kind of utopia by comparison to now.
  7. Feeling like you are in a constant battle and being tempted to give up is ok. Keep trying anyway and small successes still count.
  8. Although more Free Software is being written it's often focusing on cloud-like use cases which big companies care about, and isn't necessarily benefiting average users. This is the shifting "who is really the beneficiary?" problem.

Another point which wasn't mentioned, but which I'd throw onto the pile would be:

  1. The organizational structures that we often use within the production of Free Software are probably not optimal. In the Linux kernel project I see maintainers getting older and not being replaced by younger people. This doesn't bode well for the next 10+ years when the older generation start to retire.