Pitajte deset developera koja je najveća promjena u programiranju u zadnjih dvadeset godina i dobit ćete deset odgovora: cloud, pametni telefoni, JavaScript svugdje, DevOps, a od nedavno naravno — AI. Svi su kandidati legitimni. Ali postoji promjena dublja od svih njih, toliko temeljita da je postala nevidljiva: programiranje je od pisanja koda postalo sastavljanje tuđeg koda.
Kako je izgledalo prije
Sredinom 2000-ih tipičan projekt počinjao je od gotovo nule. Trebate spajanje na bazu? Pišete ga. Autentikaciju? Pišete je. Parsiranje XML-a, slanje maila, logiranje? Pišete, ili kupujete skupu komercijalnu biblioteku, ili — najčešće — kopirate s foruma. Tuđi kod bio je sumnjiv po defaultu; open source je u korporacijama imao status pravnog rizika, a Microsoftov vrh ga je javno nazivao rakom.
Dvadeset godina kasnije, prosječna aplikacija sadrži nekoliko stotina do nekoliko tisuća tuđih paketa, a kod koji tim stvarno napiše često je tanki sloj poslovne logike na vrhu planine open sourcea. npm, najveći registar paketa na svijetu, poslužuje bilijune preuzimanja godišnje. Ta inverzija — s "napiši sve" na "sastavi gotovo sve" — dogodila se unutar jedne karijere.
Tri sile koje su je pogurale
GitHub (2008.) pretvorio je open source iz razbacanih tarballova i mailing lista u društvenu mrežu koda: forkanje jednim klikom, pull request kao univerzalni jezik suradnje, tuđi kod na dohvat pretrage. Menadžeri paketa — npm, Maven, pip, NuGet, Cargo — pretvorili su "skini, raspakiraj, namjesti putanje, moli se" u jednu naredbu. A korporativni obrat zatvorio je krug: iste kompanije koje su open source proglašavale rakom danas na njemu grade sve — Microsoft je vlasnik GitHuba, a Linux, kojeg se nekad demoniziralo, pokreće praktički cijeli cloud, Android i superračunala.
Cijena koju smo platili
Promjena nije besplatna. Sastavljanje tuđeg koda znači povjerenje u tuđi kod — a to je povjerenje višestruko iskorišteno: incident kad je developer 2016. povukao paket left-pad od jedanaest linija i srušio pola interneta, ranjivost u biblioteci log4j koja je 2021. postala globalna sigurnosna kriza, redoviti supply-chain napadi kroz zaražene pakete. Rodio se cijeli sigurnosni žanr (SBOM, audit alati, potpisivanje paketa) koji prije dvadeset godina nije imao smisla postojati.
Druga cijena je suptilnija: prosječan developer danas rutinski koristi slojeve koje ne razumije. To je normalan hod apstrakcije — ni asemblerski programeri nisu razumjeli tranzistore — ali kad nešto duboko u planini ovisnosti pukne, razlika između developera koji zna kopati i onoga koji zna samo sastavljati postane vrlo skupa.
"Ali AI je sigurno veća promjena?"
AI asistenti za kod su spektakularni — i savršeno se uklapaju u ovu priču umjesto da je opovrgavaju. Čime su ti modeli trenirani? Planinom javno dostupnog open source koda. Što rade? Ubrzavaju sastavljanje: predlažu upotrebu bibliotečkih API-ja, lijepe obrasce viđene u milijunima tuđih repozitorija. AI je, barem zasad, turbo-punjač na motoru kojeg je izgradio open source — nastavak iste promjene, ne nova. Hoće li za deset godina ovaj tekst trebati ispravak, vrijeme će pokazati; bilo bi neiskreno tvrditi da znamo.
Zaključak
Najveća promjena u programiranju zadnjih dvadeset godina nije nijedna tehnologija s naslovnica — nego tihi prijelaz sa svijeta u kojem je tuđi kod bio rizik na svijet u kojem je tuđi kod temelj svega. Za developere pouka nije nostalgična nego praktična: vrijednost se preselila s pisanja koda na razumijevanje, odabir i povezivanje koda. Oni koji su to shvatili na vrijeme, zadnja dva desetljeća surfali su na valu. Oni koji shvate danas — stižu točno na sljedeći.




