-- Leo's gemini proxy

-- Connecting to geminiprotocol.net:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

2023-07-22 - Some plans


Here is some of what I have planned for the official Project Gemini capsule in the near future. It's not a complete list, but it's stuff I'm ready and feel the need to share at this point.


As mentioned in my previous news post about the FAQ updates, there will be a second round of FAQ updates to come. The second update will be less substantial than the first, rest assured! The focus will be mostly on section 4, "Protocol design", which went through the previous update with minimal change. In particular, I want to re-write the "design criteria" section, to put more emphasis on some things and less on others.


I am painfully aware that on the face of it this has the feel of trying to rewrite history, but I promise I'm not trying to change what Gemini is or was about. It's just that some things that really were fundamental guiding principles, like non-extensibility, are mentioned in passing in individual answers rather than being clearly highlighted like they should have been. Other things, like giving full control of styling to the client, weren't considered such a huge deal in the early days of the project when the FAQ was first written, but today this is considered by many to be one of Gemini's core strengths, and from the point of view of somebody coming from the web who is trying to understand Gemini it's a really major difference which ought to be emphasised. Maybe it falls under the broader banner of "user autonomy", which is again something that really served as a guiding principle but didn't make the cut when the early FAQ was written with a target audience of gopher and pubnix geeks. In short, the updates to section 4 will be a retrospective reframing of the real, actual, genuine design history for a wider audience. I just want folks to actually understand what we are and are not trying to do here!


I'll have more to say in future posts about the messy history of Gemini's design, resulting from trying to "just roll with" the collision of a vague and informal management infrastructure with a sudden and massive influx of enthusiastic newcomers, and how I think we can best regroup to move forward.


To further emphasise that I'm not trying to rewrite or hide the project's history, I plan to actually add an official "History of Project Gemini" section to the capsule. This will include, at long last, an official full archive of the mailing list accessible via Gemini itself. But the project's history predates the existence of the mailing list. There's lots of old foundational material still hosted only in my Gopherhole, and the official project capsule doesn't even link to it. It's very under the radar, but it oughtn't be. Copies of that material will be made available here via Gemini as well. I'll prepare a short official timeline of the project, emphasising some major milestones. All of this will be easily accessible in one central, official location for the first time.


Speaking of "one central location"...at the moment there is no explicit copyright license on the content of the official project capsule. I will rectify this situation soon. I don't know which license I'll choose yet, but it will certainly be something which makes it entirely legitimate for people to setup unedited mirrors of the official capsule without them needing to ask my permission. I am happy to designate a few mirrors as official mirrors, and point subdomains at them, and link to them from the origin capsule. You can reach out to me if you are interested in running one of these, but please don't do so lightly. Only volunteer to run an official mirror if you can commit to keeping it up for years, with very good uptime (but not necessarily perfect - about as reliable as this server is fine!). The main motivation behind this system is to give the project some resilience. If I get hit by a bus and the official capsule goes offline when the bills don't get paid, then there will be pre-existing, known and trusted places people can turn to for all the official documentation and project history.


Finally, as mentioned in question 3.8 of the new FAQ, I intend to switch out the current single, informal specification for the two separate, more formal specifications that Sean Conner began work on in a GitLab repository, but that will happen slowly and carefully. I'd let to get this out of the way before thinking too hard about spec updates to avoid the burden of trying to keep two separate sources up to date, but if in the process of comparing the two I come across minor inconsistencies or ambiguities which seem like they can be cleaned up quickly and easily, I may do that as I go. I'll certainly be paying attention to the GitLab issues and other recent Geminispace discussions while I compare the two spec versions and convince myself that I'm ready to switch the "official" label from one to the other. The single, informal spec that has served us well all these years will stay around, perhaps in a slightly abbreviated form, both for the sake of preserving history and also just providing something quicker and easier to read which is still, let's be perfectly honest, absolutely good enough for coding up something that will work correctly for 95% of everything that 95% of people will ever want it to do.


I don't want to put a strict timeline on anything above, beyond that I expect everything mentioned here will be complete by the end of 2023. I know that's not a rapid pace, but it's a lot better than the recent status quo and, more importantly, leaves me time both for other things in my life and also to actually participate in writing and building for the Gemini community alongside leadership. I definitely want to do some more of that this year, too!

-- Response ended

-- Page fetched on Tue May 21 22:51:31 2024