image:https://img.shields.io/badge/License-MPL_2.0-blue.svg[MPL-2.0-or-later,link="https://opensource.org/licenses/MPL-2.0"]
// SPDX-License-Identifier: CC-BY-SA-4.0
// SPDX-FileCopyrightText: 2024-2025 hyperpolymath

= CCCP: Campaign for Cooler Coding and Programming




:author: hyperpolymath
:revnumber: 1.0.0
:revdate: 2025-12-26
:toc: left
:toclevels: 3
:icons: font
:source-highlighter: rouge

image:https://img.shields.io/badge/CCCP-Certified-c41e3a[CCCP Certified]
image:https://img.shields.io/badge/RSR-Gold-ffd700[RSR Gold]

== What is CCCP?

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.

CCCP defines *principles and policies* for building software that is:

* *Emotionally safe* — development without shame or anxiety
* *Technically excellent* — type-safe, memory-safe, formally verified
* *Politically autonomous* — independent of Big Tech lock-in

== The Four Temperatures of "Cooler"

[cols="1,3"]
|===
| Temperature | Meaning

| *Emotional*
| Reduced anxiety through reversibility, safe experimentation, no shame in mistakes

| *Computational*
| Efficient systems, no unnecessary cycles, minimal runtime overhead

| *Social*
| Warm community with graduated trust, cool-headed technical decisions

| *Political*
| Resistance to monopolistic tooling, anti-corporate lock-in, autonomy through offline-first design
|===

== Core Principles

=== 1. Post-JavaScript Liberation

Rejecting the npm/node ecosystem's fragility in favor of:

* *ReScript* — OCaml soundness, compiles to JS
* *Rust* — Systems programming with memory safety
* *Deno* — Secure-by-default runtime (when JS is unavoidable)

=== 2. Offline-First as Autonomy

* Work continues without constant connectivity
* No cloud-dependent tooling
* SaltRover for offline repository management

=== 3. Distributed State Without Coordination

* *CRDTs* eliminate locking and cache invalidation
* Conflict-free by design
* No single point of failure

=== 4. Formal Verification as Mutual Aid

* Correctness is an act of solidarity
* SPARK/Ada for safety-critical paths
* Type systems prevent bugs before they happen

=== 5. Community Over Ego

* TPCF (Tri-Perimeter Contribution Framework)
* Graduated trust without gatekeeping
* Collective ownership patterns

=== 6. Language Polyglotism as Resistance

Using diverse languages resists monoculture:

[cols="1,2"]
|===
| Approved | Banned

| ReScript, Rust, Deno, Gleam, OCaml, Ada, Julia, Guile Scheme, Nickel
| TypeScript, Node.js/npm, Go, Python (except SaltStack), Java/Kotlin, Swift
|===

== Language Policy

=== Allowed Languages

[cols="1,2,2"]
|===
| Language | Use Case | Notes

| *ReScript*
| Primary application code
| Compiles to JS, OCaml type safety

| *Rust*
| Systems, performance, WASM
| Preferred for CLI tools

| *Deno*
| Runtime & package management
| Replaces Node/npm/Bun

| *Gleam*
| Backend services
| BEAM or JS target

| *OCaml*
| Compilers, formal methods
| Strong type system

| *Ada*
| Safety-critical systems
| SPARK verification

| *Julia*
| Data processing, batch scripts
| High-performance numerics

| *Guile Scheme*
| State/meta files
| STATE.scm, META.scm, ECOSYSTEM.scm

| *Nickel*
| Configuration language
| Type-safe configs

| *Bash/POSIX Shell*
| Scripts, automation
| Keep minimal
|===

=== Banned Languages

[cols="1,2,2"]
|===
| Banned | Replacement | Rationale

| *TypeScript*
| ReScript
| Unsound gradual typing

| *Node.js*
| Deno
| Insecure by default

| *npm/Bun/pnpm/yarn*
| Deno
| Supply chain risks

| *Go*
| Rust
| Error handling, generics

| *Python* (general)
| ReScript/Rust
| No static types

| *Java/Kotlin*
| Rust/Tauri/Dioxus
| JVM overhead, platform lock-in

| *Swift*
| Tauri/Dioxus
| Platform lock-in
|===

NOTE: Python is permitted *only* for SaltStack configuration management (temporary exception).

=== Mobile Development

No exceptions for Kotlin/Swift. Use Rust-first approach:

1. *Tauri 2.0+* — Web UI (ReScript) + Rust backend, PMPL-1.0/PMPL-1.0
2. *Dioxus* — Pure Rust native UI, PMPL-1.0/PMPL-1.0

Both are FOSS with independent governance.

== Package Management Hierarchy

[cols="1,2"]
|===
| Priority | Tool

| *Primary*
| Guix (guix.scm)

| *Fallback*
| Nix (flake.nix)

| *JS deps*
| Deno (deno.json imports)
|===

== Migration Priority

When encountering banned languages:

1. *Immediate*: Block new code in banned languages
2. *Short-term*: Convert TypeScript to ReScript
3. *Medium-term*: Replace Node/npm with Deno
4. *Long-term*: Rewrite Go/Python in Rust

== The Citadel of Code Creation

The *Citadel* is where RSR meets CCCP — the actual implementation pattern that embodies both.

=== What Makes It a "Citadel"?

* *Defensible Position* — Local dev environment can't be taken away by service outages
* *Self-Sufficient* — Nix + Podman + SaltRover = complete autonomy
* *Collective Defense* — Architecture makes mutual aid easier than isolation
* *Safe Haven* — Emotionally and technically safe to experiment

== Relationship to RSR

[source]
----
CCCP (Philosophy)
    │
    ▼
RSR (Standards Framework)
    ├── Defines 150+ compliance criteria
    ├── CCCP principles embedded
    └── Tier mapping (Bronze/Silver/Gold/Rhodium)
            │
            ▼
Your Repository (Implementation)
    ├── Emotionally safe development
    ├── Technically excellent
    └── Politically autonomous
----

== CCCP Certification

Projects can display CCCP certification when they:

1. Use only approved languages (see Language Policy)
2. Follow offline-first principles
3. Use FOSS tooling with independent governance
4. Implement reversibility patterns
5. Follow TPCF contribution model

=== Badge

[source,markdown]
----
![CCCP Certified](https://img.shields.io/badge/CCCP-Certified-c41e3a)
----

== Further Reading

* link:https://github.com/hyperpolymath/rhodium-standard-repositories[RSR Framework]
* link:https://github.com/hyperpolymath/mustfile[Mustfile] — Type-safe deployment
* link:https://github.com/hyperpolymath/palimpsest-license[Palimpsest License] — Multi-layered licensing

== Contributing

CCCP is a living document. Contributions that align with its principles are welcome.

See link:CONTRIBUTING.adoc[CONTRIBUTING.adoc] for guidelines.

== License

PMPL-1.0 + Palimpsest-0.8

---

_"We build systems that don't decay under pressure, communities that support experimentation without shame, and infrastructure that respects human autonomy."_

— The Rhodium Standard
