💾 Archived View for tilde.pink › ~slondr › the-devil's-advocate.gmi captured on 2023-07-10 at 14:09:05. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

Alternate title for this post: "Gemini: Provacateur"

Warning: rant alert!

People keep posting the same arguments "against" Gemini. Usually it's on Hacker News, this time it's on Gemini itself:

freezr: "Four years of Gemini... And so what?"

Tech people who don't use Gemini love to criticize Gemini's specification for its many objective flaws. The usual suspects are:

People who write Gemini software, like myself, are occasionally annoyed by the incompleteness and ambiguousness in the spec.

But oh man it is so, so, so much more comfy to write Gemini software than nearly any other network protocol ecosystem. Maybe IRC comes close but even then Gemini beats it in brevity.

Folks have been repeating variations of the above five criticisms since at least I joined the Gemini community nearly four years ago. In 2021 some of these had some merit, and I had my own specific complaints about Gemini born from actually writing software for it (URLs were still the wrong choice vs IRIs, TLS was still the wrong choice vs a custom noise channel, etc), but it is becoming increasingly obvious now that all the people who criticise Gemini on rational and objective merits have an egg on their face.

Because *people are still using it.* A lot of people, in fact! You're using it right now!

It's a common refrain among people who are really plugged into gemini to dismiss technical criticisms, like some of those that Daniel Stenberg laid out, completely out of hand due to the critic missing _the point_ of what's going on here. A somewhat hyperbolic example here is Stenberg's criticism of Gemini for what he percieved as likely inherent poor performance for HTML+CSS+JS web pages with many remote assets, because Gemini doesn't re-use sessions so fetching dozens of hundreds of assets will be slower than HTTP/1.1. Obviously Stenberg missed the point that nobody is going to server HTML over Gemini!

And yet, I think some of Gemini's more measured critics within the ecosystem itself still fail to realize just how much of the point they are missing.

Gemini is broadly a reaction to HTTP. You could be more nuanced and say that Gemini is intended to be a better reaction to HTTP than Gopher can be.

To the goals of this intention, Gemini is wildly successful and any criticism of it must reckon with the fact that Gemini is winning the only battle it really cares to fight.

The needlessly poorly-written elements of the spec, the "non-closedness" (as freezr put it) of it, is absolutely part of that.

We should fix those problems if we get the chance, sure, but please do not overstate what damage the spec's issues are actually causing. Gemini software is incredibly easy and fun to write, moreso than most other living tech ecosystems out there right now. There is no Impending Doom for Gemini.

Of course, criticism is healthy and some of Stenberg's points (which freezr repeats without naming him directly) are valid and should be taken into consideration. But, critically, we now have years worth of lived experience to base new standards around, because as it turns out these issues existing in 2019 didn't stop people from writing Gemini software and maintaining Gemini spaces.

Gemini is playing devil's advocate to the modern web. The things that the web gets really, really wrong, Gemini has the opportunity to get right. The things that the web gets right, Gemini has the opportunity to get wrong. As a gemlog author and a Gemini software author, I love that!

I'll last touch specifically on this bit of freezr's post:

We need an "ad-interim" leadership to settle down conflicts when there is no common or major agreement. Someone that has a broad knowledge on how implementing Gemini in every aspect. I have my personal preference and for such role I would summon Skyjake.

Gemini needs no more leadership, and I doubt someone like Skyjake would even want a title like that. As Solderpunk himself keeps noting whenever he posts something, Gemini has become a real community-led project, and it can afford to do so because it has a real community now.

I do think there is merit to freezr's idea of community round-tables, but if any energy goes into an idea like that it should be as inclusive as possible. If that leads to gridlock and a failure to make concrete decisions, that should be ok! We're doing ok for now! It would be really fun (and also really funny) if someone tried to get an IETF standard for Gemini too; if someone wants to go through the effort for that, more power to them! But something like that is about as necessary for Gemini long-term as a "BDFL" would be.