Skip to content

Commit 2bf76ea

Browse files
committed
Add sponsor badge
1 parent f42cdde commit 2bf76ea

1 file changed

Lines changed: 290 additions & 0 deletions

File tree

README.md

Lines changed: 290 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,290 @@
1+
[![Sponsor](https://img.shields.io/badge/Sponsor-%E2%9D%A4-pink?logo=github)](https://github.com/sponsors/hyperpolymath)
2+
3+
image:https://img.shields.io/badge/License-PMPL--1.0-blue.svg[License: PMPL-1.0,link="https://github.com/hyperpolymath/palimpsest-license"]
4+
// SPDX-License-Identifier: MPL-2.0
5+
// SPDX-FileCopyrightText: 2024-2025 hyperpolymath
6+
7+
= CCCP: Campaign for Cooler Coding and Programming
8+
9+
10+
11+
12+
:author: hyperpolymath
13+
:revnumber: 1.0.0
14+
:revdate: 2025-12-26
15+
:toc: left
16+
:toclevels: 3
17+
:icons: font
18+
:source-highlighter: rouge
19+
20+
image:https://img.shields.io/badge/CCCP-Certified-c41e3a[CCCP Certified]
21+
image:https://img.shields.io/badge/RSR-Gold-ffd700[RSR Gold]
22+
23+
== What is CCCP?
24+
25+
The *Campaign for Cooler Coding and Programming* is the philosophical and ethical foundation of the link:https://github.com/hyperpolymath/rhodium-standard-repositories[Rhodium Standard Repositories (RSR)] framework.
26+
27+
CCCP defines *principles and policies* for building software that is:
28+
29+
* *Emotionally safe* — development without shame or anxiety
30+
* *Technically excellent* — type-safe, memory-safe, formally verified
31+
* *Politically autonomous* — independent of Big Tech lock-in
32+
33+
== The Four Temperatures of "Cooler"
34+
35+
[cols="1,3"]
36+
|===
37+
| Temperature | Meaning
38+
39+
| *Emotional*
40+
| Reduced anxiety through reversibility, safe experimentation, no shame in mistakes
41+
42+
| *Computational*
43+
| Efficient systems, no unnecessary cycles, minimal runtime overhead
44+
45+
| *Social*
46+
| Warm community with graduated trust, cool-headed technical decisions
47+
48+
| *Political*
49+
| Resistance to monopolistic tooling, anti-corporate lock-in, autonomy through offline-first design
50+
|===
51+
52+
== Core Principles
53+
54+
=== 1. Post-JavaScript Liberation
55+
56+
Rejecting the npm/node ecosystem's fragility in favor of:
57+
58+
* *ReScript* — OCaml soundness, compiles to JS
59+
* *Rust* — Systems programming with memory safety
60+
* *Deno* — Secure-by-default runtime (when JS is unavoidable)
61+
62+
=== 2. Offline-First as Autonomy
63+
64+
* Work continues without constant connectivity
65+
* No cloud-dependent tooling
66+
* SaltRover for offline repository management
67+
68+
=== 3. Distributed State Without Coordination
69+
70+
* *CRDTs* eliminate locking and cache invalidation
71+
* Conflict-free by design
72+
* No single point of failure
73+
74+
=== 4. Formal Verification as Mutual Aid
75+
76+
* Correctness is an act of solidarity
77+
* SPARK/Ada for safety-critical paths
78+
* Type systems prevent bugs before they happen
79+
80+
=== 5. Community Over Ego
81+
82+
* TPCF (Tri-Perimeter Contribution Framework)
83+
* Graduated trust without gatekeeping
84+
* Collective ownership patterns
85+
86+
=== 6. Language Polyglotism as Resistance
87+
88+
Using diverse languages resists monoculture:
89+
90+
[cols="1,2"]
91+
|===
92+
| Approved | Banned
93+
94+
| ReScript, Rust, Deno, Gleam, OCaml, Ada, Julia, Guile Scheme, Nickel
95+
| TypeScript, Node.js/npm, Go, Python (except SaltStack), Java/Kotlin, Swift
96+
|===
97+
98+
== Language Policy
99+
100+
=== Allowed Languages
101+
102+
[cols="1,2,2"]
103+
|===
104+
| Language | Use Case | Notes
105+
106+
| *ReScript*
107+
| Primary application code
108+
| Compiles to JS, OCaml type safety
109+
110+
| *Rust*
111+
| Systems, performance, WASM
112+
| Preferred for CLI tools
113+
114+
| *Deno*
115+
| Runtime & package management
116+
| Replaces Node/npm/Bun
117+
118+
| *Gleam*
119+
| Backend services
120+
| BEAM or JS target
121+
122+
| *OCaml*
123+
| Compilers, formal methods
124+
| Strong type system
125+
126+
| *Ada*
127+
| Safety-critical systems
128+
| SPARK verification
129+
130+
| *Julia*
131+
| Data processing, batch scripts
132+
| High-performance numerics
133+
134+
| *Guile Scheme*
135+
| State/meta files
136+
| .machine_readable/6a2/STATE.a2ml, .machine_readable/6a2/META.a2ml, .machine_readable/6a2/ECOSYSTEM.a2ml
137+
138+
| *Nickel*
139+
| Configuration language
140+
| Type-safe configs
141+
142+
| *Bash/POSIX Shell*
143+
| Scripts, automation
144+
| Keep minimal
145+
|===
146+
147+
=== Banned Languages
148+
149+
[cols="1,2,2"]
150+
|===
151+
| Banned | Replacement | Rationale
152+
153+
| *TypeScript*
154+
| ReScript
155+
| Unsound gradual typing
156+
157+
| *Node.js*
158+
| Deno
159+
| Insecure by default
160+
161+
| *npm/Bun/pnpm/yarn*
162+
| Deno
163+
| Supply chain risks
164+
165+
| *Go*
166+
| Rust
167+
| Error handling, generics
168+
169+
| *Python* (general)
170+
| ReScript/Rust
171+
| No static types
172+
173+
| *Java/Kotlin*
174+
| Rust/Tauri/Dioxus
175+
| JVM overhead, platform lock-in
176+
177+
| *Swift*
178+
| Tauri/Dioxus
179+
| Platform lock-in
180+
|===
181+
182+
NOTE: Python is permitted *only* for SaltStack configuration management (temporary exception).
183+
184+
=== Mobile Development
185+
186+
No exceptions for Kotlin/Swift. Use Rust-first approach:
187+
188+
1. *Tauri 2.0+* — Web UI (ReScript) + Rust backend, PMPL-1.0/PMPL-1.0
189+
2. *Dioxus* — Pure Rust native UI, PMPL-1.0/PMPL-1.0
190+
191+
Both are FOSS with independent governance.
192+
193+
== Package Management Hierarchy
194+
195+
[cols="1,2"]
196+
|===
197+
| Priority | Tool
198+
199+
| *Primary*
200+
| Guix (guix.scm)
201+
202+
| *Fallback*
203+
| Nix (flake.nix)
204+
205+
| *JS deps*
206+
| Deno (deno.json imports)
207+
|===
208+
209+
== Migration Priority
210+
211+
When encountering banned languages:
212+
213+
1. *Immediate*: Block new code in banned languages
214+
2. *Short-term*: Convert TypeScript to ReScript
215+
3. *Medium-term*: Replace Node/npm with Deno
216+
4. *Long-term*: Rewrite Go/Python in Rust
217+
218+
== The Citadel of Code Creation
219+
220+
The *Citadel* is where RSR meets CCCP — the actual implementation pattern that embodies both.
221+
222+
=== What Makes It a "Citadel"?
223+
224+
* *Defensible Position* — Local dev environment can't be taken away by service outages
225+
* *Self-Sufficient* — Nix + Podman + SaltRover = complete autonomy
226+
* *Collective Defense* — Architecture makes mutual aid easier than isolation
227+
* *Safe Haven* — Emotionally and technically safe to experiment
228+
229+
== Relationship to RSR
230+
231+
[source]
232+
----
233+
CCCP (Philosophy)
234+
235+
236+
RSR (Standards Framework)
237+
├── Defines 150+ compliance criteria
238+
├── CCCP principles embedded
239+
└── Tier mapping (Bronze/Silver/Gold/Rhodium)
240+
241+
242+
Your Repository (Implementation)
243+
├── Emotionally safe development
244+
├── Technically excellent
245+
└── Politically autonomous
246+
----
247+
248+
== CCCP Certification
249+
250+
Projects can display CCCP certification when they:
251+
252+
1. Use only approved languages (see Language Policy)
253+
2. Follow offline-first principles
254+
3. Use FOSS tooling with independent governance
255+
4. Implement reversibility patterns
256+
5. Follow TPCF contribution model
257+
258+
=== Badge
259+
260+
[source,markdown]
261+
----
262+
![CCCP Certified](https://img.shields.io/badge/CCCP-Certified-c41e3a)
263+
----
264+
265+
== Further Reading
266+
267+
* link:https://github.com/hyperpolymath/rhodium-standard-repositories[RSR Framework]
268+
* link:https://github.com/hyperpolymath/mustfile[Mustfile] — Type-safe deployment
269+
* link:https://github.com/hyperpolymath/palimpsest-license[Palimpsest License] — Multi-layered licensing
270+
271+
== Contributing
272+
273+
CCCP is a living document. Contributions that align with its principles are welcome.
274+
275+
See link:CONTRIBUTING.adoc[CONTRIBUTING.adoc] for guidelines.
276+
277+
== License
278+
279+
PMPL-1.0 + Palimpsest-0.8
280+
281+
---
282+
283+
_"We build systems that don't decay under pressure, communities that support experimentation without shame, and infrastructure that respects human autonomy."_
284+
285+
— The Rhodium Standard
286+
287+
288+
== Architecture
289+
290+
See link:TOPOLOGY.md[TOPOLOGY.md] for a visual architecture map and completion dashboard.

0 commit comments

Comments
 (0)