repo: gemini-site
action: commit
revision: 
path_from: 
revision_from: 3eb56260c661e350ea272243ba4c5072d3545546:
path_to: 
revision_to: 
git.thebackupbox.net
gemini-site
git clone git://git.thebackupbox.net/gemini-site
commit 3eb56260c661e350ea272243ba4c5072d3545546
Author: Solderpunk 
Date:   Sun Feb 21 17:50:15 2021 +0100

    Overhaul FAQ.

diff --git a/docs/faq.gmi b/docs/faq.gmi
index cd3f798871bdc5725cd189522892b76f3ceb260d..
index ..0daa057f1439e1175baa4b3f620e0e56b62bb707 100644
--- a/docs/faq.gmi
+++ b/docs/faq.gmi
@@ -1,39 +1,42 @@
 # Project Gemini FAQ

-Please send corrections or suggestions for additional questions to
-
+Last updated: 2021-02-21

 ## 1. Overview

 ### 1.1 What is Gemini?

-Gemini is a new (the project started in June 2019) 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.  You may think of Gemini as "the web, stripped right back to its essence" or as "Gopher, souped up and modernised a little", depending upon your perspective.  Gemini may be of interest to people who are:
+Gemini is 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.  You may think of Gemini as "the web, stripped right back to its essence" or as "Gopher, souped up and modernised just a little", depending upon your perspective (the latter view is probably more accurate).  Gemini may be of interest to people who are:

-* Opposed to the web's ubiquitous user tracking
-* Tired of obnoxious adverts, autoplaying videos and other misfeatures
-* Interested in low-power computing and/or low-speed networks
+* Opposed to the web's ubiquitous tracking of users
+* Tired of nagging pop-ups, obnoxious adverts, autoplaying videos and other misfeatures of the modern web
+* Interested in low-power computing and/or low-speed networks, either by choice or necessity

 Gemini is intended to be simple, but not necessarily as simple as possible.  Instead, the design strives to maximise its "power to weight ratio", while keeping its weight within acceptable limits.  Gemini is also intended to be very privacy conscious, to be difficult to extend in the future (so that it will *stay* simple and privacy conscious), and to be compatible with a "do it yourself" computing ethos.  For this last reason, Gemini is technically very familiar and conservative: it's a protocol in the traditional client-server request-response paradigm, and is built on mature, standardised technology like URIs, MIME media types, and TLS.

-### 1.2 Whose fault is Gemini?
+### 1.2 How old is Gemini?

-Project Gemini was started by Solderpunk , who remains Benevolent Dictator For Now.  However, the protocol has been designed in collaboration with a loose and informal community of interested parties via emails, phlog and Fediverse posts.  Many people have shaped significant parts of the protocol, so Gemini should not be thought of as the work of one person.
+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.

-### 1.3 Where can I learn more?
+### 1.3 Who started Gemini?

-The official home of Project Gemini is the gemini.circumlunar.space server.  It serves the latest version of this FAQ document, as well the protocol specification and recommended best practices via Gemini, Gopher and HTTPS, on IPv4 and IPv6.
+Project Gemini was originally started by Solderpunk , 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 emails, posts in Gopher's "phlogosphere" and toots in the Fediverse.  Many people have shaped significant parts of the protocol, so Gemini should not be thought of as the work of one person.

-Official discussion regarding Gemini happens on a mailing list.  You can subscribe to the list and view archives at https://lists.orbitalfox.eu/listinfo/gemini.  Archives can also be viewed over Gemini at gemini://rawtext.club:1965/~sloum/geminilist/.
+### 1.4 How large is "Geminispace"?

-Anybody who is running a Gemini server or implementing a Gemini client or server software is strongly encouraged to subscribe to the list.
+It's difficult to know exactly.  Counting unique hostnames of Gemini servers is likely to exaggerate the size of the space, since some multi-user sites give each user their own subdomain.  On the other hand, counting unique IP addresses is likely to underestimate the size, as Gemini allows multiple different domains to be served from the same IP.  At any rate, as of early 2021 there were about 200,000 known Gemini URLs, spread across about 750 "capsules" (the Gemini community's term for "sites"), 500 domains and 600 IP addresses.  The space is growing rapidly, though.  You can find the latest statistics as the link below.
+
+=> gemini://gemini.bortzmeyer.org/software/lupa/stats.gmi Geminispace statistics provided by Stéphane Bortzmeyer's "Lupa" crawler
+
+### 1.5 What stage of its lifecycle is the project in?

-Casual discussion regarding Gemini also happens in the #gemini channel on the tilde.chat IRC server.  IRC logs can be viewed over Gemini at gemini://makeworld.gq/cgi-bin/gemini-irc.
+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.

-### 1.4 Do you really think you can replace the web?
+### 1.6 Do you really think you can replace the web?

-Not for a minute!  Nor does anybody involved with Gemini want to destroy Gopherspace.  Gemini is not intended to replace either Gopher or the web, but to co-exist peacefully alongside them as one more option which people can freely choose to use if it suits them.  In the same way that many people currently serve the same content via gopher and the web, people will be able to "bihost" or "trihost" content on whichever combination of protocols they think offer the best match to their technical, philosophical and aesthetic requirements and those of their intended audience.
+Not for a minute!  Nor does anybody involved with Gemini want to destroy Gopherspace.  Gemini is not intended to replace either Gopher or the web, but to co-exist peacefully alongside them as one more option which people can freely choose to use if it suits them.  In the same way that some people currently serve the same content via gopher and the web, people will be able to "bihost" or "trihost" content on whichever combination of protocols they think offer the best match to their technical, philosophical and aesthetic requirements and those of their intended audience.

-### 1.5 What's with the name?
+### 1.7 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.

@@ -43,6 +46,21 @@ Hopefully the analogy is obvious: Gopher is akin to Mercury, and the web is akin

 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.

+### 1.8 Where can I learn more?
+
+The official home of Project Gemini is the gemini.circumlunar.space server.  It serves the latest version of this FAQ document, as well the protocol specification, recommended best practices and other official documentation via Gemini, Gopher and HTTPS, on IPv4 and IPv6.
+
+Official discussion regarding Gemini happens on a mailing list:
+
+=> https://lists.orbitalfox.eu/listinfo/gemini		Subscribe to the list and view archives via the web
+=> gemini://rawtext.club:1965/~sloum/geminilist/	View list archives via Gemini
+
+Anybody who is running a Gemini server or implementing a Gemini client or server software is strongly encouraged to subscribe to the list.
+
+Casual discussion regarding Gemini also happens in the #gemini channel on the tilde.chat IRC server:
+
+=> gemini://makeworld.gq/cgi-bin/gemini-irc		View IRC logs via Gemini
+
 # 2. Protocol design

 ## 2.1 What are the design criteria for Gemini?
@@ -53,7 +71,9 @@ The following criteria were informally put in place at the beginning of the proj

 In particular, Gemini strives for simplicity of client implementation.  Modern web browsers are so complicated that they can only be developed by very large and expensive projects.  This naturally leads to a very small number of near-monopoly browsers, which stifles innovation and diversity and allows the developers of these browsers to dictate the direction in which the web evolves.

-Gemini aims to be simple, but not *too* simple.  Gopher is simpler at a protocol level, but as a consequence the client is eternally uncertain: what character encoding is this text in?  Is this text the intended content or an error message from the server?  What kind of file is this binary data?  Because of this, a robust Gopher client is made *less* simple by needing to infer or guess missing information.  Early Gemini discussion included three clear goals with regard to simplicity:
+Gemini aims to be simple, but not *too* simple.  Gopher is simpler at a protocol level, but as a consequence the client is eternally uncertain: what character encoding is this text in?  Is this text the intended content or an error message from the server?  What kind of file is this binary data?  Because of this, a robust Gopher client is made *less* simple by needing to infer or guess missing information.
+
+Early Gemini discussion included three clear goals with regard to 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.
@@ -76,7 +96,7 @@ Gemini allows for:
 * Unambiguous use of arbitrary non-ASCII character sets.
 * Identifying binary content using MIME types instead of a small set of badly outdated item types.
 * Clearly distinguishing successful transactions from failed ones.
-* Linking to non-gopher resources via URLs without ugly hacks.
+* Linking to resources served over other protocols via simple URLs, without ugly hacks.
 * Redirects to prevent broken links when content moves or is rearranged.
 * Domain-based virtual hosting.

@@ -150,7 +170,11 @@ Because text/gemini is an entirely new format defined from scratch for Gemini, c

 It's true that you need to shift your thinking a bit to get used to the one link per line writing style, but it gets easier over time.  There are benefits to the style as well.  It encourages including only the most important or relevant links, organising links into related lists, and giving each link a maximally descriptive label without having to worry about whether or not that label fits naturally into the flow of your main text.

-## 2.11 Why isn't there an equivalent of the HTTP Content-length header?
+## 2.11 Why doesn't text/gemini have support for styling?
+
+Some people have expressed a desire for something similar to CSS in Gemini.  While it's true that something much simpler and lighter than CSS could easily be designed, Gemini instead takes the position that visual styling of Gemini content should be under the sole and direct control of the reader, not the writer.  Not everybody has the same taste in colours and fonts, and no single way of styling a page will be optimal for all readers, all devices and all lighting conditions.  There is much more at stake here than the age old divide in preferene for dark text on a light background or vice versa.  People with reading disabilities like dyslexia may benefit tremendously from using specially designed fonts, for example.  A simple "one size fits all" styling system where content looks the same everywhere is guaranteed to perform poorly for a lot of people.  A more complicated styling system which can specify different looks for different devices and contexts burdens every individual author with the task of making sure their capsule is usable everywhere.  Experience from the web suggests that accessibility issues will often be an afterthought at best.  It's much simpler, and in fact much more liberating for content authors, to let content just be content, and leave styling to the client.  Some Gemini clients might look dull and boring, but there's no reason this has to be the case.  If there is demand for clients with high quality font rendering and beautiful typography, such clients will eventually be developed - and when they are, users who value those things can enjoy that reading experience everywhere in Geminispace, even when reading content written by authors who don't care about styling at all.
+
+## 2.12 Why isn't there an equivalent of the HTTP Content-length header?

 Non-extensibility of the protocol was a major design principle for Gemini.  Things like cookies, Etags and other tracking tools were not present in the original design of HTTP, but could be seamlessly added later because the HTTP response format is open-ended and allows the easy inclusion of new headers.  To minimise the risk of Gemini slowly mutating into something more web-like, it was decided to include one and exactly one piece of information in the response header for successful requests.  Including two pieces of information with a specified delimiter would provide a very obvious path for later adding a third piece - just use the same delimiter again.  There is basically no stable position between one piece of information and arbitrarily many pieces of information, so Gemini sticks hard to the former option, even if it means having to sacrifice some nice and seemingly harmless functionality.  Given this restriction, including only an equivalent of Content-type seemed clearly more useful than including only an equivalent of Content-length.  The same is true for other harmless and useful HTTP headers, like Last-Modified.

@@ -160,13 +184,13 @@ Even without this header, it is possible (unlike in Gopher) for clients to disti

 It is true that the inability for clients to tell users how much more of a large file still has to be downloaded and to estimate how long this may take means Gemini cannot provide a very user-friendly experience for large file downloads.  However, this would be the case even if Content-length were specified, as such an experience would also require other complications to be added to the protocol e.g. the ability to resume interrupted downloads.  Gemini documents can of course straightforwardly link to resources hosted via HTTPS, BitTorrent, IPFS, DAT, etc. and this may be the best option for very large files.

-## 2.12 Why isn't a protocol version number included with requests or responses?
+## 2.13 Why isn't a protocol version number included with requests or responses?

 This would only be useful if there were plans to smoothly upgrade to a "Gemini 2.0" in the future - and there aren't!  Gemini is a "less is more" reaction against web browsers and servers becoming too complicated and too powerful.  It makes no sense to plan to add more functionality to Gemini later.  Instead the plan is to "get it right the first time", as much as possible, then freeze the protocol specification forever after, without upgrades, enhancements or extensions.

 This may seem radical or unwise, but we're cautiously optimistic.  The Gopher specification has not been changed in about 30 years, and only a very small number of quite minor unofficial changes to that spec are in common use in today's Gopherspace, which is actually growing in popularity.  Gemini combines mature, ubiquitous internet primitives like URIs, MIME media types and TLS in a very straightforward way, and seeks to foster a culture of working within - and even embracing - carefully chosen limitations, rather than removing each constraint as it is encountered to make anything possible.  There are plenty of things that Gemini is useful for and good at right now, and there is no reason to think it won't be useful for and good at those same things decades from now.

-## 2.13 Why don't you care about retrocomputing support?
+## 2.14 Why don't you care about retrocomputing support?

 Gopher is so simple that computers from the 80s or 90s can easily implement the protocol, and for some people this is one of the great virtues of Gopher.  The TLS requirement of Gemini limits it to more modern machines.

@@ -176,14 +200,16 @@ Old machines are awesome, and keeping them running, online and useful for as lon

 ## 3.1 I'm curious about Geminispace, how can I check it out?

-The lowest commitment way to explore Geminispace is to use a web proxy, such as one of the following:
+The lowest commitment way to explore Geminispace is to use a web proxy or "portal", such as one of the following:
+
+=> https://portal.mozz.us/gemini/gemini.circumlunar.space/	The mozz.us Gemini portal
+=> https://proxy.vulpes.one/gemini/gemini.circumlunar.space	The vulpes.one Gemini portal

-* https://portal.mozz.us/gemini/gemini.circumlunar.space/
-* https://proxy.vulpes.one/gemini/gemini.circumlunar.space
+This will allow you to use your regular web browser to explore Geminispace.  If you like what you see, you might want to consider installing a dedicated Gemini client, which will typically offer a better and more complete browsing experience.  You can find a list of clients (and other software) at the link below.  There are even clients available for mobile platforms like Android and iOS!

-If you like what you see, you might want to consider installing a dedicated Gemini client.  You can find a list of clients (and other software) at gemini://gemini.circumlunar.space/software/.
+=> /software/	Gemini software list

-You can try some terminal clients out without installing them by running:
+If you have an ssh client installed, you can try some terminal clients out without installing them by running:

 > ssh kiosk@gemini.circumlunar.space

@@ -191,46 +217,95 @@ This Gemini kiosk was inspired by the Gopher kiosk at bitreich.org!

 ## 3.2 Okay, I've got a client, where can I find content?

-A hand-maintained list of all known Gemini servers is maintained at gemini://gemini.circumlunar.space/servers/, and an automatically generated list can be found at gemini://gus.guru/known-hosts.  For now, Geminispace is still small enough that it's feasible to just jump in and explore it manually.
+For now, Geminispace is still small enough that it's feasible to use directories as a way to discover what is out there.  Some of these are listed below:
+
+=> gemini://medusae.space/			The medusae.space Gemini directory has a list of capsules divided into thematic categories
+=> gemini://gus.guru/known-hosts		The GUS search engine's list of known Gemini hosts
+=> /servers/					A historic list of the first 50 Gemini servers

 If you are looking for something in particular, Gemini has two search engines:

-* GUS, at gemini://gus.guru
-* Houston, at gemini://houston.coder.town
+=> gemini://gus.guru		GUS, the first Gemini search engine
+=> gemini://houston.coder.town	Houston, the second Gemini search engine

 There are two public aggregators which attempt to make it easier to find recently-updated material in Geminispace:

-* CAPCOM, at gemini://gemini.circumlunar.space/capcom/
-* Spacewalk, at gemini://rawtext.club:1965/~sloum/spacewalk.gmi
+=> /capcom/	CAPCOM, which aggregates Atom feeds of Gemini content
+=> gemini://rawtext.club:1965/~sloum/spacewalk.gmi	Spacewalk, which uses change-detection to find new content

 ## 3.3 How can I put some content of my own in Geminspace?

-Of course, one option is to set up your own Gemini server on a VPS or a computer in your home (small SBCs like the RaspberryPi are perfectly capable of acting as Gemini servers).  You can find a list of server software at gemini://gemini.circumlunar.space/software/.
+One option is to set up your own Gemini server on a VPS or a computer in your home (small SBCs like the RaspberryPi are perfectly capable of acting as Gemini servers).  There is a wide range of server software available to choose from:
+
+=> /software/	Gemini software list
+
+Alternatively, you can find somewhere else to host your content for you.  Gemini hosting is also available from the following providers:
+
+=> gemini://idf.looting.uk/hosting idf.looting.uk
+=> gemini://srht.site/ SourceHut (including support for custom domains!)

-Alternatively, you can find somewhere else to host your content for you.  For the time being, sftp-managed hosting of static Gemini content is available free of charge at gemini.circumlunar.space - contact  for details.  Gemini hosting is also available from:
+A number of "pubnix" or "tilde" communities (multi-user unix systems where users interact with one another by sshing in and using local email, chat and BBS applications) also offer Gemini hosting (typically alongside web and/or Gopher hosting).  You may be able to get an account of one of the communities listed below.  Please note that most of these communities are older than Gemini itself, and may be focussed on other services, or may be specific to a particular theme or interest.  Research your choices carefully and join somewhere you think you might fit in well overall, rather than just treating these amazing little worlds as free space to dump your stuff.

-* gemini://idf.looting.uk/hosting
+=> gemini://gemini.ctrl-c.club Ctrl-C.club
+=> gemini://envs.net envs.net
+=> gemini://tanelorn.city Tanelorn City, a writer-focussed server
+=> gemini://tilde.pink tilde.pink
+=> gemini://rawtext.club Raw Text Club, aka RTC
+=> gemini://breadpunk.club/ Breadpunk.club, a baking-themed server

-A number of "pubnix" or "tilde" communities (multi-user unix systems where users interact with one another by sshing in and using local email, chat and BBS apps) also offer Gemini hosting (typically alongside web and/or Gopher hosting).  You may be able to get an account of one of the communities listed below (if you're an admin of such a service and would like it added to - or removed from! - this list, please contact ).  Please note that most of these communities are older than Gemini itself, and may be focussed on other services, or may be specific to a particular theme or interest.  Research your choices carefully and join somewhere you think you might fit in well overall, rather than just treating these amazing little worlds as free space to dump your stuff.
+If you belong to a pubnix community which doesn't offer Gemini hosting, it can't hurt to ask the admin(s) if they are interested in adding this service!

-* gemini://gemini.ctrl-c.club
-* gemini://envs.net
-* gemini://tanelorn.city (writer-focussed server)
-* gemini://tilde.black (privacy-themed server)
-* gemini://tilde.pink
-* gemini://rawtext.club
-* gemini://breadpunk.club/ (baking-themed server)
+If you do not feel comfortable with the technologies needed to make use of pubnix hosting (ssh or sftp, terminal text editors, unix file permissions, etc) you can get free accounts at the services below which will allow you to maintain a capsule via a web application:

-If you do not feel comfortable with the technologies needed to make use of pubnix hosting (ssh or sftp, terminal text editors, unix file permissions, etc) you can get a free account at https://gemlog.blue where you can edit a Gemlog (Gemini log, like a blog or phlog) from your web browser using an ultralight interface which uses no cookies and no Javascript.
+=> https://gemlog.blue Gemlog Blue, featuring an ultralight interface with no cookies or Javascript
+=> https://flounder.online/ Flounder, where your content will be available via Gemini and the web simultaneously

 ## 3.4 I set up my own Gemini server, is there anything I should do?

-Please consider joining the mailing list (see section 1.3) so that you can announce your new server to the community (start your post's Subject with "[ANN]"), and keep up to date with e.g. updates to your server software or to the Gemini protocol itself.
+Please consider joining the mailing list (see question 1.3) so that you can announce your new server to the community, and keep up to date with e.g. updates to your server software or to the Gemini protocol itself.

-You can submit your server's URL to the GUS search engine so that it gets crawled.  Visit gemini://gus.guru and follow the relevant link.
+You can submit your server's URL to the GUS search engine so that it gets crawled, via the link below:
+
+=> gemini://gus.guru/add-seed	Submit a URL to GUS

 # 4. Contributing to the Gemini project

 ## 4.1 I like the sound of the Gemini project, how can I help?

-Gemini already has a surprising number of client and server implementations in existence - which isn't to say more aren't welcome, but the real shortage right now is not of software but of content.  The more interesting and exciting stuff people find in Geminispace, the more likely they are to want to add content of their own.  So, the greatest contribution you can make to the project is to be a part of this process.
+Gemini already has a surprising number of client and server implementations in existence - which isn't to say more aren't welcome, but the real shortage right now is not of software but of content.  The more interesting and exciting stuff people find in Geminispace, the more likely they are to want to add content of their own.  So, the greatest contribution you can make to the project is to be a part of this process.  See question 3.3 above for details on how to get your content into Geminispace.
+
+If you have the necessary technical skills, you can make a major contribution to the growth of Geminispace by providing a hosting service which people can use to publish content.  This can be as simple as setting up sftp-only user accounts on a VPS.  Offering hosting doesn't necessarily need to be a big committment.  You can use the cheapest VPS services on offer to very comfortably host a dozen or so users.  A large number of hosts each serving the content of a relatively small number of users is a much more robust and sustainable ecosystem than a small number of servers each hosting hundreds or thousands of users!
+
+If you really want to write some software, a powerful tool for expanding Geminispace could be a single piece of software which simultaneously provides a Gemini server and a way for multiple users to easily manage the content provided by said server, e.g. via an interactive web interface or by sending emails full of content;  Something like the Gemlog Blue and Flounder services (see question 3.3 again), but packaged up and documented in such a way that it's easy for people to deploy and customise their own multiuser sites, much like e.g. a Mastodon instance.
+
+You can also help the project by contributing corrections and additions to or translations of the official site and documentation (see questions 4.2 and 4.3 below).
+
+## 4.2 How do I contribute to the official Gemini site and documentation?
+
+All the documentation hosted at gemini.circumlunar.space, including the FAQ you're reading now, lives in a single git repository, which has read-only access open to the public.  You can clone the repo as follows:
+
+> git clone git://gemini.circumlunar.space/gemini-site
+
+Then, make your suggested changes to the relevant files (the structure of the URLs mirrors the structure of the repository exactly, so e.g. gemini://gemini.circumlunar.space/docs/faq.gmi lives at docs/faq.gmi in the repo).  Commit your changes with meaningful commit messages (make sure to set your name and email address so people can see who did your work!), with one commit per conceptual change.  You then have two options to send your work upstream.
+
+If you have git's send-email command configured (see below for a link to a tutorial), you can email patches containing your commits to  with a single command.  Otherwise, you can simply run:
+
+> git format-patch origin
+
+to create a set of patch files, which you can manually attach to an email using your ordinary mail client of choice.
+
+=> https://git-send-email.io/	A friendly tutorial on configuring git send-email
+
+## 4.3 I'd like to translate some Gemini documentation into my native language, how can I do that?
+
+Thank you!  Volunteering to translate documentation is a wonderful way to help the project.
+
+To do so, first clone the git repository as described in question 4.3 above.  Change into the `doc` directory of the repository, and create a new subdirectory with your language's two letter ISO 639-1 code, e.g. Finnish translations should live in `doc/fi/`, Japanese translations in `doc/jp/`, etc.  You can find a complete list of codes at Wikipedia:
+
+=> https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes	List of language codes at Wikipedia
+
+For each English file which lives in `doc` which you want to translate, create a corresponding file in your language's subdirectory.  It's okay to change the file name as part of the translation, e.g. the German translation of `doc/specification.gmi` might be called `doc/spezifikation.gmi`.  You can translate as many or as few of the files in `doc` as you have time and energy for.  Don't be shy about submitting partial translations!  Once somebody else who speaks your language sees your effort, they might provide some or all of the remaining work.  Having some content translated is better than none.
+
+Once you're done, copy across the `doc/index.gmi` file and modify it to match your translated filenames and document titles, and remove links for any of the original documents which you haven't translated.
+
+Commit your translations to the repository and send Solderpunk the patch as described in question 4.2 above.

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