💾 Archived View for ainent.xyz › gemlog › 2022-01-26-simplicity-of-gemini.gmi captured on 2024-07-09 at 00:00:13. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-07-10)
-=-=-=-=-=-=-
The more I get into Gemini development, the more I appreciate the simplicity of the Gemini protocol. As I've detailed in other posts, I've been writing my own Gemini server, smolver. I won't repeat myself here, but suffice it to say that I had a basic server up and running with just a few hours of development time. That's a rough estimate which includes time spent over the past 2.5 years iterating on the socketing framework, originally built for another project, my MUD. Most of that 2.5 years was spent not developing it (I suffer from too many hobbies), or focusing on the MUD itself, not the socketing code. Full compliance with the spec is another beast, but that's still attainable by just a single dev working in his free time.
For anyone with a modicum of technical know how, there are dozens of servers from which to choose. Just on the officially known list alone, there are 25 as of the time of writing this:
That number does not inclued smolver, nor GmCapsule from @skyjake, nor the many others that are likely out there in the wild, undiscovered.
(@Skyjake, if you are reading this, I'm excited to try out your Gemini git front end once this server supports dynamic applications. Thanks for building and releasing that!)
That number also doesn't include the various pubnixes (pubnices?) I've seen geminauts discussing.
On the one hand, this could be seen as overwhelming to someone trying to get into Geminispace hosting, but on the other hand, if you don't like one or it doesn't meet your needs, there are plenty of others from which to choose. Or there's the nerdliest (yes, I just made up a word!) option of all: build it yourself. Contrast this with HTTP, which has, what, 2 servers? Perhaps there are a few more, but not many. Try reading the HTTP spec and see if you think you could just whip out a compliant server (or client) in your free time. Good luck.
Assuming that none of these servers become a de facto standard (as long as the spec stays frozen, I can't forsee that happening, though), it would be all but impossible for Geminispace to be taken over by corporate interests. They can try, but even if Gemini becomes "mainstream" (that sounds awful, honestly, ugh), the sheer simplicity of the frozen protocol would mean it would be nigh impossible for MAGA FT (Microsoft, Apple, Google, Amazon, Facebook and Twitter) to force de facto changes onto the protocol, for reasons explained above. I suppose they could try it from the client *and* server side, with massive marketing campaigns... but even then, I think that would just inadvertently shine a light on all the other client and server options. Even if they managed to get through that obstacle, I suspect that their clout would end up creating a schism: clients and servers with uncompliant additions, and the originals. If they got that far, then it would effectively mean a whole new protocol anyway, one that they can pervert to their avaricial hearts' content, while we early adopters are back to where we are today: our own little corner of the internet, free of commercialization and bullshit stalking (or as MAGA FT call it, 'targeted advertisements'). When you look at it like that, Gemini seems to be impossible to topple unless the community itself loses interest.
In short, the Gemini protocol is so simple I think that it'll ultimately be impossible to be monetized with a high enough ROI to attract Big Tech. If I'm wrong there, then we can still have our own sandbox anyway after they break away.
Am I oversimplifying this? Have I missed something? Am I totally wrong? If so, how can Gemini evolve into impenetrability?