There’s been a lot of wailing and gnashing of teeth over the last few months, about how to deal with an infamous, far fight social network site. Before I say anything else, I want to make it clear that my politics have been staunchly leftist and anti-racist since my childhood. I find the politics of the site in question appalling, and I have no intention of promoting their toxic brand, even when criticizing them, so I will refer to it here as Cess.pit.

 A little background. As my three regular readers will know, I’m an excitable champion of the federated social web, the fediverse to its fedizens. Unlike users in centralized platforms like FaceBook or Titter, users of the fediverse join an “instance” - a server running web software compatible with fediverse protocols like ActivityPub - but they can follow and communicate with users on other instances, run by completely different people. A few months ago, Cess.pit moved its users to a fork of Mastodon, one of the most popular of the various software projects that use ActivityPub, potentially allowing them to recruit from and harass users on other instances.

 The admins of many instances responded to news of this by adding cess.pit to their blocklists. This isn’t unusual. The servers that host our email use blocklists all the time against mailservers that send lots of spam or virus attachments. I believe that the power to block users and instances ultimately belongs in the hands of the users of social network software, but given the current state of federated network software, I’m fine with instance blocks. So long as they’re being used by admins to prevent things like spamming, flooding, and harassment, for the benefit of their users, not to police who their users can communicate with, for ideological reasons those users may not agree with.

  I think it’s worth pointing out that treating all Cess.pit users as if they were all committed fascist organizers does have downsides. A lot of young or politically naive people wander into online spaces like Cess.pit without really understanding how deep those particular rabbit holes go, and these are the “prospects” the actual fascists hope to indoctrinate and recruit. If Cess.pit is federated with at least some instances that aren’t full of fascists and sympathizers, prospects will be much more likely to get access to other perspectives, making it more likely that they will broaden their minds, realize who they’re hanging out with, and get out. If the only people users on Cess.pit can talk to is each other, chances are that actual fascists will find indoctrination and recruitment much easier.

 The other thing that happened is that the developers of Tusky, one of the mobile apps that can be used to connect to instances of Mastodon (and other fediverse software that uses the same system for communication between apps and servers), decided to add a blocklist to their code and add Cess.pit to it. I wasn’t the only person who was sympathetic to their reasons for doing this, but concerned about the possible unintended consequences. Let’s unpack that a bit.

 Let’s say a Bad Actor wants to shut down queer leftist GroupX and stop them communicating online. They publicly smear them as “terrorists” or “spreading kiddy porn” or whatever, and start approaching hosting platforms and software developers, demanding they take action to stop GroupX using their tools.

 Let’s say they approach Mozilla about building anti-GroupX blocks into Firefox, during the time when Brendon Eich was CEO. Brendan is going to say “no”. Because even though he’s right-leaning and may well disagree strongly with the politics of GroupX (which is why he was forced out of the CEO role at Mozilla), there is a longstanding principle in internet tech that we don’t implement political blocks at the level of code and network protocols. Those are decisions to be made autonomously by users (network or “bottom up” decision-making), not centrally by engineers or system administrators (pyramid or “top-down” decision-making).

 The principle does mean, in theory, that free code developed by leftist anarchists could end up getting used in some way by fascists. But unless you empower the state to maintain a register of fascists and stop them using the net at all, it’s unavoidable that they are indirectly using all sorts of free code, developed by people from all sorts of backgrounds, who have all sorts of reasons to be horrified by the idea of fascists using their code.

 When you stop and think about it though, its obvious that the opposite is going to happen much more often. Radical leftists do not develop the majority of free code software. Every day we are directly and indirectly using all sorts of free code, developed by people from all sorts of backgrounds, who have all sorts of reasons to be horrified by the idea of us using their code. But they don’t try to stop us, for the same reason I believe Brendan Eich would have said “no” in the hypothetical example above. They understand that the whole purpose of defending software freedoms is to prevent powerful groups from using their monopoly on the money and infrastructure that funds most software development, to enforce their politics on its users.

 So what happens when developers start implementing political blocks at the code level, as Tusky did? Do the ends justify the means?

 In the short term, even if every fediverse app followed the Tusky example, life becomes mildly inconvenient for the Cess.pit folks, who can just start distributing their own forks of their preferred apps from their own websites. In fact, they’ve now set up their own app store. No real harm been done to their operations. But in the long term, it starts to normalize the idea that its OK to use the roles of developer, engineer, or hosting provider, to police other people’s politics.

 Imagine if all the technical folks who disagree with radical left views started doing the same things to us, that some of us have done to the users of Cess.pit. Imagine centrist liberal CEOs at Mozilla, Goggle, Apple, and Microsoft, building blocklists of radical left websites and media outlets into Firefox, Chrome, Safari, and Edge. Imagine we had to develop all our own software and host all our own infrastructure, and try to convince other users to only use fringe apps and hosting platforms that don’t have built in censorship of our politics. This is incredibly threatening to the radical left - far more threatening than Cess.pit itself.

 This is why a lot of people in the ethical tech community disagreed with the Tusky dev’s decisions, even though we respected their right to make it, while the developers of other apps decided instead to respect the longstanding principle of political neutrality discussed above. This is why many of us were horrified when developers who chose not to hardcode blocks into their apps became the target of coercion by some radical leftists, like those who tried to get Fedilab removed from app stores by claiming its developers “explicitly chose to enable hatred and violence through their app”.

 These smear campaigns and false accusations are appalling in themselves, exactly the tactics of the Bad Actors I described above. But even worse, to the degree that they are successful in the short term, they risk massive damage to the prospects of the radical left in the longer term, for reasons described above. They also do massive damage to the sense of goodwill and common cause that convinces people who could earn massive salaries in the corporate tech industry, to spend their spare time - or take more precarious jobs - to write free code that benefits all human beings. Including radical leftists.

… and yes, sometimes including fascists. But for the reasons discussed above, I think the benefits of that far outweight the costs.

Filed November 20th, 2019 under open social networks, free software, open source

A lot of people in privacy advocacy circles have been tut-tutting about the trackers that were identified in Purism’s Librem Chat software, a distribution (modified version) of the source code developed by New Vector for the Riot chat app. According to the Purism folks, they inherited these trackers from the Riot source code and while they failed to completely remove them from that version, newer versions have succeeded and are tracker free.

Some folks seem to think that this situation looks bad for Purism. Initially, there was the claim that they’d been caught not really caring about privacy, despite their marketing to the contrary. Then, when it was revealed that Purism hadn’t added the trackers themselves, they were accused of failing in their duty of care, by putting their brand name on a piece of software without noticing the trackers in it. No doubt, as the news filters out that they did notice them, but failed to remove every trace of them completely, the claim will change to one of incompetence.

But is that really fair? Another way of telling the story is that Purism put in significant effort to clean up free code produced by another company, resulting in a more privacy respecting chat app for users. One they don’t even charge for, because they make their money from selling hardware and running online services that they charge a subscription for (including the Librem Chat service that their distribution of Riot connects to by default). OK, they didn’t get it right the first time, nobody is perfect, but they were upfront about the problem and got it fixed.

Even if they hadn’t thoroughly audited the code, that’s not always considered necessary. Does every GNU/Linux distribution check every line of the Linux kernel before releasing it with their name on it? Some of them might (eg the ones that use the deblobbed Linux-libre fork of the kernel), but mostly the Linux kernel team are trusted to know what they’re doing. The same goes for a lot of other core components of GNU/Linux.

There was a time when the amount of source code being released under free licenses was so small, and the people using it so geeky, that a lot of it did get checked quite thoroughly before being used, let alone reused in other software. Generally, it felt safe to trust that the potential for dodgy stuff in free code to be discovered, and its creators publicly shamed, was enough to discourage anyone from putting it in there. With so much free code now being released by random people on the net, this is no longer a safe assumption, even when it comes to established open source communities and companies. But still, we generally give well established open source communities, like the Riot team, the same benefit of the doubt. As a user called Shilu put it in a discussion on the PrivacyTools.io forum:

“[It] seems bizarre that Riot would include these trackers by default.”

The other problem is the massive pressure on people developing software to ship it yesterday. One of the many consequences of this, as software gets more complicated and more modular, is more reuse of code by importing modules or plug-ins, and especially updates to them, without checking anything but their license and maybe who maintains them. So as with the trackers from Riot, stuff slips though, and sometimes with much more serious consequences.

Source code being available makes this less likely, and easier to identify and fix, but it can’t and doesn’t stop it completely. As with the Amazon Lens debacle, we also need to make sure that someone other than the author and their collaborators reads the code, carefully examining what the software does, and talks publicly about any problems they see with it (after a responsible delay to give the authors a chance to fix the problem). This is precisely why the four freedoms laid out in the Free Software Definition are important, and why laws that make some aspects of studying technology illegal, like the “anti-circumvention” provisions of the US DMCA (Digital Millennium Copyright Act), are so backwards and need to be thrown out.

Filed July 10th, 2019 under free software, open source

Sunday 09 June, 8:00 UTC

Candidate: Riot.im (Matrix client)

VOICE (VOICE Organized Investigation of Chat Engines) is an informal app testing group, trialing free code apps to see how well they handle voice chat, especially with groups. We aim to have a group chat testing session at least once a month, on a Sunday, starting at 8:00 UTC, with the first Sunday of the month as the default. We are currently using a Matrix room to confirm the timing of testing sessions, as well as for discussion about available apps and related topics: #voicechat:matrix.org

For our first scheduled testing session, we tried the voice/ video chat integrated with Riot, a client for the federated chat protocol Matrix. Riot can do voice/video group chat, using a “widget” (add-on) that connects a Matrix chat room to a hosted instance of Jitsi Meet (see also the demo at meet.jit.si). All three participants were using Riot, so no idea if this works for Matrix clients other than Riot.

I initially tried to join in using the Android version of Riot. After a bit of trouble connecting to the chat, I was able to connect and talk to the other two participants for a while. The sound quality was good and there was very little delay. The other two participants carried on a discussion for a couple of hours, with no problems. I however, got booted from the chat after a few minutes and wasn’t able to reconnect. I tried again with the web version of Riot on my laptop, and with the Electron version, but wasn’t able to connect to the voice chat with either.

My mobile device is running Android 4.4.4 and I’m behind the Great Firewall of China. So any problems I have are not necessarily a reflection on the app being tested. In this case, I suspect jitsi.riot.im – the URL for Riot’s instance of Jitsi – is being blocked by the GFC. Although that doesn’t explain why I was able to connect with the Android app for a while. Maybe it has a different way of connecting to the Jitsi chat than the web app? But if so, it’s still odd that it worked and then stopped.

The Riot client warns users that the chat feature is experimental. As long as you’re using an up-to-date OS and not in China, it seems like a good option for an informal group chat. In future, if they can get it really stable, it could be a great supplement to the team chat features of Matrix.

Originally published using write.as

Filed June 10th, 2019 under free software

FarceBook have been getting a lot of heat since the mosque shootings were livestreamed on their platform. But the software freedom movement seem to be able the only people talking about the ambitious solution that’s really required; replacing FB with ethical services controlled by the people who use them, not a tech corporation and its data buyers and advertisers. There are a people saying that we need a federated replacement for FB, using free code software. But is that really a viable solution? Here’s what I think would be required to create one.

First, we’d need a large-scale, crowdsourced UX (User eXperience ) design project. This would involve current FB users explaining exactly what features they use and how they use them, and a group of designers gradually building up mockups of a replacement UX. The designers would go through a number of iterations of presenting their mockups to the users for feedback and tweaking their designs in response. The outcome of this project would be a coherent UX design for both a website and native apps for desktop and mobile platforms.

During the course of the UX design project, a list of required features/ functions would need to be compiled. Decisions would need to be made about which of these could be implemented on the client-side (as many as possible, particularly data storage) and which would need remote servers. The second part of the project would involve identifying which of the features required by the UX could be implemented using existing free code components, which ones would need new code, and how the whole service could fit together efficiently. This would be a complicated set of decisions, because although building completely from scratch would be reinventing the wheel, the alternative requires evaluating hundreds or thousands of potential dependencies for code quality, and how likely it is to be maintained effectively in the long term.

The third part of the project, once the choices about initial design and back-end component re-use/ development had been made, would be to put the whole thing together as a proof-of-concept service. At this point, people who participated in the original crowdsourced UX design project could be contacted to see if they would like to be beta testers. Again, there would need to be a number of iterations where the service and UI was tweaked in response to tester feedback.

Unless there is some way to make our FB replacement an entirely serverless system like Jami or Briar, the long-term organizational and financial durability of instances (servers running the federated server software) is a problem that needs to be solved before federated social networks are ready for mainstream use. During the prototyping phase some serious thought would need to be given to how to provision the servers the production services will rely on. Our experiences with the fediverse so far have shown that we can’t just rely on random people setting up instances, which may vanish without a trace at any time. If our FB replacement ties users to a domain name, as the ActivityPub fediverse does, there will need to reliable organizations running instances (like cooperative businesses, associations with paid membership, or well-funded charities). It would be better if it used Zot (like Hubzilla and Zap), configured in such a way that every user’s account exists on at least two instances at any given time, so if one goes down, the account is automatically copied from the surviving one to another one.

Once the alpha and beta phase of prototyping was finished, and a stable 1.0 release of both the client-side apps and server-side software was available that included tools for importing users’ data from their FB account (a tasks that I imagine FB do everything in their power to make as difficult as possible), there would need to be a massive organizational and promotional effort to get reliable instances set up, and convince groups of users to set up accounts and start using them.

Some might say I’m making this seem way more complicated than it needs to be. After all, we’ve already created a federated replacement for Titter. But my whole point is that FB is a much more complicated system to replace and people are much more dependent on it. Titter has only two features, a public micro-blog (short text messages published on the web), and private text messages, and the fediverse as a whole has only implemented the first one. Some fediverse apps have “private” messages, but they don’t yet federate reliably across all apps and most (eg the Mastodon/ Pleroma DMs or “Direct Messages”) are private only in the sense they are not displayed publicly on those platforms. DMs sent to servers running other fediverse apps are liable to just treat them like any other public post. Only servers running Zot apps have any kind of encryption or proper controls over private messages and media.

FB consists of a wide range of features; not just posts, but an event system, encrypted realtime chat (including voice/ video), photo-sharing and galleries, web video and video livestreaming, pages, groups, and more. Many of these features have both public and private versions. While FB’s privacy protection is far from exemplary, a system being promoted as an ethical replacement would need to take this seriously. Many existing free code projects offer some of the elements needed to create a FB replacement, but none of them are anywhere near incorporating them all, and the problem of hosting remains unsolved.

In summary, I’m sceptical about trying to replace FB with a single service. I think we’re more likely to succeed by disaggregating its many features, replacing them with apps that do one thing well; chat clients, media-hosting services, events systems etc, and finding ways to bundle them together into community-hosted services that can each inter-operate with each other.

Update 2019-05-17Adrian Cochrane, the developer of the Odysseus web browser, has also been working on a proposal for a post-Javascript web.

—————————

“If you’re seeing this message, that means JavaScript has been disabled on your browser. Please enable JavaScript to make this website work.”

- TechAsia.com

I use a browser add-on called NoScript, to choose if and when a website can run Javascript on my computer, and I’m getting pretty sick of websites refusing to even display text and images if I don’t agree to run their (often proprietary) Javascript. Let’s start telling both website developers and web browser engineers, loud and clear, that it’s time to #MakeJavascriptOptional!

Javascript is unique among programming languages, because the programs written in it are routinely downloaded and run on a person’s computer (in their web browser) without their knowledge or consent. It has been the subject of criticism by everyone from experienced software engineers and computer security researchers, to privacy campaigners and software freedom activists. Bad Actors can use Javascript to abuse people while they use the web, by tracking them (and there have been designs for tracking users with Javascript since 2006, if not longer), by spying on them (and this sort of spying has been going on since 2010 if not longer), by hijacking their computers, and so on.

Almost every time you open a browser tab and go to a website, another batch of invisible programs starts running on your computer, every one of them using up a bit more of your computer’s processing power and system memory. As each one starts running, it makes your computer a bit more sluggish and less responsive to you, like a kind of digital alcohol. Obviously, this degrades the user experience of the web, but most people don’t even realize it’s happening. They blame their internet connection, or assume their computer is just getting too old and they need a newer one, not realizing their computer could run much faster if it wasn’t carrying so much unnecessary Javascript. As well as using up system resources on the computers of web users when they run, the same Javascript programs are sent to millions of computers, over and over again, every time the websites that use them are visited, which is a wasteful use of both server resources and internet bandwidth.

So what can be done? Some people just disable Javascript in their web browsers, but that has the major downside of breaking the vast majority of the web, even a lot of ethical services running free code software (like CoActivate). Others use NoScript to tell us when a page wants to run scripts in our browser, and which web domain they are being served from, and allows us to choose if and when to let them run. Other add-ons focus on blocking specific kinds of threats that exploit Javascript, including anti-tracking tools like the EFF’s Privacy Badger (or the Privacy Possum fork) and adblocking tools like uBlockOrigin.

These kinds of tools are like wearing a suit of armour to protect against shark attacks while surfing, they can work, but they come with a fair bit of inconvenience. The long-term solution is to evolve the web so that we can eventually do without Javascript, just as the upgrade to HTML5 means we can add multimedia like audio, video, animations, and games, to the web, without proprietary plug-ins like Java, Flash, or Silverlight.

One recent trend in website design is to use a static website generator to create sites that display text, media, and links, with a sane page layout, using only basic web languages like HTML and CSS. This works fine for simple personal homepages, or  “brochureware” sites for community groups, public services, and businesses. But some web developers argue that the features Javascript can add to make web pages into “web apps” are arguably worth the costs. The federated photo-sharing app PixelFed recently modified its landing page to remove all the Javascript, which is a welcome move. But once you log in, you still need to allow the site to run some Javascript if you want to share photos and use the rest of the app’s features.

Other web developers have been coming up with proposals for replacing Javascript with other technologies that could provide the same benefits, the extra-for-experts features you can’t code in pure HTML/CSS, without its the downsides. New standards like WebAssembly have already been created to allow other, more robust languages to be used instead of, or alongside Javascript. Other developers argue that Javascript is fine for prototyping new kinds of web services, but before they’re rolled out for mainstream use, these features ought to be standardized, and build into the browser itself, or native apps. Like static sites, this would mean these chunks of code wouldn’t need to be sent over the net millions of times a day, every time users visit the same website.

One thing the developers of web browsers could do very easily to improve the situation, at least in the short term, is the same things they’ve done with cameras and microphones; ask the user’s permission. When a website wants to run Javascript, ask the user if they consent to that, and ask them if they want the browser to remember that decision next time it’s asked to run scripts from that source. In other words, build the functions of NoScript into every web browser.

It could also help to build a wiki to crowdsource information about what kinds of scripts websites are trying to fetch from this or that domain name, and what they do. Some scripts, like those from FontAwesome, just provide freely licensed fonts and icons, while others, like any associated with major web advertising companies, are almost always trackers of some kind, spying on website users. Making this kind of information available from a trusted source would help users that currently use NoScript to decide whether to allow them or not, and if opt-in Javascript does become a standard feature of web browsers, it would benefit everyone who uses the web.

Filed April 3rd, 2019 under free software, security

 PeerTube is a revolutionary new video hosting system created by a developer known as Chocobozzz.  Supported and funded by Framasoft, a French organization working on a project to  “de-Googlify the Internet“, PeerTube (as the name suggests) has been created as a potential replacement for YouTube and you can watch the intro video here, streamed from a PeerTube site. Excited software freedom geeks have been testing experimental versions of PeerTube for a couple of years now, and there are dozens of groups and individuals running PeerTube sites (or “instances”). In October of 2018, Framasoft proudly announced the release of PeerTube 1.0.

Finally, the wait is over, and PeerTube is ready for average users to dive in. But what what makes PeerTube different from existing independent video sites like EngageMedia or BitChute? First, a little background.

Since it first became possible to embed video files in websites, it’s always been risky to host your own videos on your own website. The reason is that even short video files are much, much bigger than text or image files, or even audio files. If your video goes viral, and you have hundreds or thousands of users trying to stream or download the video at once, you end up having to pay huge fees for the bandwidth that uses on your server, or even having your website break down completely because of the traffic jam.

For years, this has created a paradox where creators who publish their own video, or small, community-hosted video sites, get nowhere if none of their videos get attention, and get punished if any of the videos they host get too popular. Either way, they lose. This is why, with the exception of a few determined anti-corporate activists and free code hackers, most people host their video on a handful of giant, corporate-controlled hosts like YouTube and Vimeo.

What makes PeerTube sites different from other independent video sites like EngageMedia or BitChute is not the type of video they host, nor their moderation policies, but the way they all interconnect (or “federate”) with each other. Using new technologies like WebTorrent and ActivityPub (more on them later), PeerTube sites automatically combine their hosting power to form a federated, video-hosting network. Working together, they can compete with corporate video-hosting platforms like YouTube, something no independent site, and certainly no independent video producer, can afford to do alone.

Today, I started a project of reaching out to independent video producers to make sure they know about PeerTube and the fediverse it’s a part of, encourage them to make use of these tools, and offer support to help them do so. Here’s a generic version of the text I wrote, in case it’s useful to anyone wanting to do something similar.

“Great to see work you’re doing in independent film-making.

I note that your contact page links to a number of corporate-controlled media platforms (FarceBook, TheirsTube etc). Have you heard about the ‘fediverse’, the federated replacements for these centralized platforms, using free code (or “open source”) software? For example, there are a number of inter-connected micro-blogging networks that offer a replacement for the birdsite, including GNU Social, Mastodon, Pleroma, and Misskey, and users on any of the thousands of independent sites running any of these software packages can all communicate with one another, not just the users on their site (or “instance”).

Even more relevant to your work, is PeerTube, a network of video-hosting sites that are similarly inter-connected with each other. PeerTube sites use WebTorrent to allow users watching videos to help serve them to other viewers, reducing the bandwith load on the host if a video goes viral, and making it viable for organizations to host their own video directly. PeerTube sites also use inter-connect with the rest of the fediverse, allowing users to follow PeerTube channels, watch embedded videos, and comment on them, all from within their social media client.

If you need any help figuring out how these technologies could help you organize, promote, and distribute your work, please feel free to get in touch.”

Filed November 27th, 2018 under independent media, free software

At the end of last month, Mozilla Hacks announced a new series of “DWeb” posts on decentralized software projects, which aim to redistribute the power to host and share information on the web, and on the internet in general. Obviously it’s of great interest to Disintermedia, and this blog’s 2 readers. So far, there are articles on Scuttlebutt/ SSB, WebTorrent, and Beaker Browser (see the list at the end of the DWeb announcement article). Thanks to the fedizen - a citizen of the “fediverse” of federated social networks -  who brought this to my attention, sorry I can’t remember who it was right now.

I’m back in the studio, and intending to resume normal transmission next week. This will start with a run-down of the talks and workshops I attended at Open 2018 in London.

In the late 90s and early 2000s, there was a wave of radical community servers, many of which fed into (or grew out of), the Indymedia network. Most of those veterans have sadly vanished from the web, and RiseUp, Framasoft, Comunes (OurProject), and CoActivate, are among the few still standing. As awareness grows of tech corporations like Microsoft, Apple, Google, FarceBook, and Amazon, putting their users in a digital cage, it’s great to see a whole new wave of cooperative groups coming together to replace these Web 2.0 prison canteens with ‘digital cafes’, like CommonsCloud, Disroot, and Social.coop, which I’m starting to get involved with.

A digital cafe (or ‘Open App Ecosystem‘) is a community of users and hackers providing themselves and each other with web services like social media (social networking, open publishing, or both), and sharing the costs. Since they’re doing many of the same things, rather than reinventing the wheel by writing all their software from scratch, they use a range of free code software developed by other groups. Sometimes they donate towards the financial costs of the peer production project that develops the software they use, and in other cases they have the skills and the time to contribute back to the project.

Social.coop began as group of members who set up a cooperative to share the costs of a site running Mastodon, a federated microblog server. Social.coop users can interact not only with each other, and with users on other sites running Mastodon (”instances”), but they can also interact with users on any site connected to a larger “fediverse” of federated social apps. The software makes these interactions across the fediverse possible by using common standards for exchanging data between social sites, initially using an older standard called OStatus. More recently a new standard called ActivityPub was published by the W3C (World Wide Web Consortium), the body that maintains the official standards for HTML, and everything else about how the web works under the hood. ActivityPub was the final output of W3C’s Social Working Group, which has now been replaced by the SocialCG (Social Web Incubator Community Group).

Social.coop depends on the work of all these other organizations in different ways, to keep their digital cafe running. But what’s the nature of the relationship between a cooperative running a digital cafe, and the groups maintaining the software they use? Does their sustainability depend more on making sure the project developing Mastodon has good governance? Or working on ensuring the reliability of their own servers, tweaking the software to serve member’s specific needs better, and perhaps adding new services, to help attract more members who can help reduce the costs per member?

You can’t have a cafe without a reliable electric and gas supply to the kitchen (the “back-end” of the server that users don’t see), and good mood lighting so people can feel relaxed but still see what they’re doing (UI or “User Interface“). But you don’t build a successful cooperative cafe by focusing on the internal politics of the energy utility, or the lamp shop. You focus on building your membership / customer base (users), and your collective capacity to provide them with good coffee, good service, and good food (UX or “User eXperience“).

If your energy supply becomes unreliable, you switch providers. If a coop-owned energy supplier emerges, great, switch to that. #ForkOffTogether could be that, and if people want to pitch that to them, go for it. But we can’t say for certain exactly which software they’re going to fork yet. Pleroma and Hubzilla are already options for ActivityPub server. Of these two existing, ready-to-use ActivityPub servers, I would say Hubzilla’s community probably has the closest overlap of values with social.coop. IMHO both their back-ends perform better than Mastodon’s Ruby-on-Rails engine, but other options continue to emerge (like Pylodon).

It’s the same with the lamp shop (UI). At present social.coop happens to be buying energy and lamps as a bundled package from Mastodon. But we’re not stuck with either, and we don’t have to get them from the same supplier at all. There are already a bunch of other lamp shops around, whose lamps can plug into the same power sockets (server-to-client API) that Mastodon uses. These include Pinafore (which I’m using these days and loving), and Halcyon, which is modeled directly on the look and feel of the birdsite, so fediverse sites who use that will have the minimum transition pain for refugees from there. Other lamp shops will emerge, and some of the existing shops whose lamps use different power sockets (eg Qvitter) might become compatible in the future. Hopefully, in a year or two, everyone will be using the same power sockets and plug standard (ActivityPub server-to-client API), so all lamps will work with all electric suppliers.

In a digital cafe, the energy supply is the maintenance crew’s problem (tech working group). As long as the lights stay on, the rest of the members don’t have to care about how they’re powered. The lamp situation, on the other hand, is something the members/ customers have to put up with while they drink their coffee. Decisions about which UI options social.coop offers need to be made by the membership, within the range of options that can technically work right now. Keep in mind that members can also get takeaway coffee (using a portal like pinafore.social to connect to their current instance), so they do have lighting options beyond what the tech group can set up and maintain right now.

The most important thing, the thing that *isn’t* a distraction, ever, is the coffee, the service, and the food. If we don’t get the UX right, it doesn’t matter how health or unhealthy the workplace is down at the energy company or the lamp shop, because we won’t keep the digital doors open long enough for their long term survival to matter. I love to geek out on organizational structures too. I get it. If that’s your thing, by all means go help the #ForkOffTogether folks become a cooperative energy supplier that social.coop can buy from (if they’re reliable suppliers). I totally endorse that.

Clear as mud? I may have over-extended the cafe metaphor somewhat, and as the old saying goes, no metaphor bears close examination. Feel free to hit me up about what I mean by this or that on the fediverse.

Filed June 12th, 2018 under open social networks, free software

In 2016, I included a graph from Layer 3 Networking blog, in a rant about the tendency to put on weight over time that I’ve seen in even the most lightweight GNU-Linux DE (Desktop Environment). The blog piece I took that graph from gave a detailed run-down of the lightweight DE ecosystem, as it stood in 2013, which still serves as the most thorough introduction I’ve found on the subject.

Being 5 years old now, the graph can’t be treated as a true indication of how much RAM more recent versions of these DEs might use. But it does offer an idea of just how many different free code DEs are out there, some screenshots of what some of the lighter ones look like installed, and roughly how much RAM a wide range of them use relative to each other. It also gives the exact methods used to make the RAM use comparisons between DEs, which is important to whether their results are a fair comparison, and another reason I still consider this a useful guide despite being five years old.

Obviously, being 2013 data, some of the DEs mentioned are now superseded or defunct (eg E17, Unity), or merged (LXDE and Razor-QT are now LXQT), and other newer ones aren’t mentioned (Artemis, Moksha, Pantheon, Yunity, Zorin etc). Based on the numbers from the graph there, I’d say in 2013 you could break DEs down into 3 categories (RAM use numbers assume a freshly booted system running no extra user apps):

  • Small (0-20MB): TinyWM, 9wm, miwm, wm2, dwm, Ratpoison, olvwm, TWM, xmonad/mobar, JWM, i3, Blackbox, Sawfish, IceWM, PekWM, Openbox, Window Maker, awesome, FVWM, Fluxbox, Mutter
  • Medium (20-100MB): E17, LXDE, KWin, Mate, Trinity, XFCE, Cinnamon
  • Bloated (>100MB): Razor-QT, GNOME 3, Unity, KDE

The DEs I describe as bloated are clearly targeted at providing every imaginable widget and performance boost, for users with fairly new hardware, or middle-aged hardware that’s been upgraded or is unusually powerful. Unless you are a business with deep pockets, or someone else who upgrades your computer every couple of years so you can always run the newest software, I suggest avoiding the bloated category. That is, if you don’t want to end up switching to a lighter DE in a couple of years, as the hardware requirements of the bloated DEs continue to creep up towards the latest hardware.

Cinammon, a fork of GNOME 2 developed for the Mint distro, offers everything the average user needs from a desktop experience, while using significantly less RAM than older and more common DEs like KDE Plasma or GNOME 3. Mate, Mint’s lightweight DE, uses even less RAM, while still providing a familiar point-and-click desktop, with the bells and whistles familiar to Windows users who have used any version of Windows from 95 to 7. I’m typing this on an Acer Aspire One that’s nearly 10 years old, and the Mate desktop in the about-to-be-released Trisquel 8 runs fine, although I have improved the performance by doubling the RAM to 2GB and, more importantly, replacing the internal drive with an SSD (Solid State Drive). I can’t emphasize enough what a big difference the SSD makes.

If you still want to be using your computer in ten years time, especially if you bought a netbook or some other unusually under-powered PC like I did, I strongly recommend getting familiar with the pros and cons of the DEs in the small category. If I just want to play a game, I use Openbox, and I really notice how much better the heavier games run without all the extra desktop bells and whistles taking up resources. I intend to get into a habit of logging into Openbox whenever I plan to work on a long piece of writing, or anything else that doesn’t really require flipping back and forth between apps.

In summary, I can’t tell you which DE is right for you, and just to confuse you even more, the same DE can use a different amount of resources depending on which GNU-Linux distro you’re running it on, and even whether or not it’s the default DE for that distro. But it’s definitely worth doing some reading, and choosing one that not only does what you want right now, but will keep doing it for as long as you don’t want to have to switch to keep your computer usable.

Filed April 16th, 2018 under free software, open source

Today I spent a bit of time updating the Disintermedia page on free code OS for desktop use. I reorganised the content a bit so it’s easier to browse, and moved a few discontinued distros into the appropriate box in the summary table. There are a few distros I’ve tried since I last updated that page, like LMDE and PureOS, and a few more I’d like to test drive, like the new version of Heads (Dyne’s answer to Tails). So keep an eye out for more updates, hopefully soon.

Trisquel 8 is nearly ready for release, so I’ll be testing that this week. Watch this space for the cliff notes. For now, my everyday OS is still Trisquel 7 (based on Ubuntu 14.04), running on Bishop, a small laptop that’s almost a decade old. It’s working fine, now that I’ve maxed out the RAM (now 2GB, wow!), and replaced the internal disc with an SSD (Solid State Drive). To be honest, the SSD made much more difference to the performance, and it doesn’t hurt that I’ve almost doubled the storage space too (from 140GB to 240GB), even though I bought a smaller, cheaper SSD. If you are trying to keep an old laptop in use, I highly recommend getting yourself an SSD over buying more RAM.

Filed April 9th, 2018 under free software, open source
Next Page »
  • Annual Events

  • Digital Freedom Foundation
  • LibrePlanet
  • Aotearoa

  • Aotearoa Indymedia
  • BallaNZ
  • Creative Commons Aotearoa/ NZ
  • Creative Freedom Foundation
  • DigitalNZ
  • Enspiral
  • Fair Deal Coalition
  • GreenStage
  • InternetNZ
  • Island Bay World Service
  • Living Economies
  • Localise
  • Loomio
  • Matrix FM
  • Nicky Hagar
  • No Right Turn
  • NZ Council for Civil Liberties
  • NZ Makers
  • NZ Makers Map
  • NZ Māori Internet Society
  • NZ Open Source Awards
  • NZCommons
  • OASIS
  • Open Government Ninjas of NZ
  • Open Source Society of NZ
  • Open Standards NZ
  • Open Ur Eyes
  • Pacific Media Centre
  • Permaculture in NZ
  • PledgeMe
  • Radio Chomsky
  • Regulation
  • Scoop
  • Tech Liberty
  • Timebank Aotearoa
  • Transition Towns Aotearoa/ NZ
  • Uncensored Magazine
  • Waatea News
  • Waikato Linux Users Group
  • What If
  • Wiki NZ
  • Zenbu
  • archives

  • ArchiveTeam
  • Critical Commons
  • Ibiblio
  • Internet Archive Community Software Collection
  • Open Archives Initiative
  • Blogroll

  • Abject
  • Access Now
  • Ars Technica
  • BadScience
  • Banjo - RoboBlog
  • Boing Boing
  • Born out of Binary
  • Centre for Media and Democracy
  • Choke Point Project
  • Copyrighteous
  • Create Digital Music
  • Creative Commons International
  • Cryptogon
  • Digital Standards Organisations
  • Disinfo
  • E-Democracy
  • Electronic Privacy Information Center
  • Ever Vigilant
  • Freedom Box Foundation
  • Freedom of the Press Foundation
  • Gaming On Linux
  • Global Indymedia
  • Gondwanaland (Mike Linksvayer)
  • Institute for the Future of the Book
  • Institute of Network Cultures
  • Internet Governance Project
  • InternetNZ
  • Island Bay World Service
  • Iterating Towards Openness
  • Knowledge Ecology International
  • LinkedListCorruption
  • Linuxed - Exploring Linux Distros
  • Localise
  • Moved by Freedom - Powered By Standards
  • Nanowares
  • New Zealand Māori Internet Society
  • Nicky Hagar
  • No Right Turn
  • NZ Council for Civil Liberties
  • NZCommons
  • O'Reilly Radar
  • OASIS
  • OERu Technology Blog
  • Open Educational Resources Foundation
  • Open Knowledge Foundation
  • Open Rights Group
  • Open Social Web
  • Open Source Conscious Intelligence Network
  • Open Source Food
  • Open Stand
  • Open Ur Eyes
  • OpenCollective
  • OpenDotDotDot
  • OpenSource.com
  • Permaculture in NZ
  • Plumi
  • Public Interest Journalism Foundation
  • Punk Rock Permaculture
  • Question Copyright
  • Replicant (OS)
  • Rob Meyers
  • Schneier on Security
  • Scoop
  • Shareable
  • Slashdot
  • Software Freedom Law Centre
  • Software in the Public Interest
  • SourceMap
  • Sustento Institute
  • Tech Liberty
  • TechRights
  • The Tin Hat
  • Tinkering Down Under
  • TorrentFreak
  • TransitionMovement
  • Translation Project
  • Trisquel GNU/ Linux
  • United Diversity
  • Waatea News
  • We Speak for Freedom
  • Why Your Boss is Programmed To Be a Dictator
  • code bank

  • Allura
  • BitBucket
  • FusionForge
  • GITHub
  • GITLab
  • Gogs
  • Internet Archive Community Software Collection
  • LaunchPad
  • NotABug
  • Savannah
  • Software Freedom Conservancy
  • Software Heritage
  • Sourceforge
  • community economics

  • Commons Transition
  • Fruit Tree Planting Foundation
  • In Our Back Yards
  • Institute for Local Self-Reliance
  • Libre-Living
  • Living Economies
  • Sensorica
  • Sustainable Economy Law Centre
  • Timebank Aotearoa
  • TransitionMovement
  • cooperative

  • Loomio
  • Snowdrift Coop
  • crowdfunding

  • ArtistShare
  • BountySource
  • Causes
  • CauseVox
  • Crowdfunder
  • Crowdjustice
  • Crowdrise
  • Crowdsupply
  • Flattr
  • Fundit.buzz
  • GiveaLittle
  • Goteo
  • In Our Back Yards
  • KickStarter
  • KissKissBankBank
  • Liberapay
  • Mighty Cause
  • OpenGift
  • Patreon
  • PledgeMe
  • PledgeMusic
  • Pozible
  • Snowdrift Coop
  • StartSomeGood
  • Taproot Foundation
  • The Working World
  • Tidelift
  • Events

  • IndieWebCamp
  • free code

  • April
  • Black Duck Open Hub
  • DistroWatch
  • Ever Vigilant
  • F-Droid
  • Free Software Directory (GNU FDL 1.3 or later)
  • Free Software Support Network
  • Free Software Support Network
  • Free Your Android
  • FreshCode
  • Gogs
  • Gun.io
  • Internet Archive Community Software Collection
  • LILA
  • LinuxTracker
  • NotABug
  • OERu Technology Blog
  • Peers Community
  • Plumi
  • PublicLab
  • Replicant (OS)
  • Software Heritage
  • Urchn Studios
  • Free Media

  • Communes Collective
  • Copyrighteous
  • Create Digital Music
  • Definition of Free Cultural Works
  • Dyne Foundation
  • FLOSSManuals
  • Free Culture Foundation
  • Ibiblio
  • Librivox
  • LILA
  • Open Video Conference
  • Show Me Do
  • Translation Project
  • Urchn Studios
  • WikiLeaks
  • freelancing

  • BountySource
  • Gun.io
  • independent media

  • Aotearoa Indymedia
  • BallaNZ
  • EngageMedia
  • Freedom of the Press Foundation
  • LILA
  • Matrix FM
  • Pacific Media Centre
  • Public Interest Journalism Foundation
  • Radio Chomsky
  • Radio Heritage Foundation
  • Uncensored Magazine
  • Waatea News
  • libre gaming

  • Gaming On Linux
  • Makers

  • GreenStage
  • Libre-Living
  • Mediamatic
  • NZ Makers
  • NZ Makers Map
  • Open ROV
  • Renewable PCs
  • Rob Meyers
  • Sensorica
  • maps

  • GeoForAll
  • GeoNames
  • Green Map System
  • Map Tools
  • Open Geospatial Foundation
  • Open Street Map
  • open governance

  • Crowdfunding
  • D-Cent
  • Deep Democracy Institute International
  • E-Democracy
  • Fight for the Future
  • Holacracy
  • Internet Governance Project
  • Kettering Foundation
  • Knowledge Sharing Toolkit (CC-BY-SA 3.0)
  • Open Government Ninjas of NZ
  • Open Policy Network
  • Open Space World (CC-BY-SA 2.5)
  • Open Stand
  • Open Standards NZ
  • Participedia
  • Sunlight Foundation
  • Transition Towns Aotearoa/ NZ
  • What If
  • WikiLeaks
  • open hardware

  • H-Node
  • Makey Makey
  • Meeblip Open Source Bass Synth
  • Open Hardware Summit
  • Open ROV
  • Open Source Hardware Association
  • Orgs

  • Access Now
  • Apache Foundation
  • April
  • Autistici/Inventati
  • Collaborative Knowledge Foundation
  • Commons Transition
  • Communes Collective
  • Computer Professionals for Social Responsibility
  • Creative Commons Aotearoa/ NZ
  • Creative Freedom Foundation
  • Critical Commons
  • D-Cent
  • Deep Democracy Institute International
  • Digital Due Process coalition
  • Digital Freedom Foundation
  • Digital Standards Organisations
  • DigitalNZ
  • Dyne Foundation
  • E-Democracy
  • Electronic Frontiers Foundation
  • Electronic Privacy Information Center
  • Fair Tracing Project
  • Fight for the Future
  • Foundation for Peer-to-Peer Alternatives
  • Free Culture Foundation
  • Free Network Foundation
  • Free Software Foundation
  • Free Software Support Network
  • Free Software Support Network
  • Freedom of the Press Foundation
  • Guifi
  • Ibiblio
  • Identity Commons
  • Institute for Local Self-Reliance
  • Internet Engineering Taskforce
  • Internet Governance Project
  • ISA Commons
  • Kettering Foundation
  • LEAP Encryption Access Project
  • LILA
  • Living Economies
  • Loomio
  • May First/ People Link
  • Mediamatic
  • NZ Māori Internet Society
  • NZ Open Source Awards
  • Open Architecture Network
  • Open Archives Initiative
  • Open Geospatial Foundation
  • Open Policy Network
  • Open Source Hardware Association
  • Open Source Society of NZ
  • Open Web Foundation
  • OpenADR Alliance
  • OpenCorporates
  • Outreachy
  • Participatory Culture Foundation
  • Peers Community
  • Permaculture in NZ
  • Privacy International
  • Public Citizen
  • Public Interest Journalism Foundation
  • Public Knowledge
  • Public Patent Foundation
  • Question Copyright
  • Radio Heritage Foundation
  • ReDecentralize
  • Reform Government Surveillance
  • Regulation
  • Rhizome
  • RiseUp
  • Science Commons
  • Software Carpentry Foundation
  • Software Freedom Conservancy
  • Sunlight Foundation
  • Sustainable Economy Law Centre
  • Taproot Foundation
  • Transition Towns Aotearoa/ NZ
  • Waikato Linux Users Group
  • Wiki NZ
  • World Wide Web Consortium (WC3)
  • Xiph.org
  • XMPP Standards Foundation
  • Peer2Peer

  • BitCoin
  • FreeCoin
  • Permaculture

  • Appropedia (CC-BY-SA 3.0)
  • Fruit Tree Planting Foundation
  • Future Scenarios
  • OrganicDesign
  • Permaculture in NZ
  • TransitionMovement
  • We Speak for Freedom
  • Privacy

  • Access Now
  • Digital Due Process coalition
  • Ever Vigilant
  • Fight for the Future
  • International Principles on the Application of Human Rights to Communications Surveillance
  • LEAP Encryption Access Project
  • OASIS
  • Privacy International
  • Reform Government Surveillance
  • What If
  • protocols and licensing

  • Definition of Free Cultural Works
  • Digital Standards Organisations
  • Greenlots
  • ISA Commons
  • Open Archives Initiative
  • Open Stand
  • Open Standards NZ
  • Open Web Foundation
  • OpenADR Alliance
  • Regular Events

  • Libre Graphics Meeting
  • Open Hardware Summit
  • science and datasets

  • AllTrials
  • Collaborative Knowledge Foundation
  • DigitalNZ
  • Fair Tracing Project
  • ISA Commons
  • Open Geospatial Foundation
  • Open Hand Project
  • SourceMap
  • Wiki NZ
  • Zooniverse
  • Tools

  • Autistici/Inventati
  • BitCoin
  • Black Duck Open Hub
  • CoActivate
  • Crowdfunding
  • DistroWatch
  • Dyne Foundation
  • F-Droid
  • FLOSSManuals
  • Fork the Cookbook
  • FreeCoin
  • GITHub
  • GNU Operating System
  • GreenStage
  • H-Node
  • How To Escape the GoogleMax Panopticon
  • Knowledge Sharing Toolkit (CC-BY-SA 3.0)
  • LEAP Encryption Access Project
  • LinuxTracker
  • Loomio
  • Map Tools
  • May First/ People Link
  • Meeblip Open Source Bass Synth
  • Monolith
  • Open Hand Project
  • Open Source Ecology
  • Open Space World (CC-BY-SA 2.5)
  • Open Street Map
  • OpenCorporates
  • OpenMailBox
  • Participatory Culture Foundation
  • Plumi
  • Renewable PCs
  • Replicant (OS)
  • RiseUp
  • Savannah
  • Show Me Do
  • Sourceforge
  • SourceMap
  • TransforMap
  • Translation Project
  • Web Platform
  • Zenbu
  • Transition

  • Green Map System
  • Health After Oil
  • Localise
  • OrganicDesign
  • Wiki

  • Appropedia (CC-BY-SA 3.0)
  • Foundation for Peer-to-Peer Alternatives
  • Instructables
  • LibrePlanet
  • Open (Government) NZ
  • Participedia
  • SourceWatch
  • WikiEducator
  • wireless mesh

  • Guifi
  • workplace democracy

  • Enspiral
  • The Working World