💾 Archived View for geminiprotocol.net › docs › faq-section-3.gmi captured on 2023-09-28 at 15:43:11. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-09-08)

🚧 View Differences

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

Project Gemini FAQ - §3 Project history, organisation and trivia

3.1 How old is Gemini?

Project Gemini started in June 2019. While the protocol itself is largely finalised, the available software, resources and community are still in a relatively early (though thriving!) state of development. If you'd like to know a lot more about the history of the project, you can find the dates of some major milestones and occurrences at the official project history linked below:

Project Gemini history

3.2 Who is behind Project Gemini?

Project Gemini was originally started by Solderpunk <solderpunk _at_ posteo _dot_ net>, who remains the "Benevolent Dictator" of the project.

However, the protocol has been designed in collaboration with a loose and informal community of many interested parties via private emails, public mailing lists, posts made in Gopher's "phlogosphere" (which is where Gemini originated) and toots in the Fediverse. So while the project has a single leader, Gemini should certainly not be thought of as the work of a single person.

In particular, the following individuals were very active during the earliest stages of the project, and without their contributions Gemini would either look quite different to how it looks today, or perhaps would not even be around today at all:

Specifically, each person on the list above satisfies at least three of the following criteria:

If you believe you meet at least two of those criteria and your name is not above, please contact Solderpunk!

3.3 What is the leadership structure and decision making procedure?

As mentioned, Solderpunk functions as a Benevolent Dictator and decision making authority lies with him. Decisions are generally made on the basis of consultation with the community and Solderpunk strives to maintain transparency and to justify decisions in terms of the project's goals.

In February 2021, long time Gemini contributor Sean Conner was granted some decision making authority to help finalise the Gemini specification during a time when Solderpunk was unable to dedicate the necessary time and energy to the project. Later in 2021, Solderpunk returned to leadership duties.

3.4 Wait, that's it? No committees, no elections, no annual reports?

The administrative structure of Project Gemini has been deliberately kept lightweight for two reasons.

Firstly, Gemini is an "opinionated" project with arguably a clearer idea of what it doesn't want to ever become rather than exactly what it should be. It errs strongly on the side of minimalism in order to stick to these ideas. Large and bureaucratic "design by committee" processes can be fatal to projects like this.

Secondly, unlike the majority of modern technical projects, Project Gemini does not aim to stay active at a constant or increasing level of activity for as long as possible, continually making changes, but rather to try to finish something small and bounded as quickly as possible and then leave it finished forever after. A project like this should require a lot less administrative overhead than, say, developing a Linux distribution.

3.5 Sounds nice in theory, but Solderpunk disappears a lot and nothing gets done

It's true! But as of 2023 he seems to be getting better. He begs forgiveness, patience, and trust.

Delays are frustrating, but there shouldn't be a sense of urgency around Gemini. Thanks to both the lack of easy extensibility of the protocol and the healthy diversity of client implementations, it's very difficult for the project to get "hijacked" in any meaningful sense during periods of "leadership vacuum". This is by design, and in some sense Solderpunk's burn out hiatus period has functioned well as stress test of this design philosophy. Gemini passed with flying colours! People just kept using it to build cool things.

3.6 What happened to the mailing list? Will it come back?

Quite early in the project's life (in August 2019), an official Project Gemini mailing list was established, and for many years this was essentially the "heart" of the project. The mailing list infrastructure was provided to the project free of charge by the admin of the now defunct orbitalfox.eu domain. This act of kindness had a tremendous impact on the project.

Unfortunately, the approach of having a single unmoderated mailing list where everything happened did not scale well as interest in the project grew rapidly. As the community expanded from a relatively small group of Gopher users with a common technical and cultural background and at least a vaguely shared vision to a large and growing group of people with a variety of backgrounds and expectations, disagreements grew increasingly common, and the overhead of having to continually explain and justify the overall philosophy become burdensome. Sometimes discussion became heated. A lot of people who had been active in the project since its earliest days unsubscribed from the list and drifted away from the project.

Sometime during the final days of 2021, the orbitalfox.eu server suffered a hardware failure and the mailing list went offline. The server was never fully resurrected and the mailing list remains defunct. Thankfully, multiple members of Gemini community had local archives of the list, and every post can still be read today:

View full list archives via web

View partial list archives via Gemini

It would be hard to deny that ultimately the mailing list "didn't work out", and to this day the list can be a little bit of a touchy subject for some Geminauts. Despite the unfortunate end, it's just as undeniable that in many ways it served the community well, and lots of important discussions were had on the list which fed directly into the protocol design. The project certainly would not have been better off without it.

It's not clear that bringing the mailing list back would be a substantial boon for the project, at least not as a means for conducting official work on finalising the protocol design. As a community resource for announcing projects and sharing links and other information, the idea has more merit. If somebody with a proven track record of positive community involvement wants to volunteer to operate and moderate such a list and take responsibility for it not devolving into endless arguments about supposedly missing features, they may contact Solderpunk.

3.7 What stage of its lifecycle is the project in?

The current (informal) specification of the protocol is largely frozen, modulo small changes to remove ambiguity and address edge cases. Suggestions for new features will not be considered, as the protocol is considered feature complete. Going forward, the main focus of the project now is on growing the community around the protocol, as well as working on translating the existing specification into a more precise and formal version which might be considered for submission to internet standards bodies such as IETF and IANA.

3.8 I found a GitLab repository with a different spec from geminiprotocol.net, what is it?

This is neither the current official spec nor a rogue fork. Rather, the repository was setup during the time of Sean Conner's decision making authority (see 3.3 above) to help keep track of outstanding issues while working towards a finalisation of the spec. As part of that process, the single, informal document that was and is the official specification was split into two parts, one for the network protocol and one for the text/gemini file format, and both were being worked into more formal versions.

In principle, the two different specifications should be identical or close to it, and where they differ the changes in Sean's newer version ought to be things that Solderpunk agrees with, but this can't be completely guaranteed.

Solderpunk has made it an explicit goal to resolve this situation by the end of 2023 by carefully examining all versions and eventually switching to two separate formal documents derived from those at the GitLab repository as the new official specs and hosting them at the official project documentation.

3.9 What's with the name?

It's a reference to the pre-shuttle era of US manned spaceflight, which consisted of three projects. The first was Project Mercury, which was a fairly minimalist "proof of concept" and part of the race to put a human in space soonest (which the Soviet Union won with their Vostok project). Mercury was a one-man capsule with no ability to adjust to its own orbit after launch and only one Mercury flight lasted longer than a single day. The last was Project Apollo, which was large, heavy, complicated and expensive but could, of course, fly three men to the moon and back.

Less well known to the modern public, Project Gemini was the "middle child": a two person capsule which could rendezvous and dock with other craft in orbit, could be depressurised and repressurised in orbit to facilitate spacewalks, and whose longest flight was almost two weeks - longer than any Apollo mission! In terms of size, weight and cost Gemini was much closer to Mercury than to Apollo, but in terms of capabilities it was the other way around - there were even plans (which never eventuated) to do circumlunar Gemini flights!

Hopefully the analogy is obvious: Gopher is akin to Mercury, and the web is akin to Apollo. Gemini hopes to sit between the two, doing more with less.

Gemini very deliberately didn't receive a name which had *anything* to do with gophers, or other rodents, or even other animals. During the earliest phlog-based discussions which eventually grew into Project Gemini, a lack of careful writing meant it was sometimes unclear whether people were talking about replacing Gopher outright, or adding unofficial, compatibility-breaking upgrades into existing Gopher clients and servers. When idle discussion turned into an actual project, it seemed wise to send a clearer message.

Links

Next section: Protocol design

Previous section: Getting started in Geminispace

All FAQ sections in one document.