, 21 tweets, 5 min read Read on Twitter
I feel the need to take time out of my busy packing for a 2 month trip to talk to everyone about Authoritarianism (A14M) in Open Source.

A14M is rampant in open source as a system of technical project management based on politics as a means of attracting true believers.
Contributing your free time to a project where you are potentially going to have no return on your time invested is a high risk for people.

Open Source projects have to use propaganda and A14M to convince people to follow them to glory. This creates toxic group think community.
The method usually used is to invent some form of "humiliation" that your project fixes. Usually it's something dumb like "Events over Threads" or "Java's Type System" or "Closed Software". Once a humiliation is voiced this gives the project an enemy for the community to hate.
This works typically because many people are insecure narcissists and crave power, but are afraid to get it on their own. Promising them authority over an enemy--no matter how stupid, like Events over Threads--gives them that power.

However, this is done for control.
The project wants to maintain control over the code and only wants you to contribute on their terms. This is why core groups are closed (and frequently all white males), why all criticism is met with "send a PR", and why any dissent results in slander and abuse.
However, programmers like to fancy their selves as free thinking libertarian types, so nobody in open source will outright say you have to follow their A14M. Instead they say "all are welcome, look at our CoC", and preach open access and freedom.

But....
Eventually your enemies run out, and you followers need new enemies. You then have to craft a new "us vs. them" world view with a new enemy. Ruby on Rails and DHH were the masters of this, recrafting their "X over Y" on nearly every release.

Many times the new enemy is...
A critic or possibly even just someone who doesn't contribute directly and makes a competitor of the authority's friends will become the new enemy. The community is then incensed to attack this enemy and believe anything the authority claims.

Blindly believing authority is A14M
A classic example from Python is how Guido Van Rossum used his power to wipe out Aaron Swartz' project web.py, simply because Aaron said it was better than Django. It was, but after Guido went on a popular podcast and claimed it had "too much magic", it died.
Not only did web.py die, but it *also* was attacked and vilified for having "magic" for a decade after. When you ask them what the problem is, they can't say why magic is bad (they all use it), but just "Guido doesn't like it."

That's authoritarianism.
In my own case I merely said I didn't like the way Python did strings before 3.6, and I thought the project was run exactly as I describe above, and for that I became the new enemy.

Prominent PSF members actually contacted every author they new trying to wipe my book off Google.
Mysteriously, these same people then claim taking technical criticism personally is a sign of bad character, but you'll never see a single person stand up to anyone in the PSF for doing the exact same thing.

That's b/c, they are authoritarians, and I or Aaron Swartz are enemies.
But, I now believe that this strong and incredibly persistent of A14M in open source actually destroys a project's technical excellence. Take Python vs. JavaScript as an example. JS was very authoritarian ran for years until they actively decided to stop doing that.
The second all parties involved in the JS evolution embraced a more open method of standardization that enabled developers we had an EXPLOSION in usability and uses of JS. It's everywhere and used for everything, with millions of packages and projects available.
Many of your top billion dollar desktop and phone apps are written with JS, you can make everything from AI to high quality games to full desktop clients to backend servers to weird art and most everyone can publish freely without retribution.

Python isn't even close.
And I believe that what holds Python back is a combination of the terrible implementation of the two versions of the language combined with a stifling of innovation that contradicts Guido's very old esthetic of "no magic" and retaliation against any critic.

In short: A14M Kills.
Always remember that this A14M has to be hidden. They won't outright do it unless you're in their inner circle. You can spot a project is run this way though by how the *followers* handle project critiques. If you see them attacking with abuse and singling out one person.....
That's authoritarianism. What's worse is all of these project maintainers seem to also be super into equal rights and progressive values while at the same time supporting coordinated abuse of any enemies in a very non-progressive way, usually in violation of their own CoC.
Because of Python's authoritarian management style, Guido's willingness to attack any critics, his use of back channels to push for people to rewrite code, his use of threats, and because Python really can't do nearly as much as JS, I've been slowly not recommending Python.
My goal is to teach people who want to code, and if someone comes and asks if they can make almost anything in Python I honestly have to say, yes but not easily.

But, I cranked out this thing in JS in like 2 weeks without knowing that much about the tech: zedshaw.art
Results matter, and if I'm going to teach people to make fun artistic things, I'm going to avoid Python both for its lack of capability compared to JS, *and* their abusive authoritarian project management methods.

The end.
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Zed A. Shaw, Writer
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!