-- Leo's gemini proxy

-- Connecting to git.thebackupbox.net:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

repo: gemini-site
action: commit
revision:
path_from:
revision_from: f5287751aa31bba7a885adc4f7cfd432c3e0b9b8:
path_to:
revision_to:

git.thebackupbox.net

gemini-site

git://git.thebackupbox.net/gemini-site

commit f5287751aa31bba7a885adc4f7cfd432c3e0b9b8
Author: Solderpunk <solderpunk@sdf.org>
Date:   Sun Jun 23 19:01:47 2019 +0000

    Initial commit of FAQ.

diff --git a/faq.txt b/faq.txt
new file mode 100644
index 0000000000000000000000000000000000000000..350c9e2d4b5c0dd527b39cfdcc8b84db863e9a43
--- /dev/null
+++ b/faq.txt
@@ -0,0 +1,153 @@
+What is project Gemini?
+-----------------------
+
+Project Gemini is my effort to design a new application-level internet
+protocol for the distribution of arbitrary files, with some special
+consideration for serving a lightweight hypertext format which
+facilitates linking between files.
+
+Gemini is not an exercise in absolute, brutal minimalism, and will not
+result in a "featherweight" protocol.  This doesn't mean featherweight
+protocols are bad, I think they're interesting and fun, it's just not
+what this project is about.  Informally, Gemini is about designing a
+protocol which maximises "power to weight ratio" without crossing the
+line from "lightweight" to "mediumweight" (I don't know what this
+means, but I trust that I'll know it when I see it).  Even less
+formally, and in the grand internet tradition of meaningless car
+analogies, Gemini is a protocol answer to the question "What is the
+closest thing you can build to a HUMVEE which still weighs less than a
+Volkswagen Beetle and can be maintained by a backyard mechanic?".
+
+Gemini looks to gopher (mostly great, but with some undeniable pain
+points) and to the web (mostly bad, but with some good ideas and
+valuable capabilities) for examples of potential problems associated
+with protocols which are close to the lower and upper extremes of
+complexity/capability, and strives to walk a middle path between them.
+It is inspired by both, but is not backward-, upward- or
+sideways-compatible with either.  Gemini is not intended to replace
+either gopher or the web, but to co-exist peacefully alongside them.
+In the same way that many people serve the same content via gopher and
+the web, people will be able to "bihost" or "trihost" content on
+whichever protocols they think offer the best match to their technical,
+philosophical and aesthetic requirements and those of their intended
+audience.
+
+Design criteria
+---------------
+
+Simplicity:
+
+* It should be possible for somebody who had no part in designing the
+  protocol to accurately hold the entire protocol spec in their head
+  after reading a well-written description of it once or twice.
+* A basic but usable (not ultra-spartan) client should fit comfortably
+  within 50 or so lines of code in a modern high-level language.
+  Certainly not more than 100.
+* A client comfortable for daily use which implements every single
+  protocol feature should be a feasible weekend programming project
+  for a single developer.
+
+Privacy:
+
+* The privacy disaster of the modern web must be avoided at all costs.
+  Nothing which could conceivably be used as an equivalent of cookies,
+  Referer or User-Agent headers will be included.  The cautionary
+  tales of browser fingerprinting and Etag-based "supercookies" should
+  be kept in mind: it's not enough to avoid designing in features
+  which obviously facilitate tracking.  The protocol design should
+  assume active, malicious efforts to sneak tracking in, and minimise
+  the potential for this as much as possible - even if this means
+  missing out on nice features with legitimate uses.
+* It's not the 90s anymore, and sadly it never will be again.  In some
+  countries it's perfectly legal for ISPs to log anything that they
+  receive from or send to their customers, analyse those logs, and
+  sell the results to marketers.  In other countries, so-called "deep
+  packet inspection" is used to terminate connections when certain
+  forbidden words or phrases are recognised.  The protocol must not
+  stick its head in the sand with regard to this.
+
+Functionality:
+
+* The "first class" application of Gemini is human consumption of
+  predominantly written material - to facilitate something like
+  gopherspace, or like reasonably-used webspace (something which is
+  comfortably usable in lynx etc.)  Where possible, the protocol
+  should be designed to minimise the overhead associated with this
+  application.
+* But, just like HTTP can be, and is, used for much, much more than
+  serving HTML, Gemini should be able to be used for as many other
+  purposes as possible without compromising the simplicity and
+  privacy criteria above.  Simplicity and privacy always come first,
+  and text for humans always comes first, but if it's possible to do
+  something else simply and privately, Gemini should support it,
+  even if it's obviously not the best tool for the job.  This means
+  taking into account possible applications built around non-text
+  files and non-human clients.  A robust, general purpose tool for
+  sending arbitrary information across networks is darn handy, and
+  there is no reason that such a thing needs to be particularly
+  complex.
+
+Do you really expect anybody to use this?
+-----------------------------------------
+
+I am under no delusions that Gemini will be "the next web" or anything
+like that.  I certainly don't expect Gemini to become widely known or
+widely used any time soon.  That's okay.  The vibrant and wonderful
+gopher community is undeniable evidence that a very small group of
+enthusiasts united around an interesting protocol is more than enough
+to facilitate...well, a vibrant and wonderful community.  If Gemini
+ends up supporting 25% as many regularly updated personal sites as
+there are regularly updated personal gopherholes, then I will be very
+happy and consider the project a success.
+
+I plan to encourage early adoption by building (or encouraging other
+people to build) tools like:
+
+* A Gemini-to-gopher proxy so that Gemini clients will immediately be
+  able to be used to read all existing gopher content alongside the
+  very small amount of new Gemini content that will exist in early
+  days.
+* A Gemini server which knows how to parse the gophermap or equivalent
+  formats of some of the most popular gopher servers, so that people
+  can immediately start bihosting their content on gopher and Gemini
+  with very little effort by just pointing the Gemini server at
+  exactly the same /var/gopher or whatever directory they already
+  have.
+
+What's with the name?
+---------------------
+
+Why "Gemini"?  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.  Mercury was a one-man
+capsule with no ability to adjust to its own orbit after launch and
+only one flight lasted longer than a 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!
+
+I hope the analogy is obvious: Mercury = gopher and Apollo = the web.
+
+I very deliberately didn't choose a name which had *anything* to do
+with gopher, or other rodents, or even other animals.  Some people in
+the phlogosphere seem to think that the discussions of new protocols
+represent a threat to gopher, and/or that those taking part in the
+discussions want to replace gopher with something new, or worse want
+to build these new ideas into gopher clients and servers as
+unofficial, compatibility-breaking upgrades.  This is partially our
+own fault for not talking more carefully in the earliest days of this
+discussion.  But none of those things are true for me, and I really
+think they are a minority opinion, if indeed not an outright strawman.
+To minimise the risk of further confusion, I chose a totally
+non-gophery name and will only ever refer to Gemini as
+"gopher-inspired" (and to be clear, it's definitely web-inspired,
+too!), not "based on gopher" or "an upgrade to gopher" or anything
+else like that.

-----END OF PAGE-----

-- Response ended

-- Page fetched on Sun Jun 2 16:41:13 2024