Slabosti odprtokodne programske opreme
CyanogenMod je umrl, ubil matično podjetje Cyanogen. Skupnost poskuša pobrati dele in ustvariti nov projekt, LineageOS, ki temelji na kodi. Vendar pa je opomnik, da odprtokodna programska oprema ni le sonce, mavrice in stabilnost: v resnici je pogosto lahko zelo grdo.
Tudi če je projekt odprtokoden, ni nujno, da se celo odziva na skupnost, še manj zanesljiv del programske opreme, na katerega se lahko zanesete. Projekti se razlikujejo: nekateri so vodeni s strani enega ali dveh razvijalcev kot hobi, drugi združujejo razvijalce, ki jih plačujejo številne velike korporacije, medtem ko jih drugi upravljajo samo ene matične družbe. Vsaka situacija ima svoje probleme in dramo.
Radi imamo odprtokodno programsko opremo - ne razumite nas narobe - vendar predstavlja določeno število izzivov. Poglejmo nekaj.
Odprtokodni pogosto trpi zaradi zamud in hitrosti razvoja ledenikov
Zdi se, da veliko odprtokodnih projektov trpi zaradi počasnega razvoja, kjer so nove različice neskončno zakasnjene, nove funkcije pridejo počasi, če sploh kdaj, in težko je dati prednost težavnim, vendar pomembnim funkcijam.
Oglejte si poskuse Ubuntuja, da predstavijo svoj Unity 8 namizni in Mirov strežnik za prikazovanje, kar omogoča njegovo vizijo »konvergence«. Ta nova različica namizja Linux naj bi bila stabilna pred mnogimi leti in še vedno ni. Projekt se je premaknil z ledenimi ritmi, tako da je bil Canonical pretepen za udarec Microsofta, ki je pred operacijskim sistemom Windows 10 napovedal lastno vizijo PC-by-smartphone, ki jo je ponudil. Canonical še ni dosegel svoje dolgo obljubljene vizije. Mogoče bo stabilen še nekaj let.
Mozilla je imela tudi težave pri določanju prednosti. V Firefoxu še vedno niso prikazane večprocesne in peskovne funkcije. To je ključnega pomena za ohranitev varnega brskalnika, za preprečevanje padcev celotnega brskalnika in boljšo uporabo večprocesnih procesorjev. Vsi drugi večji brskalniki so ponudili te funkcije, vključno s sovražnim Internet Explorerjem. Mozilla je izdelal projekt »Elektroliza«, da bi dodal te funkcije, vendar ga je leta 2011 ustavil, ker je bilo pretežko. Mozilla je nato morala ponovno zagnati v letu 2013. Ta funkcija izgleda, da bo prispela v 2017, kar je res, res pozno. Medtem je Mozilla zapravila čas, ko je delala na operacijskem sistemu Firefox OS, ki ni uspel.
Ko projekt uporablja veliko razvijalcev prostovoljcev, lahko pride do težav pri iskanju ljudi, ki bi naredili trdo delo, ki ni zabavno.
Notranja drama izogne vilicam, vilicam in več vilicam
Izvorna koda projekta odprte kode je na voljo vsem za spremembo. To je bistvo! Če se projekt odprte kode spremeni na način, ki vam ni všeč, potem lahko vi ali skupnost vzamete to staro izvorno kodo in nadaljujete z delom na njem kot nov projekt. Toda projekti skupnosti so pogosto tako zapleteni v notranjo dramo, da povzročajo razcepitev stvari v več projektov, zmedenost in odtujitev uporabnikov..
Na primer, ko se je zagnal GNOME 3 in mnogi uporabniki GNOME 2 niso bili zadovoljni, ni bilo neposredne očitne poti. Razvijalci so morali vnesti kodo GNOME v druge projekte, kot sta MATE in Cinnamon. Eno namizno okolje se je spremenilo v tri in razvojni viri so bolj razpršeni med projekti. Skupnost je zato potrebovala nekaj časa, da je dobila te nove projekte.
Podobno tudi skupnost OpenOffice ni bila zadovoljna, ko je Oracle kupil Sun. Oracle je celo na kratko preimenoval svoj lastniški, neprisotni pisarniški paket StarOffice v »Oracle Open Office«. Skupnost je morala ustvariti novo vilico LibreOffice, ki temelji na kodi OpenOffice. Postal je de facto odprtokodni pisarniški paket za veliko ljudi, drugi pa še vedno uporabljajo OpenOffice, ker se ne zavedajo boljše vilice in drame, ki jo obdaja. OpenOffice ima samo veliko prepoznavnega imena.
In seveda je CyanogenMod. Cyanogen Inc je pravkar potegnil vtič na spletne storitve CyanogenMod - kar pomeni, da bi raje ubil najbolj priljubljeno tretjo stranko Android ROM-a kot jo predal skupnosti, namesto tega pa je prisilil skupnost, da ustvari novo vilico CyanogenMod z imenom LineageOS. Zakaj Cyanogen ne preda projekta CyanogenMod skupnosti? Odgovor se zdi, da je notranja drama (tukaj vidite vzorec?). Cyanogen je bila družba, katere generalni direktor je obljubil, da bodo "vseeno vrgli kroglo skozi Googlovo glavo". Namesto tega je končal z metkom skozi glavo CyanogenMod.
Vse to samo na koncu škoduje uporabnikom CyanogenMod, ki so prejeli zelo malo obvestil, preden bodo strežniki in storitve CyanogenMod zaustavljeni. Telefoni bodo še naprej delovali, vendar priročne posodobitve in druge storitve skoraj nenadoma rastejo v dimu. Uporabniki samo upajo, da bo projekt LineageOS hitro postal nadomestek.
Vsi projekti odprte kode niso usmerjeni v skupnost
Open source projekti niso vedno gonilo skupnosti. Če je program odprtokoden, pomeni, da je koda na voljo za to, kar želite. Podjetje, ki razvija programsko opremo, ni nujno, da ga izvaja kot skupnostni projekt, ali pa imajo interes, da uporabijo projekt za promocijo svoje druge programske opreme..
CyanogenMod je dober primer tega. Ko je prišel Cyanogen Inc, jim CyanogenMod ni mar. Nov cilj podjetja Cyanogen je postal trženje modularne platforme za modrozeleno cianogenu proizvajalcem, ki so po uničenju projekta trgovali na velikem priznanju imena CyanogenMod. Morda je ravno tam denar.
Oracle ni nikoli skrbel za OpenOffice, vendar je sprva želel uporabiti svoje ime za prodajo lastniškega pisarniškega paketa StarOffice, tako da ga je označil z imenom »Open Office«. Nato je projekt podaril Apacheu, ko je večina razvijalcev prostovoljcev odšla.
Google pravzaprav ne skrbi za Android kot poln odprtokodni projekt, zato je vedno več delov projekta »Android Open Source Project« (ali »AOSP«). Google želi, da Android ostane odprt, tako da lahko proizvajalci preprosto prilagajajo, vendar aplikacije z odprtim izvorom, kot sta tipkovnica in klicanje, postajajo vse bolj zastarele. Na potrošniški napravi Android Google samo združi svojo zaprto tipkovnico, klicanje in druge aplikacije. Zdi se, da je Google zavezan k odprtokodnemu jedru Android, vendar ga ne more uporabiti celoten odprtokodni operacijski sistem brez Googlove programske opreme in storitev. Konec koncev, izboljšanje projekta Android Open Source samo pomaga Amazonovemu Fire OS, konkurentu Googlovih naprav Android. Kaj je smisel tega?
Odprtokodna lahko izgubi resno delovno silo, čeprav jo uporabljajo milijoni
Če je projekt odprtokoden, ga lahko uporabite, ne da bi pri tem sodelovali z velikimi podjetji. To vodi do težav, ko ima pomemben, široko uporabljen projekt hudo pomanjkanje delovne sile in sredstev.
Rezultate tega smo videli v Heartbleed varnostni luknji leta 2014. Heartbleed je izkoristil ranljivost v OpenSSL. OpenSSL je pomembna knjižnica za šifriranje, ki jo uporabljajo številne velike tehnološke družbe in več sto tisoč spletnih strežnikov. Vendar je imel samo enega zaposlenega s polnim delovnim časom brez zaposlitve zunaj in 2000 dolarjev na leto v donacijah. Projekt je prinesel dodaten denar iz komercialnih pogodb o podpori in svetovanju, toda samo en zaposleni za polni delovni čas se zdi presenetljivo nizek za kritično infrastrukturo, ki jo uporabljajo več milijard dolarskih korporacij, kot sta Google in Facebook..
Heartbleed je opozoril na to, kako premalo sredstev je bilo kritičnega dela programske opreme, zato so se velika tehnološka podjetja zavezala, da bodo vsako leto vložila denar v financiranje razvoja OpenSSL in drugih pomembnih projektov v okviru pobude »Osnovna infrastruktura«.
Za to posebno zgodbo je dober izid, zagotovo - vendar samo zato, ker mu je bilo namenjeno toliko pozornosti. Ko se zanašate na odprtokodni projekt, s katerim omogočite svojo infrastrukturo, je lahko odvisno od njega in predpostavlja, da ga nekdo drug dovolj dobro ohranja. Kateri drug pomemben odprtokodni projekt je kritično premalo financiran? Morda ne bomo opazili, dokler ne bo še en velik problem.
Zasluge za sliko: snoopsmaus