Anti-capitalist human scale software (and why it matters)
Jesse Kriss
76596

Twitter launches features no one wants.

Probably because Twitter doesn’t know what to do with itself. As a publicly traded company, it gets a cacophony of voices form people who invested money into them to turn a profit, but doesn’t know how and the user base it has is so large that if a feature inconveniences just 1% of people, they have close to a million voices screaming at them. They’re between a rock and a hard place with no strategy to get out.

Parse shuts down.

Because it was unable to make money. It provided a service someone else has to subsidize and that someone couldn’t justify the cost. They did post their source code for everyone to use however, so it’s not a total loss.

Websites track us to an astonishing degree.

We refuse to pay for anything anymore so the only way they can make money is ads. And the only way they can make money from ads is by hoping to make them in some way relevant to us, which means they have to try and track us to figure out what we’d like. It’s the Freemium trap. If your free service just isn’t compelling enough to at least break even with paid subscriptions, you now have to sell your soul to ad networks.

Corporations close down open systems.

Usually because they can’t afford to support the scale or for security reasons. And yes, there’s also the profit motive involved. But they don’t close them down just out of spite and malice.

They turn over our data to the government.

And if they don’t, the government can shut them down and imprison them for obstruction of justice, spoliation, etc., etc. They have no real leverage other than stalling in secret courts. Voters have to fix that, not software engineers. Our hands are bound by the law.

Each particular community … should be able to decide if they want to accept the latest update of a given service or not.

Sounds lovely in theory, but in practice… What if the community is split on a feature so much so it can’t make up its mind? What if a vocal minority hates an update with a zeal and will do anything it can to derail its acceptance? What happens to the background updates for security and speed which will require code reviews by users before its accepted? Those are very difficult for large code bases and easily prone to the Too Many Chefs In The Kitchen problem. It’s putting a massive bureaucratic roadblock in the way of updating software.

Just deciding which software to accept is not enough to shape a system–its participants must be able to add the things they need.

*shudder*Again, lovely in theory but in practice, it’s ripe for security breaches, over-complicated abstractions to make everything work in sync, everyone can add his or her own standard… Code is math and math is not a democracy in which everyone must get a say. There are unfeasible and impractical things for which we shouldn’t fall in the spirit of openness.

Today, the bar for programming your own ecosystems and attaching things to APIs has never been lower. There’s a tutorial for every major programming language and a free download for every ecosystem under the sun. No one is banning anyone from creating or extending existing features. But we would like some sanity in the process and be able to enforce basic rules that don’t require us to open up gaping security holes or rent expensive computing capability to cope with poorly written modules just because someone wants to do something differently from everyone else using the same platform.