Skip to content

Commit 46209fb

Browse files
author
HackMD
committed
last changed at Jul 28, 2025 1:34 PM, pushed by Jim Pick
1 parent b00a33b commit 46209fb

File tree

1 file changed

+35
-5
lines changed

1 file changed

+35
-5
lines changed
Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,42 @@
11
# Community Creation Guide
22

3-
Hex.Camp is an open source software project which builds software intended to be used by many independently-run communities. For example, [vichex.ca](https://vichex.ca/) is the community for Victoria, Canada.
3+
Hex.Camp is an open source software project which builds software intended to be used by many independently-run communities. For example, [VicHex.ca](https://vichex.ca/) is the community for Victoria, Canada.
4+
5+
Hardware and cloud infrastructure is designed to be shared between multiple communities, so there is very little incremental financial cost to creating new communities that can each host millions of websites. We are also designing the infrastructure so that it each community can operate independently when it makes sense to do so.
46

57
Each community is defined by the following:
68

7-
- a domain name, eg. [vichex.ca](https://vichex.ca]), [seahex.org](https://seahex.org)
9+
- a domain name, eg. [VicHex.ca](https://vichex.ca]), [SeaHex.org](https://seahex.org), [VanHex.org](https://vanhex.ca])
10+
* we want each community to have it's own domain name
11+
* ideally short and memorable for local people. If a geographic top level domain is available (eg. ".ca", ".us"), it would be good to use that. Domain names with "Hex" in them are usually available for purchase, but it is not necessary to have "Hex" in the name.
12+
* initially, as the project is bootstrapping, the domain names will be held by the central project. We'd like to eventually transfer ownership of the domains to trusted entities within each community. New communities are welcome to acquire their own domain names, but they should be held by some sort of community-base "trustee" to prevent a situation where the owner of the domain takes the community hostage.
13+
* in the event that a community has to change it's domain name, the hexagon IDs for each website will remain static, so it would be feasible to rewrite all the links, eg. [6kgveaaaaaaa.seahex.org](https://6kgveaaaaaaa.seahex.org/) could be changed to point at "6kgveaaaaaaa.seahex.us" instead.
14+
* Coming soon: We will be using the "peerhex.org" domain and subdomains as a placeholder for incubating new cities and areas. This way, we can have global coverage, even if we have no users yet in some areas.
815
- a geographic "footprint" - defined as a set of [H3 hexagonal cells](https://h3geo.org/) that covers the area of the community
16+
* typically city-scale or region-scale initially
17+
* boundaries don't necessarily have to follow political boundaries, which can shift over time and are often disputed. Local cultural usefulness should be prioritized. That said, multi-jurisdiction regions may difficulties if local laws are in conflict and must be complied with. Hex.Camp covers the entire globe, so regions in active conflict may require special handling.
918
* neighbouring communities must "tile" - that is, any H3 hexagon ID must exclusively belong to one community, but not the other
1019
* communities may be nested within other communities to form a hierarchy - eg. a neighbourhood community within a city
20+
* in some cases, a community might have more than one "parent" community in the hierarchy (a node in a [Directed Acyclic Graph](https://en.wikipedia.org/wiki/Directed_acyclic_graph)), for example a city that is on the border between two larger regions. eg. [Kansas City](https://en.wikipedia.org/wiki/Kansas_City_metropolitan_area) is mostly in Missouri but some of it is in Kansas.
21+
* the footprint can be defined as a CSV file:
22+
- [VicHex.ca](https://github.com/hexcamp/hexcamp-community-vichex/blob/main/vichex.ca.csv)
23+
- [SeaHex.org](https://github.com/hexcamp/hexcamp-community-seahex/blob/main/seahex.org.csv)
24+
- [VanHex.ca](https://github.com/hexcamp/hexcamp-community-vanhex/blob/main/vanhex.ca.csv)
25+
* it would be nice to have a map viewer tool to show the community boundary (not built yet)
26+
* it would also be nice to have a tool that will resolve any H3 hexagon ID and return which community it belongs to (not build yet)
27+
* initially, the footprint definition can be somewhat coarse. For example, the VanHex.ca definition includes some hexagons that are large enough that they cross the Canada-US border. In the future, the definition could be refined with smaller hexagons to make it more fine-grained. Hypothetically, when definitions change, some locations might change from one community to another, but the hexagon IDs would stay the same. For affected websites, HTTP redirects could be used when this situation arises.
1128
- a set of users to act as "community stewards"
29+
* people that have local knowledge and who want to better their community
30+
* help to build governance structures
31+
* help make moderation decisions
32+
* help filter local news and events
33+
* make decisions about hexagon reservations and allocations
34+
* help fundraise and allocate where funds go
35+
* deal with local legal requirements
36+
* make feature requests to the central Hex.Camp developers
1237
* "incubating" communities might use people from outside the community in order to bootstrap
13-
* the [New_ Public](https://newpublic.org/) project has a similar concept with their [https://newpublic.org/fellowship](https://newpublic.org/fellowship)
38+
* the [New_ Public](https://newpublic.org/) project has a similar concept with their [Neighborhood Steward Fellowship](https://newpublic.org/fellowship) and [Launchpad program](https://localstewards.newpublic.org/) ... we'll be watching what they do
39+
* because communities are local in nature, it is possible to meet up regularily in a local setting like a coffee shop
1440

1541
## Community Resources
1642

@@ -19,14 +45,15 @@ Each community is defined by the following:
1945
* https://github.com/hexcamp/hexcamp-community-vichex
2046
* https://github.com/hexcamp/hexcamp-community-seahex
2147
- a landing page
22-
* [VicHex.ca](https://vichex.ca/) ([GitHub: vichex-landing-page](https://github.com/hexcamp/vichex-landing-page)])
48+
* [VicHex.ca](https://vichex.ca/) - GitHub: [vichex-landing-page](https://github.com/hexcamp/vichex-landing-page)
2349

2450
## More Community Resources
2551

2652
(to be documented...)
2753

2854
- a welcome page (GitHub/HackMD)
2955
- DNS configuration
56+
- Kubernetes / ArgoCD configuration
3057
- an IPFS Cluster
3158
- map tiles
3259
- search
@@ -35,4 +62,7 @@ Each community is defined by the following:
3562
- publishing/repair pipeline
3663
- authentication
3764
- secrets management
38-
- monitoring
65+
- monitoring
66+
- fundraising for sustainability and endowment fund
67+
- financial accounting
68+
- reporting

0 commit comments

Comments
 (0)