Masintõlge, mida emakeelne kõneleja pole üle vaadanud. Võrdlusallikaks on ingliskeelne versioon.

ProjektMuuda GitHubisAllikas: GOVERNANCE.md

Kshana juhtimine

Käesolev dokument kirjeldab, kuidas Kshanat juhitakse: kes teeb otsuseid, kuidas ja mida projekt omaks võtab ning mida mitte. See on tahtlikult kerge — vastavuses projekti praeguse suurusega — ning ausalt märgib praegust ühe hoidja olukorda ja teed laiema juhtimiseni kogukonna kasvades.

Missioon ja ulatus#

Kshana on neutraalne, reprodutseeritav ja ausalt valideeritud etalon hübriidse kvant-/klassikalise PNT toimivuse ja vastupidavuse jaoks. Missioon seab läve igale otsusele: õigsus, viited ja reprodutseeritavus laiuse ees. Aus ulatus on dokumenteeritud failis docs/CAPABILITY.md ja valideerimise seis failis docs/VALIDATION.md; ettepanekuid kaalutakse selle ulatuse, mitte funktsioonide arvu alusel.

Rollid#

  • Hoidja. Kshanat hoiab praegu selle asutaja Ashforde OÜ (kontakt: contact@ashforde.org). Hoidja teeb lõpliku otsuse ulatuse, disaini, väljalasete ja ühendatava sisu üle. See on heatahtliku hoidja mudel, mida öeldakse välja selgelt, mitte ei maskeerita komiteeks, mida ei ole.
  • Kaastöötajad. Igaüks, kes avab probleemi (issue) või tõmbepäringu. Kaastöödele kehtib lävi failis CONTRIBUTING.md — iga arvulise parameetri päritolu, valideerimine avaldatud seose vastu ja ausus küpsuse osas.
  • Tulevased kommitijad. Kui järjekindel ja kvaliteetne kaastöö seda õigustab, laiendatakse usaldusväärsetele kaastöötajatele muutmisõigust ning käesolev dokument ajakohastatakse mitme hoidjaga mudeliks (otsused laisa konsensusega, vaidlused lahendab hoidjate rühm). Seni on tee järgmine: teha kaastööd, kujundada usaldusväärne tegevusajalugu ja saada kutse.

Kuidas otsuseid tehakse#

  1. Avatud arutelu. Sisulised muudatused algavad GitHubi probleemina (issue), et põhjendus, alternatiivid ja kompromissid oleksid kirjas.
  2. Lazy consensus (lai konsensus vaikimisi nõusolekuga). Ettepanek, millele mõistliku aja jooksul püsivat vastuväidet ei ole ja mis ületab allpool toodud tehnilise läve, liigub edasi.
  3. Hoidja otsustab lahkarvamuse korral. Kui konsensust ei saavutata, otsustab hoidja ja kirjutab põhjuse üles. Lahkarvamus lahendatakse missiooni ja tehnilise läve alusel, mitte staaži ega mahu põhjal.

Tehniline lävi (läbirääkimatu)#

Need on ranged invariandid, mida jõustavad CI ja ülevaatus ning mida ükski otsus ei tühista:

  • Reproducibility. (scenario, seed, engine_version) peab käivituse bitthaaval taasesitama. Muudatus, mis teeb selle mittedeterministlikuks, on viga, mitte funktsioon.
  • Päritolu. Anonüümseid arvulisi konstante ei ole — iga parameeter viitab allikale.
  • Valideerimise ausus. Iga võimekus on märgitud kui validated (välise sõltumatu etaloni vastu) või modelled / not modeled. Midagi ei väideta tõenditest kaugemale. Vt masinkontrollitud maatriksit failis src/verification.rs.
  • Hügieen. Automatiseeritud tööriista omistust ei ole kusagil kommitides, sisus ega ajaloos (jõustab scripts/check-no-attribution.sh).

Muudatus, mis ei suuda läve täita, lükatakse tagasi, olgu see kui tahes kasulik.

Avatud ja suletud piir#

Kshana on open-core. See hoidla on ja jääb täielikuks avatud AGPL-3.0 mootoriks — neutraalseks etaloniks, mida Ashforde OÜ pakub ka kommertslitsentsiga (vt LICENSING.md). Projekt ei võta avatud hoidlasse vastu järgmist:

  • Ekspordikontrolli alla kuuluv või kahesuguse kasutusega sügavus — päris ohuteegid, vastase lainekujud või segamis- ja spuufimisvastased toimivusparameetrid. Avalik hoidla piirdub üldiste, avaldatud mudelite ja meetoditega (vt CONTRIBUTING.md → Export control). Kahtluse korral tuleks küsida enne kaastöö tegemist.
  • Kliendi või partneri konfidentsiaalsed andmed või kalibreerimine.
  • Copyleft-põhimõttega (GPL/AGPL/LGPL/MPL) sõltuvused — mitte sellepärast, et need läheksid vastuollu mootori enda AGPL-litsentsiga (ei lähe), vaid sellepärast, et neid ei saa kommertsväljaandesse ümber litsentsida: kommertslitsentsi saame müüa ainult koodile, mis on meie oma või lubav (permissive). Copyleft-sõltuvus rikuks kommertsväljaande ja kahe litsentsi mudeli. Sõltuvused jäävad seetõttu lubavaks (Apache/MIT/BSD/ISC), mida jõustab deny.toml.

Vastupidi, projekt ei tühjenda avatud tuuma, et suruda tulu suletud osale: valideeritud mootor, avalikud valideerimisankrud, ausaduse register (ledger), vahetus- ja standardvorming ning levikanalid jäävad avatuks. Avatud tuuma näljutamine on open-core mudeli ainus saatuslik viga ja see on välistatud.

Väljalasked#

  • Semantiline versioonihaldus. Enne versiooni 1.0 võib stsenaariumi- ja tulemuseskeem muutuda; tagasiühildumatud muudatused tuuakse välja ning vahetusskeemi versioon (src/interchange.rs::SCHEMA_VERSION) on artefaktide ühilduvuse ainus tõeallikas.
  • Väljalaskevolitus. Avaldamine (nt cargo publish) on hoidja käsitsi tehtav samm, mis nõuab registritõendit (token). CI ja sildiga käivitatav väljalasketöövoog ei avalda kunagi automaatselt väliseid registreid — need käivitavad ainult kõik kontrollid uuesti ja lisavad ehitusartefakti. Vt CONTRIBUTING.md → Commits and versioning.

Käitumisjuhend ja turvalisus#

  • Käitumist reguleerib CODE_OF_CONDUCT.md.
  • Turvaprobleemide puhul järgitakse privaatse teatamise protsessi failis SECURITY.md — haavatavuse kohta ei tohi avada avalikku probleemi (issue).

Kaubamärk#

Kshana nimi ja logo on Ashforde OÜ kaubamärgid. Litsents (AGPL-3.0 või kommertslitsents) katab koodi, mitte kaubamärke: hargnenud versioon (fork) võib koodi litsentsi alusel kasutada, kuid mitte Kshana nime ega kanoonilist levitamisidentiteeti. See hoiab Ashforde'i viidatud tõeallikana ja on osa sellest, kuidas avatud tuum jääb neutraalseks etaloniks.

Selle dokumendi muutmine#

Juhtimise muudatusi tehakse endiselt tõmbepäringuna ja otsustatakse ülalkirjeldatud protsessiga. Projekti mastaapide muutudes võib oodata, et dokumenti täiendatakse mitme hoidja otsustusmudeliga; tehnilist lävi see ei vähenda.

Kerge juba kavandi poolest. Aus tänase suhtes, tulevikuks sõnastatud teega.