From 13117007dce4807cb393d02c7b8d9e9384d5fff1 Mon Sep 17 00:00:00 2001 From: Amy Gale Ruth Bowersox Date: Fri, 13 Mar 2026 15:48:17 -0600 Subject: [PATCH] extensive changes to docs --- CODE-OF-CONDUCT.md | 4 ++++ CONTRIBUTING.md | 28 ++++++++++++++++++++--- README.md | 55 ++++++++++++++++++++++++++++++++++++++++------ 3 files changed, 77 insertions(+), 10 deletions(-) diff --git a/CODE-OF-CONDUCT.md b/CODE-OF-CONDUCT.md index b7be330..bafb1ea 100644 --- a/CODE-OF-CONDUCT.md +++ b/CODE-OF-CONDUCT.md @@ -4,12 +4,16 @@ _(January 25, 2026)_ For purposes of this document, the sole maintainer of the Amsterdam project is Amy G. Bowersox, `amy@erbosoft.com`. +Any violations of this Code of Conduct may be reported to the maintainers, as listed above. + ## Purpose Amsterdam is a collaborative software project. Its primary purpose is to build, maintain, and improve a system for hosting human-scale online communities. This Code of Conduct exists to support productive collaboration, respectful technical discussion, and a healthy working environment for everyone involved. +This Code of Conduct shall apply to all project spaces including repositories, issue trackers, discussion forums, and official communications channels. + As a general principle, anyone who adheres to this Code of Conduct and provides quality contributions to the project is welcome to participate. ("Contributions" may include but are not limited to code, documentation, testing, or fundraising.) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9de10cc..8a71da7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,8 +7,10 @@ This document explains how to contribute changes to the Amsterdam project. ## Development Location While you may have found this project on GitHub or another site, the "source of truth" for the project will always -reside on [the Erbosoft code hosting site](https://git.erbosoft.com/amy/amsterdam). Serious contributors should -contact [Amy Bowersox](https://links.inclusiveladyship.com/@amy) for access. +reside on [the Erbosoft code hosting site](https://git.erbosoft.com/amy/amsterdam). This is to ensure long-term +independence from platforms controlled by third parties; the mirrors to GitHub and/or other sites are for visibility. + +Serious contributors should contact [Amy Bowersox](https://links.inclusiveladyship.com/@amy) for access. ## AI Contribution Policy @@ -21,7 +23,7 @@ Contributors should indicate AI-generated content in issue and pull request desc Do _not_ use AI to reply to questions about your issue or pull request. The questions are for _you,_ the human, not an AI model. -All project contributions must be submitted by _identifiable human participants_ who accept full responibility for their content. +All project contributions must be submitted by _identifiable human participants_ who accept full responsibility for their content. Automated agents, bots, or autonomous AI systems _may not_ independently submit issues, pull requests, or other contributions. Project maintainers retain _full discretion_ to close pull requests and issues that appear to be low-quality AI-generated content. @@ -36,6 +38,26 @@ To regenerate the `tailwind.css` file (located in `ui/static/css`), you will nee Download it from [the Tailwind GitHub](https://github.com/tailwindlabs/tailwindcss/releases/) and install it as `tailwindcss` in your `PATH`. Then run `go generate` to regenerate the CSS file before you run `go build` to build the executable. +## Contribution Workflow + +1. [Open an issue](https://git.erbosoft.com/amy/amsterdam/issues/new) describing the problem or proposed feature. +2. Discuss the design with [maintainers](MAINTAINERS). +3. Submit a pull request referencing the issue. +4. Participate in code review. + +## Versioning + +Amsterdam employs [semantic versioning](https://semver.org/), with version numbers in the "major.minor.bugfix" format. Please see +the linked specification for further details. + +## Git Branching + +Amsterdam employs the [GitHub Flow](https://docs.github.com/en/get-started/using-github/github-flow) style of branch management. + +One thing to remember: when working on a feature branch, and seeking to merge new changes from `main` into your branch, _never_ use `git merge`, +but _always_ use `git rebase` to rebase your feature branch off the tip of `main`. The rule to remember is, changes flowing "inward" +_from_ feature branches _to_ `main` use `git merge`, but changes flowing "outward" _from_ `main` _to_ feature branches use `git rebase`. + ## Dependencies Dependencies are managed using [Go Modules](https://go.dev/cmd/go/#hdr-Module_maintenance). diff --git a/README.md b/README.md index 0464f69..9ace910 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,19 @@ # The Amsterdam Web Communities System -## Purpose +A self-hosted platform for running _thoughtful, human-scale_ online communities. -Amsterdam is a web-based system allowing for the hosting of multiple virtual communities, each with services such as conferencing. -Users on an Amsterdam site may be a member of multiple independent communities, all on the same site. +## Description + +Amsterdam is a self-hosted platform for running multiple virtual communities. + +It provides: +* Multiple communities hosted on a single site +* A discussion system featuring the linear conferencing model +* Long-form conversation spaces +* User identities shared acrioss communities +* Moderation and community management tools + +It is designed for _human-scale communities_ - hundreds or thousands of users, rather than millions. Amsterdam is intended to become a modern platform styled after the first generation of online communities, designed for resilience, autonomy, and human-scale interaction. @@ -12,11 +22,18 @@ The first public version of Amsterdam has feature parity with the platform that community from 2000-2006, but rebuilt in a modern environment with updated rendering. Future versions will extend the functionality from there. -### Why now? +## Live Demo -Communities like Electric Minds were largely supplanted by the major social media sites, which built huge systems for global -interaction at massive scale. They pushed smaller communities out of existence the way Walmart drove smaller shops out of business -in cities and towns across America. +A live version of Amsterdam may be found at [https://electricminds.org](https://electricminds.org). This site, "Electric Minds Reborn," +includes actual community data from Electric Minds circa 2006. + +## Why This Exists + +Communities from the early days of the Web, like Electric Minds, began as small, independent, and deeply conversational sites. +People gathered in discussion spaces that felt more like shared living rooms than global broadcast platforms. + +Over time, most of these communities were largely supplanted by the major social media sites, which displaced many smaller, +community-run spaces by optimizing for a massive, global scale, engagement metrics, and advertising. Now we're seeing what happens as a result: @@ -30,6 +47,8 @@ We need _human-scale_ community again. Amsterdam can be a baseline for bringing older systems that _worked,_ and sustained _real communities_ in the process. It was built by someone who's _been there,_ who not only wrote the code, but was an active participant in the community that used it. +Electric Minds Reborn is both a historical preservation project and a living experiment into whether those ideas can work in a modern Web. + ### Project Vision & Values Amsterdam as a project intends to prioritize certain things: @@ -37,6 +56,8 @@ Amsterdam as a project intends to prioritize certain things: * Human-scale over global scale. Hundreds or thousands of users, not billions. * Resilience over growth, and _especially_ over growth for growth's sake. * Many smaller sites, not one big one. These sites should work _together,_ not act as more silos. + * Future versions of Amsterdam may support this directly, allowing interaction between independent sites while still providing + for autonomous, self-hosted communities. * Tools that serve _community members, moderators, and hosts,_ not shareholders. * Contribution quality over ideology or factionalism. Contributors of _all backgrounds_ are welcome, with a focus on the quality of the final product. @@ -52,6 +73,26 @@ during the Renaissance. This new implementation is named "Amsterdam," which was a center of community during the Age of Exploration, in particular, the Dutch Golden Age. +## Key Features + +* Multiple communities hosted on a single site +* A discussion system featuring the linear conferencing model +* Long-form conversation spaces +* User identities shared acrioss communities +* Moderation and community management tools +* Archival support for historic communities +* Modern HTML rendering + +## Project status + +Amsterdam is in its first (early) public release. + +The software is capable of running a full community site, and is currently being used to host [Electric Minds Reborn](https://electricminds.org). + +The project is under active development, and APIs and internal structures may change between releases. + +--- + ## Building Amsterdam From the root of the source tree, just run `go build` to build the `amsterdam` executable.