17.01.2019
Projekt podpira MVZT

Angleška stran/English version

Iz o COKS - Center odprte kode Slovenije

Skoči na: navigacija, iskanje

Odprta koda in standardi

Standardi igrajo pomembno vlogo pri uporabi modernih računalniških sistemov. Uporabnikom omogočajo, da ob nabavi nove računalniške opreme in programja, vse deluje tako kot je pred tem. Omogočajo nam na primer, da povežemo računalnike v mrežo, omogočajo, da se aplikacije med seboj „pogovarjajo“. Standardi podpirajo zdravo konkurenco, ker če računalnik ali program uporablja standarde, lahko izvaja enake naloge, kot drugi sistem, ki uporablja te standarde, ne glede na to kdo je proizvajalec računalniške oziroma programske opreme.

Vrste standardov

Pravi standardi so izdelani v nacionalnih ali mednarodnih organizacijah, v katere so vključeni strokovnjaki iz različnih področij, na katerih se potem ti standardi uporabljajo. Tvorijo osnovo zabavne elektronike in na podlagi le teh se rodijo povsod prisotne tehnologije, kot so recimo USB in internet. Nekatere organizacije, med drugimi tudi World Wibe Web konzorcij (W3C), uporabljajo priporočila namesto standardov pri njihovem delu. V tem odstavku bomo uporabili termin „odprti standardi“, ki obsega tako normalne standarde, priporočila W3C in tudi RFCje od IETF (glej nižje).

De facto standardi se tvorijo z prakso vodilnih na trgu na določenem področju. De facto standardi se lahko pretvorijo v uradne standarde, če se vodilni na trgu odločijo, da je vlaganje v trg bolj koristno kot povečevanje njihovega tržnega deleža.

Lastniški standardi so uvedeni in kontrolirani s strani enega podjetja in so lahko zaščiteni s patentom, se lahko samovoljno spreminjajo, lahko so zelo pomanjkljivo dokumentirani. Lahko pa so kljub vsemu tudi splošno razširjeni.

Vsak odprti standard je na voljo za implementacijo v odprto kodnem programju. De facto standardi pa predstavljajo pomemben tehnološki problem. Ne samo zato, ker lahko vodilni na trgu z vsako novo verzijo spreminja te standarde, ampak tudi za to, ker lahko vključijo patentirane metode in algoritme v standard. Patentno zaščiteni lastniški standardi niso na voljo za uporabo v odprti kodi, saj so patenti navadno licencirani glede na instalirano programje ali računalniško opremo, odprta koda pa ne dovoli restrikcij glede števila instalacij.

Organizacije za upravljanje s standardi

Odprti standardi so objavljeni in upravljani s strani organizacij za upravljanje s standardi., vsaka ima svoje področje in način delovanja. Področja so različnih obsegov, od zelo ozkih, do univerzalnih tipa ISO. Procesi sprejemanja standardov so prav tako različni, od pregledov z manjšimi popravki, do dolgih procesov, ki vključujejo razne študije, posvetovanja, mednarodna srečanja, številne revizije in prevajanje standardov v številne jezike.

Obstajajo številna pomembna delovna telesa za standardizacijo odprte kode:

To je ameriška organizacija, ki je izpeljala standardizacijo računalniške opreme in manjših komunikacijskih sistemov

    • Je zelo tehnično naravnana organizacija
    • Tehnološka kakovost predstavlja največji vpliv v procesu standardizacije
  • Internet Engineering Task Force (IETF)

To je telo, ki standardizira mrežne protokole, na podlagi katerih je osnovan internet, kot RFC (Request For Comments).

    • Zahteva dve različni, neodvisni implementaciji standarda
    • Zahteva dolgotrajen proces, a je lahko razmeroma poceni, saj fizični sestanki niso potrebni
    • So najbolj prijazni odprti kodi od vseh organizacij, posledično je pomembno število odprtokodnih implementacij IETF protokolov.
  • Mednarodna organizacija za Standardizacijo (ISO )

ISO je organizacija za upravljanje s standardi z najširšim področjem delovanja in s predstavnikom vsake države z nacionalnim standardizacijskim telesom.

    • Zelo raznolika, multikulturna organizacija.
    • Sodeluje z Združenimi narodi na področjih, kot so na primer sprememba imena držav.
    • Uporablja se kot „zlati standard“ za reševanje političnih in kulturnih zadev, še posebej na področju narodnosti in abecednih znakov.
  • World Wide Web Konzorcij (W3C)

To je organizacija, ki izdaja priporočila na podlagi katerih deluje svetovni splet. Priporočila se razvijajo v okviru delovnih skupin, ki so sestavljene iz članov in povabljenih strokovnjakov, izglasovanih s strani članov. Čeravno so bila nekatera stara priporočila razvita na nekoliko abstrakten način, mora vso trenutno delo najprej prestati dve neodvisni implementaciji, preden je lahko izglasovana s strani članov.

    • W3C je relativno mlada organizacija z relativno hitrim procesom.
    • Zelo priznana s strani vseh za njeno tehnično delo pri vključevanju in dostopnosti.

OASIS je standardizacijsko telo, ki razvija podrobne spletne in XML standarde po posameznih industrijskih področjih, pri delu na veliko upoštevajo priporočila W3C.

    • Promovira kompatibilnost znotraj posameznih področij
    • Omogoča podjetjem in organizacijam, da predlagajo napredne rešitve in interne standarde za odprte standarde
    • Nekateri predlogi standardov se zdijo kot da so predlagani predvsem zaradi konkurenčnih prednosti, kar zbuja skrb pri nekaterih opazovalcih.

Večina udeležencev v teh standardizacijskih telesih je tam na lastne stroške, ali na stroške njihovih delodajalcev, torej v povezavi s kodnimi standardi so to predvsem ponudniki programja. Ti ponudniki programja uporabljajo standardizacijo kot konkurenčno in marketinško orodje na trgu programske opreme, kar zbuja skrb in konflikte interesov. V nekaterih primerih sodelujejo tudi akademiki, podporniki odprte kode in skupine ljudi ki niso tam zaradi dobička.

Veliko teles ima mehanizme, ki varujejo pred konflikti interesov, kot so nedvoumno navajanje licenc nad standardi in dokumenti povezanimi s standardi, ter zahteve da udeleženci navedejo vse patente, ki lahko vplivajo na implementacijo standarda. Vsi ti ukrepi ne veljajo za nazaj (niso retrospektivni), vseeno pa je mnogo široko uporabljenih standardov, kot na primer MPEG-4 v realnosti na voljo izključno tistim, ki delujejo v skladu z komercialnim poslovnem modelu.