The Mother Software


Not the Earth

I am writing this on earth day, but this isn’t about the earth. On way to work I was riding the bus. And as usual, I was catching up on my reading as I was glued to the phone. During a stop, as many of you probably have, I looked around and found everyone else doing mostly the same thing. It isn’t too different from the scenes way back when where men in hats read their newspaper on the bus. The format changed, but the activity stays the same. Instead of hats we have headphones.

Lamenting the dreams of Alan Kay, I have come to understand that computers have replaced the old media. Not just in form, but also its place as people makers. Society and its stories is what makes our people, and while Mother Earth creates everything that keeps us alive, it is Mother Software that now is creating who we are.


This Machine Kills Fascists

David Graeber talks about how up until the 1700s, nobody had ever written a book describing what are the conditions that create the most wealth. They were writing, what are the conditions that create the best people. I am starting to see a moral transformation where people are asking these questions again. It all started in 2011 when a wave of revolutions swept the middle east and social movements like Occupy Wall Street spread throughout the world. Before violently being crushed. You can see it today with the slow destruction of America’s two party system, with Bernie Sanders and Trump representing the tensions between the old guard and the new constituency on the Democratic and Republic sides.


Walking Away

I believe a similar moral transformation will take place in our little world of software. We have to reconsider the place of software in our society. Because the production output of society is not the creation of things, but the creation of people.

Which brings us back to the people glued to their phones. Besides replacing the old media, software is replacing old economic structures. Where the clearest example is crowd funding. Instead of being passive subjects in the decisions of what gets made. Where, prior to crowd funding, bank managers and venture capitalists decided which ideas get funded. We can now be part of that decision process thanks to software innovation.

A similar structural transformation happening before our eyes is happening in politics. Bernie Sanders is raising more money than Hillary Clinton by using software. He has raised $46 million dollars in March alone. Where before he would have to beg the owning class for funds, he can simply ask them from us. His campaign for presidency would not be possible without software like ActBlue.

These are examples where Software is helping produce better people. People who feel empowered. This is software helping people practice democracy in both politics and economics. Yes, technology is helping create more Socialists.


Bubble of the Mind

Mother Software is also replacing other fundamental functions in our society. Social institutions like local newspapers, zines, and libraries, are being replaced with, what DuckDuckGo calls the “Filter Bubble”. We are now more often self selecting the information we receive. Websites like Google and Reddit take our input and feed it right back to us, creating a cycle of perversion. So instead of getting opinions about information and ideas from those around us, we get it from those around the world like us.


Cycle of Perversion

This is further reinforced with news feed algorithms from Facebook. They show you what they think you like, based on your likes. It seems people are being slowly exposed to a fewer variety of ideas.

It is time we, the software makers, start thinking whether the software we are creating, is creating the friends we would want to have. What is the software that creates the best people? Because as Earth Day reminds us, we are approaching a global crisis. Global Warming is happening, and the effects are largely unknown. We will want the best people around our children when they have to handle that fatal bind.


Fatal Bind


The Cloud’s Shadow on Grass Computing

Fortunately for all of us, in 15 years since the dot-com bubble collapse, there has been an increased effort from Free Software and other developers to create decentralized systems. Bittorrent,  Tox,  ZeroTier One, TeleHash, Media Goblin, Sandstorm, GNUNet, and countless others.  This includes my own Fire★ project which I have coined Grass Computing.

Grass Computing is running decentralized Free Software.

If Cloud Computing is running decentralized software on rented machines corralled behind a wall. Grass Computing is running decentralized free software on your own hardware in the open. It is the Yin to the Cloud’s Yang.

There are many modern projects that enable people to do this now, but one myth is that this is something new. That in the beginning, the internet and the web was centralized, and it is moving towards a decentralized model. This is how the story is told but the reality is the opposite. The internet and many applications that run on it were first decentralized and have since been centralized. This forgotten history should be a warning to these modern decentralized system developers. Their systems can be co-opted and centralized at any time.

The most obvious example is email. Email is inherently decentralized because anyone can run a mail server and two mail servers can communicate directly without a middle man. Since the late 90s, many companies started to provide centralized email services and now most people in the world don’t run their own mail server, but rely on corporations to mediate their email communications for them.

There are many reasons why this happened, but the most compelling and provocative reason comes from the Telekommunist Manifesto. Which basically states that capitalists didn’t understand what the internet was but knew it was important and started buying everything they could. This led to the dot-com bubble of the late nighties. And in order to monetize on their investments, they invested in centralized computing because they can’t control communication of peer-to-peer software. They need the central control because it is the clearest way to get a return on their investment.

In other words, capital investment moved heavily towards centralized services instead of peer-to-peer ones, starving peer-to-peer software development of resources. The brightest and most well paid engineers now concentrate their minds and bodies to build centralized systems. These are called Star Networks because all communication of all nodes is mediated through a central point, having the shape of a star.

This is why people prefer a central email service. Because it is really hard to run your own mail server and it is really easy to log into Gmail. Imagine a different world where Google invested in making it easy to run your own email server which you can access from any web browser. Imagine a “Download Gmail” button where, with a couple short steps, you can be running your own Gmail software on your own machine at home. There is no technical reason why they could not do it. But there is no incentive for them to do it.

Another example is chat. Before centralized chat programs became popular, people could talk on IRC, which is federated and can be decentralized. I can run an IRC server which you connect to. We can talk directly as a group with each other. Now people use centralized chat services because they are far more convenient than running your own. Not because of any technical limitation, but simply because companies spend more time polishing and making centralized chat easier and more attractive than any competing decentralized chat.

Another example is GitHub, which takes Git’s inherently decentralized model and centralizes it. People use GitHub because it is easier than hosting your own code..

We need more Grass Computing software, and I believe if we had more social and capital investment, fellow engineers can make using decentralized software as easy as logging into Gmail, or talking over Skype (which used to be p2p but became centralized).

Check out redecentralized for some great interviews with engineers making grass computing easier to use. Get inspired and participate. And as a shameless plug, check out my own Fire★ project which aims to make writing p2p software easier than writing client server software.

If you take anything from this post take this:

Spread the idea of Grass Computing and warn others that it is a constant fight not to have decentralized software become co-opted and centralized.

Also fight for a basic income. If we have a basic income, then many more people may spend time working on decentralized systems. Consider it a social capital investment.

My Software is Infinitely Better than Skype

I wrote a little peer-to-peer application platform called Fire★. You can write graphical P2P applications using Lua.

Fire★ will keep track of your contacts and manage the hard parts of p2p programming like UDP hole punching and keeping connections going. There is also a built in application editor where you can pair-program with others in real time.

Much Excite

You can think of it as an extensible Skype, where the modes of real time interaction are defined by the users and not the engineers.

Yes, you can use it for text chat. Yes, you can transfer files with it. Yes, you can do voice chat. Yet none of these things are “built” in features.



However, It Sucks

However, the text chat is terrible compared to Skype. The voice chat isn’t that great, and doesn’t filter out nearly enough noise. The white boarding app is stupid simple and can’t compete with other Skype like applications like Lync. Most of the example apps are just toys and nothing serious has been built with it. In many respects, Fire★ is technically inferior to Skype. It is more difficult to use and not as pretty. There is no support for video yet. There is no phone support. And it probably crashes more often.

But my Software is infinitely better than Skype.

It is infinitely better in a way Skype will never be because it is Free Software. The source code is available under GPL on GitHub.

You can read it and know what it is doing. You can change it for the better. And you know it isn’t spying on you. You have freedoms using it that Skype will never give you, and in this way it is infinitely better.

I love that Tox exists. I love that Pidgin exists. And I love that my little p2p communication tool exists. We need more Free Software, even if it is to scratch a little itch.

So far there have been only two contributors to this project. I don’t expect it to ever have more because the median amount of contributors to a Free Software or Open Source project is one.

I am a realist. It will never be better than Skype for communication and features. It doesn’t have a multi billion dollar company behind it. However, I still consider it a success because it will benefit whoever uses it in a way that Skype can’t.