GoSuda

Politika a počítače

By snowmerak views ...

Filozofia

Čo si myslíte, že znamená filozofia? Podľa slovníkovej definície ide o činnosť, pri ktorej sa premýšľa o základných otázkach života a sveta a hľadajú sa na ne odpovede. Možno tiež uplatniť konaním zamerané vymedzenie, podľa ktorého nejde o riešenie úloh s vopred daným riešením, ale o rozširovanie myslenia prostredníctvom rovnakých alebo nadväzujúcich otázok a o zdieľanie týchto odpovedí.

V minulosti som počas štúdia bakalárskeho programu absolvoval predmet súvisiaci s politickou filozofiou. Vtedy si pamätám, že profesor počas môjho predstavenia povedal niečo podobné ako politická filozofia a informatika sú disciplíny, ktoré stoja na opačných vrcholoch rôznych filozofií. Presne tieto slová a táto veta neboli použité, no zhruba to bol ich význam.

Informatika

Informatiku považujem za základný výskum na riešenie logických problémov. Preto môže ten istý problém viesť k rôznym odpovediam v závislosti od toho, kto o ňom premýšľa. Najtypickejším príkladom je triedenie. Pri hľadaní spôsobu, ako usporiadať rovnaké zoznamy údajov do poradia, existuje mnoho prístupov, napríklad bublinové, vkladacie, výberové, zlučovacie, rýchle, haldové, tímové a ďalšie. Pričom rozdeľovaním problému môžu vznikať lepšie algoritmy.

Z lokálneho hľadiska možno tiež povedať, že ide o vytváranie a dokazovanie. Aj vyššie uvedené triedenie sa neustále vytvára, pričom sa výsledky dokazujú. Vývojárom môže byť bližším príkladom to, že pri návrhu projektu ho implementujú a dokazujú, že funguje bez chýb.

Politická filozofia

Politickú filozofiu považujem za základný výskum na riešenie spoločenských problémov. Opakovane kladie otázky k už existujúcim problémom, ktoré sa líšia v jednotlivých obdobiach, vytvára odpovede a zdieľa ich so súčasnosťou a budúcnosťou. Zaoberá sa predovšetkým abstraktnými hodnotami, ako sú spravodlivosť, sloboda, rovnosť a moc, ktoré sa v závislosti od doby a kultúry vykladajú odlišne. Nemá jasne určené hranice dobra a zla ani správnych a nesprávnych odpovedí, a práve to je jej charakteristickou vlastnosťou.

Z lokálneho hľadiska, podobne ako informatika, možno politickú filozofiu chápať ako kladenie otázok a reflexiu. Neustále sa pýta na vzniknuté problémy, zvažuje, prečo sa veci stali tak, ako sa stali, aké lepšie smerovanie je možné, a na základe toho hľadá odpovede. Aj tu platí, že počet odpovedí rastie úmerne s počtom ľudí, ktorí o nich premýšľajú.

Prečo by sme mali poznať politiku aj informatiku

Vzťah vzájomného vyvolávania

Oba svety sa zdajú skúmať odlišné oblasti, no v skutočnosti zdieľajú dosť podobných čŕt a veľa z nich je navzájom príčinou a následkom.

Uveďme jeden príklad.

  1. Ak sa osobné zdravotné údaje bezpečne uložia do cloudu, v prípade potreby k nim budú môcť jednotlivé nemocnice rýchlo pristupovať ⇒ programovaním sa funkcia implementuje bezpečným a ľahko dostupným spôsobom s využitím funkcií jednotlivých oblastí.
  2. Komu potom tieto údaje patria? Mne? Zodpovednej osobe, ktorá ich zaregistrovala? Alebo prevádzkovateľovi, vývojárovi, štátu? A čo potom môžu tieto subjekty vidieť z mojich údajov? Do akej miery a akým spôsobom môžem mať záruku, že moje osobné údaje budú chránené? ⇒ Vznikne politická diskusia o postojoch a rozdieloch záujmov rôznych spoločenstiev a jednotlivcov.
  3. Potom sa politická diskusia a programátorský návrh a implementácia budú v závislosti od času opakovane striedať v reťazci.

Takto sa informatika používa na riešenie existujúcich spoločenských problémov a politická filozofia následne slúži na uvedomenie si problémov, ktoré z toho vyplynuli, na ich spochybnenie a na riešenie ďalších problémov. V informačnej spoločnosti súčasnosti je to samozrejmý jav.

Sú si politika a informatika podobné

Čo nevyzerá podobne

Oba svety sa vyvíjali podobnými smermi. Ich základ však, podobne ako vzťah medzi sociálnou a prírodnou filozofiou, je odlišný v tom, že jeden používa vágne a druhý presné vyjadrenia. Politická filozofia vychádza z premenlivých a nejasných definícií v prirodzenom jazyku, kým informatika vychádza skôr z nemenných a jasných tvrdení vyjadrených formulami než z prirodzeného jazyka.

Líšia sa aj v smerovaní. Informatika predpokladá, že môže existovať optimálne riešenie. Politická filozofia sa naopak zaoberá pojmami ako presvedčivejšia argumentácia, lepšie podložený argument alebo etickejšie tvrdenie. Podľa mňa je však smerovanie oboch oblastí takmer rovnaké. V konečnom dôsledku sa obe snažia o lepšie ďalej. Už len informatika má mnoho odvetví, no typickým príkladom sú kodeky, teda kompresia médií, pri ktorej sa usilujeme o lepší kompresný pomer, výkon kompresie a licenčné náklady.

Čo ppôsobí podobne

Najtypickejšie možno vidieť podobnosť medzi programovacími jazykmi a politickými ideológiami, ktoré sa na ľudí uplatňujú podobným spôsobom. Jazyky a ideológie nie je možné jednoznačne priradiť k sebe, no pre zábavu ich uvediem.

  • Jazyk C (vývojár vie, čo robí): Chcel by som ho prirovnať k republikanizmu. Je podobný republike, ktorá historicky tvorila základ západných politických systémov, a pripomína komunitarizmus, ktorý kladie dôraz na uvedomelosť jednotlivých občanov a na úsilie jednotlivcov smerovať k lepším ideálom. Tiež mi pripadá podobný v tom, že s právami sú späté povinnosti.
  • Java (napíš raz, spusti kdekoľvek): Neviem. Existuje silný zákon, žije sa v jednotnom poriadku podľa neho, ale tento poriadok je stabilný a v jeho rámci je človek slobodný. A keď vstúpite do Springu, čakajú vás rôzne sociálne výhody. Mám to nazvať liberalizmom?
  • C# (súlad produktivity vývojára a zásad softvérového inžinierstva): Pod ochranou silného štátu je všetko dobre navrhnuté a v rámci plánovaného možno dosiahnuť maximálnu produktivitu a výkon. Najlepšie sa k tomu hodí plánované hospodárstvo. Nie je to komunizmus, pretože výrobné prostriedky sú uvoľnené a výrobcov neobmedzuje.
  • Go (zahodiť zložitosť, zvoliť praktickosť a efektivitu): Nič podobné nemám. Všetko rozdávajú, takže nech je to sociálny štát.
  • Rust (bezpečnosť bez straty výkonu): Vlastníctvo a životnosti v Ruste spravuje prísny kompilátor ako vládca. To, aby súkromná ekonomická aktivita nevytvárala nerovnosti a riziká, spoločenstvo spravuje výrobné prostriedky a plánuje ich tak, aby zabezpečilo stabilný život. Keďže sa obmedzuje časť slobody jednotlivca s cieľom zabezpečiť bezpečnosť a rovnosť celého systému, považujem ho za socializmus.
  • JavaScript (flexibilita, tolerancia a všadeprítomnosť): Chcel by som ho prirovnať ku kapitalizmu. Výrobné prostriedky vlastnia jednotlivci a dokonca aj zariadenia majú jednotlivci vo veľkom počte. Vďaka tomu vzniká rôznorodý priemyselný tovar a slobodnou súťažou môže každý sledovať zisk. Trh bez regulácie sa však čoskoro dostal do chaosu.
  • TypeScript (rozšírený JavaScript): Samozrejme ide o regulovaný kapitalizmus. Viera v kapitalizmus sa rozpadá a na zmiernenie nestability trhu štát do určitej miery zasahuje. Pôvodná úplná sloboda sa síce relatívne zredukovala, no stále môže každý slobodne vstúpiť na trh a súťažiť.

A nemalý počet vývojárov, o ktorých sa to nezdá, sa jazykmi hádajú ako pri ideologických vojnách v reálnom živote. Samotný jazyk je pre vývojárov známou ideológiou a zároveň ideálom, ku ktorému sa treba približovať.

Štát a architektúra

  • Monolitická architektúra a centralizovaný štát: Všetko je obsiahnuté v jednej veľkej kódovej báze a jednom binárnom súbore. Táto štruktúra sa podobá jednotnému štátu so silnou centrálnou vládou alebo absolutistickej monarchii. Všetky funkcie štátu sú riadené jediným mocenským systémom.
    • Výhodou je, že štát sa najľahšie vytvára a rozhodnutia prichádzajú rýchlo. Súvisí to s tým, že celý softvér sa rýchlo dostane k používateľom. Keďže všetky zdroje a informácie sú sústredené na jednom mieste, je ich správa prehľadná.
    • Nevýhodou je, že čím väčší štát je, tým ťažšie reaguje na zmeny, a aj pri zmene malého zákona alebo inštitúcie je potrebné preskúmať a uplatniť celok. Problém v jednej oblasti môže ochromiť celý štát. Aj monolit je kvôli veľkej kódovej báze a previazanému kódu ťažko prispôsobiteľný zmenám; pri zmene jedného riadku kódu treba posúdiť rozsah dopadu a problém v jednom module ľahko ovplyvní celý systém.
  • MSA a federatívny štát: Jednotlivé funkcie systému sa oddeľujú do nezávislých služieb. Táto štruktúra má podobnosti s federatívnym štátom, ktorý sa skladá z viacerých nezávislých štátov. Aj každá služba a každý štát majú nezávislú infraštruktúru. Zásahy centrálnej vlády sú zvyčajne voľné, a podobne ako pri federácii nie je isté, kedy dôjde k osamostatneniu alebo pripojeniu.
    • Základom je, že každý nezávislý štát a každá služba môžu samostatne meniť zákony alebo písať kód. Vďaka tomu nie je potrebné zosúlaďovať ich tempo. Aj keď nastane problém na jednom mieste, celá federácia sa len ťažko ochromí. Okrem toho si možno pre každý región alebo oblasť zvoliť vhodný systém (technológiu).
    • Dosiahnuť vzájomnú dohodu alebo vytvoriť komunikačné kanály je však náročné. Môže to viesť k zmätku, pretože je ťažké presadiť jednotnú politiku.
  • EDA (Event Driven Architecture) a občianska spoločnosť: Namiesto toho, aby centrálna vláda alebo splnomocnenec priamo vydávali príkazy, jednotlivci samostatne a iniciatívne preberajú a riešia vzniknuté spoločenské problémy. Podobá sa to vlastnosti EDA, pri ktorej po vzniku udalosti niektorý z odberateľov samostatne udalosť prevezme a spracuje.
    • Každý sa môže ľahko zapojiť. Aj v EDA môže nová služba jednoducho sa stať novým odberateľom a zapojiť sa do procesu.
    • Nevýhodou však je, že nie je možné prehľadne sledovať celý tok. Ťažko sa zisťuje, kto a ako udalosť spracoval, a nedá sa predvídať, akú reťazovú reakciu jedna udalosť vyvolá.
  • Vrstvená architektúra a feudalizmus: Feudalizmus je štruktúra, v ktorej každá vrstva plní pridelenú úlohu a zodpovednosť a plní povinnosti voči nadriadenej vrstve. Tieto vzťahy sa uzatvárajú ako druh zmluvného vzťahu a vytvárajú prísne vertikálnu vládu, a práve v tom možno nájsť podobnosť s vrstvenou architektúrou.

Takýchto prirovnaní je možné uviesť viac, no podstatou tohto textu nie je samotná štruktúra, ale proces, ktorým sa táto štruktúra vytvára.

Je riešenie problémov vo vývoji a v politike rovnaké?

Ak sú softvérová architektúra a štátne zriadenie podobné, potom je proces ich vytvárania prekvapivo paralelný. Vývoj softvéru je v podstate politickým konaním, ktoré v digitálnom priestore buduje a rozvíja nový poriadok.

  1. Verejná diskusia o spoločenskom probléme a analýza požiadaviek**:** Všetko sa začína otázkou „Čo je problém?“. Podobne ako sa bolesť a nepohodlie občanov stávajú verejnou diskusiou a politickou agendou, aj potreby a požiadavky používateľov sa po analýze stávajú prvým míľnikom vývoja v podobe špecifikácie požiadaviek.
  2. Návrh ústavy a architektúry**:** Aký štát chceme vytvoriť? Aký systém chceme vytvoriť? Podobne ako politici na základe ideológie a filozofie stavajú kostru ústavy a zákonov, architekt na základe technologického presvedčenia kreslí plán architektúry, ktorá bude základom systému. Rozhodnutia v tejto fáze určujú osud systému.
  3. Výkon politiky a implementácia softvéru**:** Keď je návrh hotový, vývojári píšu skutočný kód a úradníci podľa zákonov vykonávajú politiku. Ide o proces, v ktorom sa abstraktný plán mení na konkrétnu realitu, ktorá funguje v reálnom svete.
  4. Overenie vo voľbách a testovanie softvéru**:** Politika je posudzovaná zvolením a verejnou mienkou z hľadiska svojej legitimity. Softvér svoju hodnotu overuje testovaním tímom QA a spätnou väzbou používateľov. Obe sa nakoniec môžu udržať len vtedy, ak získajú súhlas suverénu (občanov, používateľov).
  5. Reforma inštitúcií a údržba systému**:** Raz vytvorené zákony a systémy nie sú večné. Podobne ako sa stare zákony menia a inštitúcie reformujú podľa zmien doby, aj softvér sa musí prispôsobovať meniacemu sa prostrediu a odstraňovať vnútornú neefektívnosť prostredníctvom „refaktoringu“. Akonáhle sa však refaktoring zastaví, stáva sa mŕtvym kódom.

Takto celý proces, od definovania problému cez návrh, implementáciu a overenie až po neustále zlepšovanie, ukazuje, že oba svety zdieľajú rovnaký rytmus riešenia problémov.

Deň nových zákonodarcov

Informačná spoločnosť zbavila zmyslu vzdialenosť medzi týmito dvoma vrcholmi filozofie. Kód už nie je len jednoduchým logickým obvodom, ale stal sa zákonom (Code is Law), ktorý určuje vzťahy medzi ľuďmi, rozdeľuje moc a realizuje spoločenské hodnoty. Ak architektúra, ktorú navrhujeme, pripomína štruktúru štátnej správy a proces vývoja, ktorý dodržiavame, je podobný politickému dohadovaniu, kto sme potom my, vývojári, a čo by mali robiť politici? Preto sa vývojár musí okrem logiky kódu zamýšľať aj nad spoločnosťou, ktorú jeho kód vytvorí, a politik musí okrem logiky hlasov rozumieť logike technológií, ktoré pohybujú svetom. Moc, ktorú v našich svetoch vykonávame, si totiž vyžaduje zodpovedajúcu etickú zodpovednosť.