solderpunk solderpunk at SDF.ORG
Mon Jun 15 18:38:13 BST 2020
- - - - - - - - - - - - - - - - - - -
Greetings all,
After today's change to the spec to introduce some new line types, I am announcing a permanent freeze on the addition of non-trivial new features to Gemini.
This is a bit of a deviation from the big picture plan I sketched whenannouncing the last three month spec free, which was:
1. INTERVAL = 3 months
2. Spend INTERVAL actually building Geminispace and associated tools,
with no major spec changes.
3. Ask "What is the *single* biggest problem/shortcoming of the current
spec, based on everything that has actually been done or been tried
in the past INTERVAL?"
4. Possibly (but not necessarily) change the spec to address the
answer to 3, if the problem is deemed bad enough and can be
addressed without adding too much extra complexity.
5. Set INTERVAL = 2*INTERVAL
6. GOTO 2, or END.
I still very much agree with the spirit of this plan and think this is afine way to develop small and simple software with a clear purpose andto avoid the ever-present danger of feature creep. That said, in terms of the practical implications for Gemini, strictly following this plan would cause things to stretch on too long. Announcing a six month freeze would bring us into next year, and to be honest I really want this whole thing (as in, the specification of Gemini) to be absolutely done and dusted by the end of this year. That includes all the finalfine-toothed combing and worrying about little details and edge cases.Which means actual work needs to stop as soon as possible.
What we have specced right now is still small and simple, easy to learnand easy to implement. IMHO we have done a good job smoothing off allthe rough edges of Gopher and all of the project's original ambitionshave been met. The full capabilities of, and the full extent ofproblems with, even very simple systems like Gemini take years to befully uncovered and understood (a point the demosceners amongst uswill attest to!). Things like Tomasino's recent post about the excitingpossibilities of taking advantage of the fact that Gemtext can be correctly processed line-by-line to "stream" content like chatrooms or logs, and Francesco's post about CSRF in Gemini, both show that we haveonly just begun to scratch the surface of Gemini. Adding anythingfurther at this stage when there are still so very many practical pointsneeding attention, and when we still don't even really know what wehave, seems very unwise to me.
This means there will never be any official mechanism for uploadingGemini content within Gemini itself, beyond what can be built on top ofwhat we already have, with possibly a few trivial tweaks added to easethis. I realise this will disappoint a lot of people and I'm honestlyreally unhappy about that. But Gemini was never supposed to be allthings to all people - I really don't believe any software which isreally simple *can* be that, and I really believe that radicalsimplicity is necessary to make software possible to correctly reasonabout, which in turn is necessary to make it reliable and secure and forusers to exercise their autonomy, and to make it easy to implement anddeploy, which in turn is necessary to keep it from falling into familiartraps of centralisation, monopolisation, etc.
If there are people in the community who want to independently develop aseparate companion protocol in the spirit of Gemini to address theupload problem, I can't and won't attempt to discourage them, as I'mfully aware that I have absolutely no right to do so.
As the focus of activity in the community begins to move away fromdefining the Gemini protocol and toward building things on top of thefixed foundation that its final form offers, there is honestly a reallywide range of things that interested people can get their hands dirtywith if they want to, and this includes lots of stuff related to makingGemini more accessible to people without the requisite technologybackground to make use of pubnix hosting and similar resources. Thisincludes development work (I think it's very clear that we have not evenbegun to scratch the surface of possible ways to ease the publishingprocess without adding anything to the protocol) and educational work(writing good Gemini-hosted content helping people acquire thattechnical backround). This is very worthy work toward a very worthygoal and I fully support it.
Those of you who just won't know what to do with yourselves without thethrill of arguing over specification details need not feel any sense ofloss as the Gemini protocol begins to stabilise, even if you don't havethe stomach for the less glamorous work of fiddly minor final detailwrangling: we still have a big pile of interesting "side-specs" thathave not received full attention, most notably adapting robots.txt intoan environment without User-Agents.
I think we can rightfully be very proud of ourselves for what we'vedeveloped here so far, and I really look forward to us starting to makeuse of it in earnest! Thanks to everybody who has contributed to theproject in any way, large or small. Despite the air of finalitythroughout this email, this really is just the very beginning of thiswhole thing. Let's build an awesome Geminispace!
Cheers,Solderpunk