Open Source je programska oprema, ki se distribuira pod licenco, ki je skladna z odprtokodnimi standardi. Načelo odprtosti ne zajema le obsega razvoja programske opreme. Na primer, oblikovalci omogočajo dostop do brezplačnih predlog in pisav. V nekaterih državah vladne agencije prehajajo na odprtokodno programsko opremo. V Nemčiji se je mesto München odločilo za prehod na operacijski sistem LiMux, ki je prilagojena različica Ubuntuja. V Hamburgu so se uradniki odločili za uporabo pisarniškega paketa Phoenix namesto Microsoft Officea. Vlada Združenega kraljestva je prešla z uporabe formata dokumenta PDF na ODF. V Franciji žandarmerija uporablja operacijski sistem Ubuntu in brezplačen LibreOffice.
Zahteve za odprtokodno programsko opremo
Tukaj so glavne zahteve, ki jih mora izpolnjevati aplikacija, distribuirana pod odprtokodno licenco:
- programi se distribuirajo brezplačno;
- Programska oprema je opremljena z izvorno kodo, če je ni v osnovnem paketu, jo je mogoče prosto prenesti ali pridobiti na drug način;
- kodo je mogoče spreminjati in dele kode uporabiti v drugih projektih, spremenjene aplikacije pa je treba distribuirati pod pogoji odprtokodne licence;
- diskriminacija katere koli skupine ljudi ni dovoljena, na primer v ZDA obstajajo omejitve glede izvoza programov, vendar brezplačna licenca ne more vzpostaviti lastnih prepovedi;
- odprtokodna licenca dovoljuje vse načine uporabe aplikacij, tako da razvijalčeva osebna moralna prepričanja ne motijo distribucije, na primer postavke, kot so: “prepovedano je uporabljati za genetske raziskave” so nesprejemljive;
- vsa pravila v zvezi z odprtokodno licenco so enaka za vse uporabnike, dodatni dogovori, kot so pogodbe o nerazkritju podatkov, so prepovedani;
- licence ni mogoče vezati na program, razvijalec, ki uporabi samo del kode, ima pravice, ki jih je dal polni izdelek;
- uporabnik lahko sam izbere, kaj bo uporabljal, na primer, prepovedano je zahtevati, da je programska oprema, ki je priložena Open Source, nujno odprta.
Odprtokodni projekti – kaj je njihova posebnost
Večina aplikacij, distribuiranih pod odprtokodno licenco, ima naslednje razlike:
- programe pišejo tisti, ki jih uporabljajo, zato razvijalci spremljajo kodo, hitro odpravijo napake in odkrite ranljivosti;
- večina izdelkov je združljivih z več operacijskimi sistemi;
- skupnost odprtokodnih razvijalcev je odprta za komunikacijo z uporabniki, ki lahko dajejo predloge;
- Ponavadi brezplačne posodobitve programske opreme izhajajo pogosteje kot komercialne, zato se napake hitreje odpravijo;
- uporabniki lahko po želji podprejo aplikacijo, ki jim je všeč, z denarjem;
- tveganje za okužbo računalnika ali pametnega telefona pri namestitvi odprtokodnega programa je minimalno, saj je priložena izvorna koda.
Zgodovina brezplačne programske opreme
Richard Stallman velja za ustanovitelja gibanja za brezplačno programje. Med delom v Laboratoriju za umetno inteligenco na Tehnološkem inštitutu Massachusetts se je ukvarjal z razvojem brezplačne programske opreme. Na primer pri pisanju urejevalnika besedil EMACS za računalnike PDP. Leta 1984 je Stallman pustil službo na MIT in ustanovil projekt GNU. Njegovi navdušenci so skovali izraz “prosta programska oprema” in razvili manifest GNU.
Odprtokodne licence
Obstaja več različnih odprtokodnih licenc. Za lažje razumevanje podajamo naslednjo sliko, ki prikazuje, v čem se med seboj razlikujejo. [caption id="attachment_12320" align="aligncenter" width="697"]
Odprtokodne licence Zdaj pa se pogovorimo o najbolj priljubljenih med njimi.
- Licenca MIT je bila razvita na eni vodilnih izobraževalnih ustanov v ZDA – Massachusetts Institute of Technology. Skoraj popolnoma sovpada s tričlensko različico licence BSD, dodaja le eno klavzulo, ki prepoveduje uporabo imena avtorja v oglaševanju. Pod njim so izšli: XFree86, Expat, PuTTY in drugi izdelki.
- Licenca BSD se je prvič pojavila v zgodnjih osemdesetih za distribucijo istoimenskega operacijskega sistema. Obstajajo naslednje različice te licence:
- Izvirna licenca BSD je prva izvirna licenca, imenujemo jo tudi štiristavčna.
- Spremenjena licenca BSD je licenca s tremi členi, izključuje eno klavzulo, ki zahteva oglaševanje, ki označuje, da ta aplikacija uporablja programsko opremo, razvito na Univerzi v Kaliforniji.
- Intelova licenca , ki je bila razvita za patentno zaščitene aplikacije. Open Source Initiative ga ne podpira.
- GNU General Public License je najbolj priljubljena licenca. Pojavila se je leta 1988. Leta 1991 se je pojavila izboljšana različica GPL v2, ki do danes ni izgubila pomembnosti. Leta 2006 je bila sprejeta licenca GPL v2.
- GNU Lesser General Public License ali na kratko GNU LGPL je bila ustvarjena za povezovanje knjižnic s programsko opremo, ki se distribuira pod drugimi licencami.
- Licenca Apache vam omogoča spreminjanje in redistribucijo programske opreme v izvorni in dvojiški obliki. Poleg pravic do izdelka je zagotovljen tudi prenos patentov.
- Guile je podoben GNU GPL, vendar doda klavzulo, ki dovoljuje kombiniranje odprtokodne programske opreme z neprosto programsko opremo, tako da je ni mogoče šteti za strogo avtorsko levo, vendar je kljub temu združljiva z GNU GPL.
- Skupno javno licenco je razvil IBM za njihov razvoj. Omogoča spreminjanje kode in njeno uporabo v komercialnih programih. To licenco je uporabil Microsoft za Windows Installer XML.
- Mozilla Public License (MPL) je zapletena licenca, ki ne upošteva strogega avtorskega prava.
- Sun Public License je podobna MPL, vendar so manjše spremembe, kot je Sun Microsystems namesto Netscape.
Obstajajo tudi druge manj običajne licence, kot so Guile, Common Public License, Mozilla Public License in druge. https://youtu.be/oAW5Dh9q3PM
Primeri odprtokodnih projektov
Razvoj jedra Linuxa in aplikacij GNU je postal osnova za druge odprtokodne aplikacije. Prihod Netscapea je zanimal velika IT podjetja. Od takrat je bilo razvitih veliko različnih izdelkov. Začnimo z Debianom, ki je od leta 1994 do 1995 podpiral Free Software Foundation, kasneje pa je bila ustanovljena neprofitna organizacija Software in the Public Interest, ki je še naprej financirala projekt. V okviru tega projekta ni nastal samo operacijski sistem, ampak tudi pisarniški paket LibreOffice, brskalnik Firefox, e-poštni odjemalec Evolution, aplikacija za zapisovanje CD-jev K3b, video predvajalnik VCL, urejevalnik slik GIMP in drugi izdelki. Neprofitno podjetje Apache Software Foundation je začelo kot odprtokodni projekt, ki je podpiral programsko opremo. Najbolj priljubljen izdelek te organizacije je istoimenski spletni strežnik. Zdaj podjetje vzdržuje veliko število projektov, distribuiranih pod licenco Apache. Sponzorji ASF so Microsoft, Amazon in Huawei. Drugo podjetje, ki sodeluje pri odprtokodnih projektih, je Red Hat. Glavni razvoj tega je operacijski sistem na jedru Linuxa. Ukvarja se ne le s programsko opremo, temveč tudi s tehnično podporo in usposabljanjem strokovnjakov. Leta 2018 ga je prevzel IBM. Google razvija tudi brezplačno programsko opremo. Razvija in vzdržuje naslednje projekte: knjižnico TensorFlow za razvoj sistemov za strojno učenje, jezik Go, program Kubernetes za avtomatizirano uvajanje programske opreme in druge izdelke. V znanosti se odprtokodnost ne nanaša samo na programsko opremo, ampak tudi na objavo del, pregledovanje in podpiranje izobraževalnih virov. Paul Ginsparg je leta 1991 v laboratoriju v Los Alamosu organiziral elektronski arhiv arXiv, v katerem je mogoče najti dela ne samo s področja fizike, temveč tudi iz medicine, matematike in drugih ved. CERN ima tudi portal z odprtimi znanstvenimi članki.
Open Source operacijski sistemi – odprtokodni operacijski sistemi [/ caption]
Kako se vključiti v odprtokodni projekt
Če želite vaditi programiranje in razširiti svoj življenjepis, potem je sodelovanje pri razvoju odprtokodnega izdelka točno to, kar potrebujete. Povedali vam bomo korak za korakom, kaj je za to potrebno. Najprej se morate registrirati na GitHub in izbrati projekt, v katerem boste sodelovali. Zagotovo vas zanima. No, če bo imelo veliko nalog, ki jih lahko opravite. Prav tako morate biti pozorni na priljubljenost projekta, ki jo lahko določite s številom zvezdic. Prav tako je pomembno ugotoviti, kako aktiven je razvoj in kdaj so bile narejene zadnje spremembe. Ko izberete zanimiv projekt, morate najti kustosa in z njim vzpostaviti interakcijo. Naslednji korak je izbira naloge. Za začetek je priporočljivo izbrati najpreprostejšo nalogo. Glavna stvar je, da jo lahko rešite. Po tem prenesite projekt k sebi in namestite vsa potrebna orodja. Ko rešite težavo, dajte predloge za spremembo kode v repozitoriju. Če želite to narediti, morate svojo kodo naložiti na GitHub in klikniti gumb »Pull request«. Po tem boste morali vnesti ime vaše zahteve in opis. Po tem morate počakati, da kustos sprejme ali zavrne predlagane spremembe. Če so se po tem, ko ste začeli z nalogo, pojavile druge nujne stvari ali ste ugotovili, da tega ne morete opraviti, potem lahko nalogo opustite. To je normalno, vendar morate o svoji odločitvi obvestiti kustose. Po tem boste morali vnesti ime vaše zahteve in opis. Po tem morate počakati, da kustos sprejme ali zavrne predlagane spremembe. Če so se po tem, ko ste začeli z nalogo, pojavile druge nujne stvari ali ste ugotovili, da tega ne morete opraviti, potem lahko nalogo opustite. To je normalno, vendar morate o svoji odločitvi obvestiti kustose. Po tem boste morali vnesti ime vaše zahteve in opis. Po tem morate počakati, da kustos sprejme ali zavrne predlagane spremembe. Če so se po tem, ko ste začeli z nalogo, pojavile druge nujne stvari ali ste ugotovili, da tega ne morete opraviti, potem lahko nalogo opustite. To je normalno, vendar morate o svoji odločitvi obvestiti kustose.
Uporaba odprte kode pri razvoju trgovalnih robotov
Trgovalni svetovalec ali
robot je program, ki izvaja transakcije na borzi po vnaprej določenem algoritmu. Trgujejo lahko popolnoma samostojno in v polavtomatskem načinu. V drugem primeru preprosto pošljejo trgovalne signale in trgovec sprejme končno odločitev. Navajamo prednosti trgovalnih robotov:
- Trgovcu ni treba sam spremljati cen.
- Strokovni svetovalci delujejo strogo po danem algoritmu, nimajo čustev.
- Roboti reagirajo veliko hitreje kot ljudje.
Toda poleg prednosti imajo avtomatski svetovalci tudi slabosti:
- v nestandardni situaciji, na primer z močnim skokom tečaja, se lahko svetovalec neustrezno odzove in trgovec bo izgubil denar;
- Nekateri poklicni svetovalci zahtevajo, da za njihovo uporabo plačate mesečno naročnino.
Nato razmislite o več odprtokodnih svetovalcih za trgovanje. Prenesete jih lahko s spletnega mesta GitHub, namestite in uporabite za trgovanje. Izboljšate lahko tudi izvorno kodo in ustvarite robota zase.
GEKKO bot
To je preizkušen strokovni svetovalec, ki se je pojavil pred mnogimi leti. Mnogi trgovci so začeli trgovati s tem robotom. Ustvarjalci ga trenutno ne podpirajo več, vendar je na voljo za brezplačen prenos z GitHub. Lahko se uporablja na kripto borzah, lahko zbira tržne informacije in daje naročila. GEKKO bot ima veliko nastavitev, s katerimi lahko preizkusite algoritem trgovanja, pa tudi prilagodite in optimizirate sistem za sklepanje poslov. Ima nabor že pripravljenih strategij, ki jih je mogoče prilagoditi. Prav tako je možno ustvariti svoj sistem trgovanja. Podpira 23 borz, vključno z: Bitfinex, EXMO, Bittrex, Bitstamp.
Zenbot
Svetovalec za trgovanje s kriptovalutami Zenbot za trgovanje uporablja umetno inteligenco. Možno ga je prilagoditi po vaših željah. Združljiv je z večino operacijskih sistemov. Lahko izvaja visokofrekvenčne transakcije, trguje z več sredstvi hkrati. Poleg tega lahko ta bot zasluži denar na arbitraži kriptovalut. Nima pa grafičnega uporabniškega vmesnika. Možnost trgovanja na naslednjih borzah: Bittrex, Quadria, GDAX, Pollniex in Gemini.
OsEngine
OsEngine je nabor aplikacij za trgovanje z delnicami. Vključuje:
- Podatki – uporablja se za nalaganje zgodovinskih podatkov iz različnih virov.
- Optimizator – uporablja se za testiranje ene strategije.
- Tester – za testiranje več algoritmov trgovanja, vendar brez spreminjanja parametrov. Hkrati lahko deluje na več časovnih okvirih in instrumentih.
- Rudar – išče donosne vzorce na grafikonu. Najdene obrazce je mogoče uporabiti pri realnem trgovanju.
- Trader – modul za trgovanje.
OsEngine uporablja več kot trideset vgrajenih trgovalnih sistemov, med katerimi so trending (na primer strategije Billa Williamsa ali Jesseja Livermora), countertrend (na primer uporaba balastnih linij,
Bollinger ) in arbitraža. Lahko se uporablja na nekaterih mednarodnih borzah (na voljo so povezave LMAX, InteractivBrokers in ninja trading), na
MOEX (Transac,
Quik , Most Asts, Plaza 2, SmartCom) in borzah kriptovalut (Bitstamp, Bitfinex, Kraken, LiveCoin, ExMo, Binance, ZB , Bitmex, BitMax). Združljivo tudi z eno forex borzo Oanda. Obstajajo tudi drugi priljubljeni odprtokodni svetovalci za trgovanje, na primer TradingBot, za trgovanje na moskovski borzi prek posrednika Atentis ali preprostega robota TradingBot.