TL; DR - Nazovimo stvari pravim imenom. Smisao 'open-source' projekata je zajednički i distribuirani razvoj određenog autorskog rada, a ne površne prilike za zahvat većeg tržišnog kolača. Ovdje nastojimo prikazati koncepte koji određuju kvalitetan i uspješan 'open source' projekt poput Linuxa ili WooComerca, a razdvojiti ih od orkestriranih pokušaja otvaranja korporativnih tehnologija kao što su, primjerice, 'framework' ASP.NET ili programski jezik Swift.
Microsoft je prije samo tri mjeseca objavio kako koristi Linux u svojim podatkovnim centrima. “Ma to je neki marketinški trik!” uskliknuo je stari IT-jevac, križajući se i prizivajući vremena starih podjela na lijeve i desne, Macovce i PC-aše, Windozere i Linuxaše.
Taj isti Microsoft je prije godinu dana “otvorio kod” za svoj ASP.NET, korporativni framework razvojno korišten na pretežito poslovnim aplikacijama i naravno, MySpaceu. I tada su se novinari i Facebook revolucionari pozivali na vizionarske zaokrete moćnog Satye Nadelle. Microsoft je imao novu otvorenu vodilju, Microsoft je imao stav!
Privid demokracije
No u hipsterskom svijetu, stavovi su mekana i maglovita stvorenja. Sposobna pivotirati i u najčudnije tehnološke kutke. U hipsterskom svijetu, trend je bitniji od stava, a šefu se vrlo lako može “prodati” NoSQL jer eto, “moći ćemo već sutra skalirati prema milijunima korisnika!”
Sličan događaj nam je priuštio i veliki Apple prije otprilike tri tjedna objavom da “otvara” Swift prema zajednici te da se taj programski jezik od sada može koristiti i za razvoj na drugim platformama. Proučite li malo bolje, što zapravo znače te objave? Znači li ta vijest od Applea išta čak i natprosječnom iOS programeru? Na Appleovoj službenoj stranici stoji ponositi tekst objave…
Now anyone can download the code and in-development builds to see what the team is up to. More advanced developers interested in contributing to the project can file bugs, participate in the community, and contribute their own fixes and enhancements to make Swift even better. For production App Store development you should always use the stable releases of Swift included in Xcode, and this remains a requirement for app submission.
Kao što vidite, dosta se jasno navodi requirement korištenja Xcodea, prijave aplikacije na iTunes Connect pa sve do distribucije vašeg proizvoda putem Apple ekosustava. I to je u redu! No sa strane Applea. U globalu, s tim vašim akcijama zapravo radite posao umjesto “njih” iz Cupertina! (Meni se osobno gornji tekst čini kao opis radnog mjesta Junior Developer u Swift timu.)
Ako pak pišete na Microsoft ASP.NET-u, realno je stanje da u produkciji morate koristiti-platiti Windows i IIS instaliran na Azureu ili nekom drugom data centru pa iako su Swift i ASP.NET divne tehnologije, njima nije i nikada neće biti prožet korijenski koncept open sourcea. Cilj takvih korporativnih projekata je zadržavanje developera na naplatnom ekosustavu, a ne plesanje izvan njega. U globalu, cilj im je stvoriti privid demokracije, a to nam otkriva i centralnu temu članka.
Kovanje WooCommercea iz vatrenih internetskih debata
Naime, davne 2011. godine, u vatrenoj digitalnoj debati, iskovan je WooCommerce. Punokrvni WordPress dodatak koji vašu internetsku stranicu pretvara u moćan web dućan i eCommerce platformu. Na internetskim arhivama se može pronaći interesantnog materijala oko njegovog nastanka. Pričalo se o podvalama, poslovnim preuzimanjima, odbijanjima… Uglavnom, ako vas interesira, “proguglajte” jer ima podosta štiva na tu nekada vruću temu.
Tehnološki, WooCommerce je nastao kao grananje (tzv. fork) Jigoshopa, tada popularnog i naravno open source, WordPress plugin projekta. Sam WordPress je također nastao kao dogovorna grana od B2 CMS-a i to u nešto uljuđenijem okruženju jer su Matt Mullenweg i Mike Little prijateljski preuzeli programski kod od Michela Valdrighija, trenutnog programera i kontributora na WordPress projektu.
Brojke ne lažu, ali kako je do njih došlo?
Kada usporedite korporativno umjetnu priču s Microsoft/Apple početka i životnu Santa Barbaru od WooCommercea, postaje jasnije na koji način open source projekt treba izgledati i kako se njime treba upravljati. Objektivne brojke vizualiziraju svoju priču jer WordPress trenutno drži 50% tržišta svih web portala i ozbiljnijih web aplikacija.
WooCommerce pak drži trećinu tržišta svih eCommerce implementacija tvoreći time jedan impozantan ekosustav za prodaju digitalnim kanalima.
Uspon do tih brojki je bio slojevit i svakako nije došao preko noći. Naime, WooCommerce ima jedan od raširenijih ekosustava u digitalnom svijetu, a proširenja i nadogradnje se slobodno mogu razvijati, distribuirati i prodavati na barem tucet platformi:
- WordPress.Org
- CodeCanyon (Premium)
- Woothemes (Premium)
- BitBucket
- GitHub…
Dodatno, razne lokalizacije, dokumentacije i vizualne teme se također slobodno realiziraju i distribuiraju, a takve produkcije su pretežito temeljene na uputama i vodičima ostalih članova zajednice, no bez strogih pravila.
Zagovornici korporativnog open sourcea mogli bi reći da je i Swift imao relativni uspjeh u vrlo kratkom roku. Više od 10.000 prijavljenih mogućih dorada (commits) u prvih 24 sata od objave te više od 400 zahtijevanih dorada (pull requests) doista nisu male brojke. No glavna misao vodilja nam je – kome to služi? Appleu ili tržištu?!
Ako dodatno analiziramo sve slične, a uspješne open source projekte, detektirat ćemo 4 glavne značajke koje oni moraju imati da bi se kvalificirali kao tržišno značajni, otvoreni i smisleni.
1. Konsenzus, a ne autoritet
Otvoreni kod je kvalitetniji kada je usuglašavan, a ne diktiran. Na taj se način dugoročno ugrađuje znanje i kvaliteta od više kontributora (developera) u jedan projekt. Iako je takav proces šumovitiji od jednostavnog direktnog upravljanja, dugoročno dovodi do tržišno “jačeg koda” u koji je ugrađeno mnogo iskustva.
2. Decentraliziranost povrh centraliziranosti
Decentraliziranost je Sancho Panza konsenzusa. S time omogućavamo da taktika i strategija razvoja projekta ostaje slojevita, duboka i bazirana na znanju više programera. Decentraliziranost također omogućava pogled iz više rakursa te obraćanje pažnje na tržišne detalje neprimjetne iz skrivenih kutaka mračne centralizacije.
3. Gradi tržište, a ne jednu kompaniju
Slijedno decentralizaciji, jedna od glavnih značajki i poanti realnih open source projekata je da više pomažu tržištu u globalu nego jednoj kompaniji. Linux, Apache i WordPress demokratizirali su i ojačali internetsko izdavaštvo u najširem smislu. WooCommerce čini isto za eCommerce i web prodaju putem digitalnih kanala. Širina zahvata tržišta je ovdje krucijalna. Naime, WooCommerce mogu implementirati mali trgovci sa svega par artikala, no to također mogu napraviti i veliki igrači s milijunima korisnika koji pak zahtijevaju potpuno prilagođeni pristup razvoju svog digitalnog poslovanja. Iako će potonji zahtijevati pomoć vanjskih stručnjaka i dokazanih programera, njih je omanja vojska, a upravo nas to dovodi i do zadnje točke…
4. Neovisan i prenosiv
Otvoreni kod voli rasti, evoluirati i iskakati iz vlastitih okvira. Čim je otvoreniji, veća je šansa da za vašu poslovnu potrebu možete naći kvalificiranijeg programera, implementatora ili konzultanta. Suprotnu stranu ove medalje, tzv. vendor lock-in, iskusili su svi subjekti koji su temeljili poslovanje na sustavima koji održavaju “nezamjenjivi”. Hrvatsko tržište i ovdašnji “janjeći” načini sklapanja poslova bili su plodno tlo upravo za takve integratore. Istina, u zadnje vrijeme se pojavljuje skupina institucionalnih projekata koji dokazuju da se država opametila te uvidjela prednost OpenSource zajednice.
Spomenuto iskakanje iz vlastitog okvira je, ipak na kraju, najveća poanta jer je softver doista podložan za potpuno otvaranje zajednici, a korporacije i državni aparati mogu puno preuzeti iz navedenih koncepata.
Ti tradicionalno zatvoreni sustavi trebali bi se odmaknuti od klasičnih marketinških spletki s otvorenim kodom i krenuti putevima WordPress, Android ili Linux zajednice. Upotrijebimo li prave alate na pravi način, magla i trikovi se pretvaraju u korisne projekte od kojih cijelo tržište ima koristi, a ne samo šačica ljudi.
Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.
Pravila ponašanja
Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja, kao i Zakon, držeći se sljedećih pravila ponašanja:
Kako koristimo podatke koje ostavljate? Bacite oko na našu izjavu o privatnosti.
Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.
Komentari
Ivo Lukač
24. 12. 2015. u 12:16 am
Vrlo dobar članak Krešimire. Mislim da dobro dođe malo ponovit gradivo svako malo. Neznam za druge, ali mi smo izabrali otvorene platforme još 2005. godine 😉
Pozdrav
Kreshomir
24. 12. 2015. u 12:32 am
Hvala Ivo! 2005-a mi se čini kao ages-ago 🙂 Na što ste prešli tada?
Ivo Lukač
30. 12. 2015. u 3:19 pm
eZ Publish CMS na LAMP stacku
goran
01. 01. 2016. u 1:58 pm
4. Neovisan i prenosiv
Trebalo bi objasniti pojam licence u open source software jer ja kao developer nemam ili moj poslodavac nema pravo imati kontrole nad licencom u GPL 2.
Nad MIT ili New BSD licencom imamo pravo mjenjanje licence nad bilo kakvom nadogradnjom.
Bilo bi i to zanimljivo raščlaniti, jer i ja nisam nisam baš na čisto stime, no imali smo slučaj u HR gdje su respektabilne firme kodirale dio GPL 2 ovisnog koda a sa druge strane sljedile tužbe od respektibilnah odvjetnika o tužbama o pravima vlasništva nad GPL 2 kodom.
Mislim da ono opčenito taj pojam licence i što ona znači za OS developera, OS financijera, te na kraju OS korisnika znači je pomalo nejasan u HR.
Osim za neke narode u susjedstvu a i daleko istočne nisu čule za to zapadno igranje oko licenca. Zašto su licence važne, pogotovo za Open Source.
Kreshomir
01. 01. 2016. u 9:10 pm
Dobar prijedlog! Raspišemo poseban članak na tu temu.
goran
02. 01. 2016. u 4:06 am
Bilo bi ljepo od Vas, makar i učinili ste i previše potrudivši se objasniti koliko za nas u ovom informatičkom dobu znači OS.
Danas kad živimo u informatičkom dobu mislim da OS zaslužuje puno veči respekt u hrvatskom društvu, pogotovo u hrvatskim obrazovnim institucijama koje su po pitanje OS, blago rečeno, totalno zakazale.
Kreshomir
02. 01. 2016. u 12:38 pm
Da, zakazivanje i sporost naše zemlje se nažalost osjeti i u ovim temama, no iskreno, vidi se pomak nabolje (vidljiv je pomak i cijele EU prema OS-u). Veliko hvala na komentarima i savjetima za buduće teme.
Do čitanja 🙂