Kshanan hallinto
Tämä asiakirja kuvaa, miten Kshanaa hallitaan: kuka tekee päätökset, miten, ja mitä projekti ottaa vastaan ja mitä ei. Se on tarkoituksella kevyt — projektin nykyiseen kokoon sopiva — ja kertoo rehellisesti nykyisestä yhden ylläpitäjän tilanteesta ja tiestä laajempaan hallintoon yhteisön kasvaessa.
Tehtävä ja laajuus#
Kshana on puolueeton, toistettava ja rehellisesti validoitu vertailukohta hybridille kvantti- ja klassiselle PNT:n suorituskyvylle ja kestävyydelle. Tehtävä asettaa kynnyksen jokaiselle päätökselle: oikeellisuus, lähdeviitteet ja toistettavuus ovat tärkeämpiä kuin laajuus. Rehellinen laajuus on kuvattu tiedostossa docs/CAPABILITY.md ja validoinnin tila tiedostossa docs/VALIDATION.md; ehdotuksia punnitaan tätä laajuutta vasten, ei ominaisuuksien lukumäärää vasten.
Roolit#
- Ylläpitäjä. Kshanaa ylläpitää tällä hetkellä sen perustaja Ashforde OÜ (yhteystieto:
contact@ashforde.org). Ylläpitäjä tekee lopullisen päätöksen laajuudesta, suunnittelusta, julkaisuista ja siitä, mitä yhdistetään. Kyseessä on hyväntahtoisen ylläpitäjän malli, joka sanotaan suoraan sen sijaan, että se naamioitaisiin olemattomaksi komiteaksi. - Osallistujat. Kuka tahansa, joka avaa issuen tai pull requestin. Osuuksilta edellytetään tiedostossa
CONTRIBUTING.mdasetettu kynnys — alkuperä jokaiselle numeeriselle parametrille, validointi julkaistua relaatiota vasten ja rehellisyys kypsyydestä. - Tulevat commit-oikeuden haltijat. Kun jatkuva, laadukas osallistuminen sitä oikeuttaa, luotetuille osallistujille myönnetään commit-oikeudet, ja tämä asiakirja päivitetään usean ylläpitäjän malliin (päätökset laiskalla konsensuksella, erimielisyydet ratkaisee ylläpitäjäryhmä). Siihen asti tie on: osallistu, ansaitse maine ja tule kutsutuksi.
Miten päätökset tehdään#
- Keskustelu avoimesti. Merkittävät muutokset alkavat GitHub-issuena, jotta perustelut, vaihtoehdot ja kompromissit tulevat kirjatuiksi.
- Laiska konsensus. Ehdotus, johon ei kohdistu kestävää vastustusta kohtuullisen ajan jälkeen ja joka täyttää alla olevan teknisen kynnyksen, etenee.
- Ylläpitäjä ratkaisee erimielisyyden. Kun konsensukseen ei päästä, ylläpitäjä päättää ja kirjaa perusteen. Erimielisyys ratkaistaan tehtävän ja teknisen kynnyksen perusteella, ei virka-iän tai äänekkyyden perusteella.
Tekninen kynnys (ei neuvoteltavissa)#
Nämä ovat ehdottomia invariantteja, joita CI ja katselmointi valvovat ja joita mikään päätös ei ohita:
- Reproducibility.
(scenario, seed, engine_version)on pystyttävä toistamaan ajo bitilleen. Muutos, joka tekee tästä epädeterministisen, on virhe, ei ominaisuus. - Alkuperä. Ei nimettömiä numeerisia vakioita — jokaisella parametrilla on lähde.
- Validoinnin rehellisyys. Jokaisella ominaisuudella on merkintä
validated(ulkoista oraakkelia vasten) taimodelled/not modeled. Mitään ei väitetä todisteita enempää. Katso koneellisesti tarkistettu matriisi tiedostossasrc/verification.rs. - Hygienia. Automaattisten työkalujen tekijämainintoja ei esiinny missään commiteissa, sisällössä eikä historiassa (valvoo
scripts/check-no-attribution.sh).
Muutos, joka ei voi täyttää kynnystä, hylätään, vaikka se olisi kuinka hyödyllinen.
Avoimen ja suljetun raja#
Kshana on open-core. Tämä repositorio on ja pysyy täydellisenä avoimena AGPL-3.0-moottorina — puolueettomana vertailukohtana, jonka Ashforde OÜ lisensoi lisäksi kaupallisesti (katso LICENSING.md). Projekti ei ota avoimeen repositorioon:
- Vientivalvonnan alaista tai kaksikäyttöistä syvyyttä — todellisia uhkakirjastoja, vastustajan aaltomuotoja tai häirinnän- ja harhautuksenestosuorituskyvyn parametreja. Julkinen repositorio pysyy yleisissä, julkaistuissa malleissa ja menetelmissä (katso
CONTRIBUTING.md→ Export control). Jos olet epävarma, kysy ennen osallistumista. - Asiakkaan tai kumppanin luottamuksellista dataa tai kalibrointia.
- Copyleft-lisensoituja (GPL/AGPL/LGPL/MPL) riippuvuuksia — ei siksi, että ne olisivat ristiriidassa moottorin oman AGPL-lisenssin kanssa (eivät ole), vaan koska niitä ei voi lisensoida uudelleen kaupalliseen versioon: kaupallisen lisenssin voi myydä vain koodille, jonka omistamme tai joka on salliva. Copyleft-riippuvuus saastuttaisi kaupallisen version ja rikkoisi kaksoislisensoinnin. Riippuvuudet pysyvät siksi sallivina (Apache/MIT/BSD/ISC), ja tätä valvoo
deny.toml.
Päinvastoin, projekti ei tyhjennä avointa ydintä siirtääkseen arvoa suljettuun: validoitu moottori, julkiset validointiankkurit, rehellisyyskirjanpito, vaihto- ja standardimuoto sekä jakelukanavat pysyvät avoimina. Avoimen ytimen näivettäminen on open-core-mallin ainoa kohtalokas virhe, eikä se tule kysymykseen.
Julkaisut#
- Semanttinen versiointi. Ennen versiota 1.0 skenaario- ja tulosskeema voi muuttua; rikkovat muutokset mainitaan erikseen, ja vaihtoskeeman versio (
src/interchange.rs::SCHEMA_VERSION) on ainoa totuuden lähde artefaktien yhteensopivuudelle. - Julkaisuoikeus. Julkaiseminen (esim.
cargo publish) on manuaalinen ylläpitäjän vaihe, joka vaatii rekisterin tunnuksen. CI ja tagilla käynnistyvä Release-työnkulku eivät koskaan julkaise ulkoisiin rekistereihin automaattisesti — ne vain ajavat kaikki tarkistukset uudelleen ja liittävät mukaan koontiartefaktin. KatsoCONTRIBUTING.md→ Commits and versioning.
Käytösohje ja tietoturva#
- Käytöstä säädetään tiedostossa
CODE_OF_CONDUCT.md. - Tietoturvaongelmissa noudatetaan tiedostossa
SECURITY.mdkuvattua yksityistä ilmoitusmenettelyä — älä avaa julkista issuea haavoittuvuudesta.
Tavaramerkki#
Kshana-nimi ja -logo ovat Ashforde OÜ:n tavaramerkkejä. Lisenssi (AGPL-3.0 tai kaupallinen lisenssi) kattaa koodin, ei tavaramerkkejä: forkki saa käyttää koodia lisenssin ehdoin, mutta ei Kshana-nimeä eikä virallista jakeluidentiteettiä. Tämä pitää Ashforden siteerattuna totuuden lähteenä ja on osa sitä, miten avoin ydin säilyy puolueettomana vertailukohtana.
Tämän asiakirjan muuttaminen#
Hallinnon muutokset ehdotetaan itsekin pull requestina, ja niistä päätetään yllä kuvatulla menettelyllä. Projektin koon muuttuessa tähän asiakirjaan on odotettavissa usean ylläpitäjän päätösmalli; tekninen kynnys ei sen myötä madallu.
Kevyt tarkoituksella. Rehellinen tästä päivästä, ja huomista varten on kirjattu suunta.