Scheme.org: Protecting Scheme's name for the next 20 years Lassi Kortela 22 Nov 2020 21:54 UTC

Welcome to the mailing list for the Scheme.org domain name.

First, some fundamentals. The registrant on file for Scheme.org is
Magnus Ahltorp from Sweden. The administrative and technical contact
is Arthur Gleckler (known to Schemers as the current SRFI editor). The
previous admin and tech contact was Shriram Krishnamurthi (known for
running Schemers.org among many other contributions). Shriram was
happy to hand over Scheme.org to people who have time to develop to
it, and would like to phase out Schemers.org in favor of Scheme.org
once the latter has been properly established. Magnus is also happy to
be hands-off but would like to retain ownership of the domain to
ensure that it stays non-commercial and does not track the behavior of
visitors. Magnus has kindly pre-paid the domain until 2029. The domain
registrar and DNS provider is Gandi.net.

On to the plans: The essay below is an attempt to lay out a particular
vision for Scheme.org. It has been hashed out by me and Arthur with
input from a handful of other Schemers. It advocates for an unusual
approach because Scheme is governed differently from most programming
languages. It is long and detailed; please bear with it, think about
it for a while, and tell us what you think on this list so we can get
a conversation started. Going forward, we want the administration of
Scheme.org to happen entirely in public so that everyone is clear on
where things stand with this important domain.

The title of this essay is chosen to make a particular point.

As programmers, we are used to fast-moving projects, changing plans
and informal customs. Getting software written at all is so hard that
we have little patience for elaborate social protocol.

We believe Scheme.org should be viewed as a fundamentally different
kind of project: a conservative one that prioritizes preservation and
planning even when that makes new development more difficult.

Scheme is not a new language. It comes with almost half a century of
history. It has a well established reputation, now guarded by us.

Scheme's continuity rests on a loosely organized network of volunteers
who come and go. While this is wonderful, the risk of key people going
out of reach is ever with us. We must take care not to jeopardize the
continued availability, maintenance and development of our resources.

Schemers are known to prize independent thought, sometimes to a fault.
Our most notable disagreement was the R6RS vs R7RS split. We should
take care to preserve neutral ground at the center of Scheme so that
adherents of different sub-communities can continue to work together
on shared interests even during times when there is widespread
disagreement over the future direction of Scheme. Likewise, we should
take care that no particular sub-community can alter the public image
of Scheme to the detriment of others.

Finally, we should protect the Scheme community from being co-opted by
commercial, academic or political interests for their own purposes.

All of the above concerns are fundamentally tied to the name itself:
Scheme. Whoever owns the name holds significant power over the public
image of the language and the ability of people to organize around it.
That is fine for languages headed by a definite person or group, but
Scheme has no owner. The closest thing we have is the Scheme Steering
Committee. They ratify the RnRS reports but are far too busy to tend
to the day-to-day matters of the language and its community. Running
the language community thus falls on its most avid users. That is us.

As the internet domain most obviously linked to Scheme's name,
Scheme.org is the one entity best placed to represent Scheme in the
world. With Scheme.org now in friendly hands, we should take this
opportunity to gather around it, make it the best we can, and do our
best to ensure it carries on to the next generation of Schemers.

Why think about the next 20 years? A lot can happen in a couple of
decades, and it's not guaranteed that any of us will still be involved
with Scheme after so much time. Setting our sights that far into the
future forces us to design a social and technical structure to outlast
ourselves. We can start with a template and gradually refine it. If we
do this right, the rate of change will slow down over time and the
community will increasingly trust in the stability of the structure.

Since humans are bad at predicting the future, the most likely success
formula is extreme simplicity in the core processes:

- We cannot have any rules that are hard to interpret since we may not
   be around in the future to give advice about them. Rules, procedures
   and responsibilities need to be simple and straightforward.

- We have to codify all knowledge in either code or written documents.
   We can't rely on word-of-mouth and knowing people who know things.

- We have to take maintainer fatigue into account. Scheme.org needs to
   have an administrator at all times, and it's a lot easier to get
   someone to commit to a job when it's easy and doesn't take much
   time. We can't have routine procedures that take a lot of effort.
   Likewise, training a new administrator has to be quick and easy.

- Scheme.org is predicated on the idea that Scheme, the DNS (Domain
   Name System) and the WWW will still be around 20 years from now.
   However, it's difficult to say what other tools will be popular. We
   should favor simple, well-known and platform-neutral tools without
   elaborate dependencies.

Moving further away from the core of Scheme.org, the stakes are lower
and we can be more relaxed. But as with the Scheme language itself, we
should put a great deal of thought and care into a core that will
stand the test of time.

On the technology front, we believe one trick in particular holds the
key to success: subdomains. The internet is naturally divided by DNS
delegation. This exactly mirrors a desirable governing structure for
Scheme.org: The root Scheme.org and its web front page should be
simple, conservative, and closely guarded -- like a constitution. Less
critical subdomains can afford to be more free-wheeling and
experimental about both their technical and social aspects.

Subdomains are simple to add and cost no extra money. They are a
convenient unit of division to work with in various networking,
security, and sysadmin contexts. We can freely make lots of them:

* r5rs.scheme.org
* r6rs.scheme.org
* r7rs.scheme.org
* srfi.scheme.org (should move late -- will be a big ordeal)
* docs.scheme.org
* pkgs.scheme.org
* lists.scheme.org
* files.scheme.org
* registry.scheme.org
* fantastic.scheme.org (your adventurous Scheme implementation here)
* ...

It's important to note that we could have as many as 50 subdomains and
the site would still be navigable. The front page can group them into
categories, with a short explanation next to each subdomain.

There would naturally be two kinds of subdomains:

* Those owned by a particular group based around a given standard,
   implementation, or tool. Each subdomain of this kind should be
   controlled by the group in question.

* Those that are community-owned resources about a particular topic,
   similar to the new Scheme Topics mailing lists at srfi.schemers.org
   and our many GitHub organizations. They should operate by consensus,
   with decision making on a public forum such as a mailing list, and
   with the top level Scheme.org administrators acting as last-resort
   tie breakers for any disputes.

Each subdomain should be responsible for setting up and maintaining
its own servers. The top level Scheme.org administration should only
be tasked with updating DNS records as requested, and with maintenance
of the Scheme.org front page. Delegating all other responsibilities to
subdomain admins will naturally ensure the fault tolerance of
Scheme.org as a whole and enable a light workload for the people
committed to be the top level administrators.

One important angle missing from the above treatment is the legal one.
No amount of goodwill or technical savvy can help us if we are no
longer the registered owner of Scheme.org. Scheme is a common English
word, and Scheme.org could be sold for upwards of 10k USD if someone
was either greedy or desperate for money. It could also be taken over
by an organization incompatible with our goals.

To that end, a few of us have pondered whether it might be a good idea
to set up a formal non-profit association to act as the legal owner of
Scheme.org and any other important internet properties related to
Scheme that people wish to donate to it. We may not have anyone in the
Scheme community who is excited about the paperwork involved, but the
stakes are high enough that if the cost is not prohibitive this step
is worth taking anyway.

Ideally Scheme.org would become so reliable that Scheme implementors
could feel as comfortable hosting their implementation's primary
website at fantastic.scheme.org as they would at their own separate
domain fantastic-scheme.org. There would be nothing like gathering
implementations under the umbrella of Scheme.org to signal the
cohesion and organization of the Scheme community to outsiders -- a
level of cohesion that is probably unmatched by any other significant
language. But authors hold their implementations dear, and major ones
will not take such a drastic step without a deep trust in the social
and legal basis of Scheme.org. If we work hard at building that trust
for a number of years, this may eventually be our ultimate prize. But
even without such an accomplishment, every extra resource we add under
Scheme.org builds the reputation of Scheme as a collaborative
community and provides direct benefit to users who can thus more
easily find their way around Scheme.

If you're interested in helping us bring Scheme.org and its subdomains
to life, please join this discussion. We're looking for volunteers to
create and maintain Scheme.org and interesting and useful subdomains,
and to help us figure out the process for organizing this effort for
the long haul.