Avatud lähtekoodiga tarkvara on tarkvara, mida levitatakse avatud lähtekoodiga standarditele vastava litsentsi alusel. Avatuse põhimõte ei hõlma ainult tarkvaraarenduse ulatust. Näiteks pakuvad disainerid juurdepääsu tasuta mallidele ja fontidele. Mõnes riigis lähevad valitsusasutused üle avatud lähtekoodiga tarkvarale. Saksamaal otsustas Müncheni linn minna üle operatsioonisüsteemile LiMux, mis on Ubuntu kohandatud versioon. Hamburgis otsustasid ametnikud Microsoft Office’i asemel kasutada Phoenixi kontorikomplekti. Ühendkuningriigi valitsus on läinud üle PDF-dokumendi vormingult ODF-ile. Prantsusmaal kasutab sandarmeeria Ubuntu OS-i ja tasuta LibreOffice’i.
- Nõuded avatud lähtekoodiga tarkvarale
- Avatud lähtekoodiga projektid – mis on nende eripära
- Vaba tarkvara ajalugu
- Avatud lähtekoodiga litsentsid
- Näited avatud lähtekoodiga projektidest
- Kuidas osaleda avatud lähtekoodiga projektis
- Avatud lähtekoodi kasutamine kauplemisrobotite arendamisel
- GEKKO bot
- Zenbot
- OsMootor
Nõuded avatud lähtekoodiga tarkvarale
Siin on peamised nõuded, millele avatud lähtekoodiga litsentsi alusel levitatav rakendus peab vastama.
- programme levitatakse tasuta;
- Tarkvaraga tuleb kaasa lähtekood, kui seda pole põhipaketis, siis saab seda vabalt alla laadida või muul viisil hankida;
- koodi saab muuta ja koodi osi saab kasutada teistes projektides, samas kui muudetud rakendusi tuleks levitada avatud lähtekoodiga litsentsi tingimuste alusel;
- mis tahes inimrühmade diskrimineerimine ei ole lubatud, näiteks USA-s on programmide ekspordipiirangud, kuid vabalitsents ei saa kehtestada oma keelde;
- avatud lähtekoodiga litsents lubab kõiki rakendusi kasutada, seega ei sega arendaja isiklikud moraalsed veendumused levitamist, näiteks on vastuvõetamatud sellised esemed nagu: “keelatud on kasutada geeniuuringuteks”;
- kõik avatud lähtekoodiga litsentsiga seotud reeglid on kõigile kasutajatele ühesugused, täiendavad lepingud, näiteks mitteavaldamise lepingud, on keelatud;
- litsentsi ei saa programmiga siduda, arendajal, kes kasutab ainult osa koodist, on õigused, mis täistoode andis;
- kasutaja saab valida, mida ta kasutab, näiteks on keelatud nõuda, et avatud lähtekoodiga kaasas olev tarkvara oleks tingimata avatud.
Avatud lähtekoodiga projektid – mis on nende eripära
Enamikul avatud lähtekoodiga litsentsi alusel levitatavatel rakendustel on järgmised erinevused.
- programmid kirjutavad need, kes neid kasutavad, seetõttu jälgivad arendajad koodi, parandavad kiiresti vead ja avastatud haavatavused;
- enamik tooteid ühildub mitme operatsioonisüsteemiga;
- avatud lähtekoodiga arendajate kogukond on avatud suhtlemiseks kasutajatega, kes saavad teha ettepanekuid;
- Tavaliselt tulevad tasuta tarkvarauuendused välja sagedamini kui kommertsvärskendused, seega parandatakse vead kiiremini;
- kasutajad saavad soovi korral meelepärast rakendust rahaga toetada;
- arvuti või nutitelefoni nakatamise oht avatud lähtekoodiga programmi installimisel on minimaalne, kuna need on varustatud lähtekoodiga.
Vaba tarkvara ajalugu
Richard Stallmani peetakse vaba tarkvara liikumise rajajaks. Töötades Massachusettsi Tehnoloogiainstituudi tehisintellekti laboris, tegeles ta vaba tarkvara arendamisega. Näiteks PDP-arvutite EMACS-i tekstiredaktori kirjutamisel. 1984. aastal lahkus Stallman töölt MIT-s ja asutas GNU projekti. Selle entusiastid lõid mõiste “vaba tarkvara” ja töötasid välja GNU manifesti.
Avatud lähtekoodiga litsentsid
On mitmeid erinevaid avatud lähtekoodiga litsentse. Nende mõistmise hõlbustamiseks esitame järgmise joonise, mis näitab, kuidas need üksteisest erinevad. [caption id="attachment_12320" align="aligncenter" width="697"]
Avatud lähtekoodiga litsentsid Nüüd räägime neist kõige populaarsematest.
- MIT-litsents töötati välja Ameerika Ühendriikide ühes juhtivas õppeasutuses – Massachusettsi Tehnoloogiainstituudis. See ühtib peaaegu täielikult BSD litsentsi kolmeklauslilise versiooniga, lisab vaid ühe klausli, mis keelab autorinime kasutamise reklaamides. Selle all tulid välja: XFree86, Expat, PuTTY ja muud tooted.
- BSD litsents ilmus esmakordselt 1980. aastate alguses, et levitada samanimelist operatsioonisüsteemi. Sellel litsentsil on järgmised variandid:
- Algne BSD litsents on esimene originaallitsents, seda nimetatakse ka neljaklausliks.
- Muudetud BSD litsents on kolme klausliga litsents, see välistab ühe klausli, mis nõuab reklaamides, et see rakendus kasutab California ülikoolis välja töötatud tarkvara.
- Inteli litsents , mis töötati välja patendiga kaitstud rakenduste jaoks. Avatud lähtekoodiga algatus seda ei toeta.
- GNU üldine avalik litsents on kõige populaarsem litsents. Ta ilmus 1988. aastal. 1991. aastal ilmus GPL v2 täiustatud versioon, mis pole oma tähtsust kaotanud tänapäevani. 2006. aastal võeti vastu GPL v2 litsents.
- GNU Lesser General Public License ehk lühidalt GNU LGPL loodi teekide sidumiseks teiste litsentside alusel levitatava tarkvaraga.
- Apache litsents võimaldab teil tarkvara muuta ja levitada nii lähte- kui ka binaarvormingus. Lisaks toote õigustele on ette nähtud ka patentide üleandmine.
- Guile sarnaneb GNU GPL-iga, kuid lisab klausli, mis lubab avatud lähtekoodiga tarkvara kombineerida mittevaba tarkvaraga, nii et seda ei saa pidada rangeks copyleftiks, kuid see ühildub sellegipoolest GNU GPL-iga.
- Ühise avaliku litsentsi töötas välja IBM nende arenduste jaoks. See võimaldab teil koodi muuta ja kasutada seda kommertsprogrammides. Microsoft kasutas seda litsentsi Windows Installer XML-i jaoks.
- Mozilla avalik litsents (MPL) on keerukas litsents, mis ei järgi rangelt copyleft.
- Sun Publi c litsents sarnaneb MPL-iga, kuid seal on väikesed muudatused, näiteks Sun Microsystems Netscape’i asemel.
On ka teisi vähem levinud litsentse, nagu Guile, Common Public License, Mozilla Public License ja teised. https://youtu.be/oAW5Dh9q3PM
Näited avatud lähtekoodiga projektidest
Linuxi kerneli ja GNU rakenduste arendamine sai aluseks teistele avatud lähtekoodiga rakendustele. Netscape’i tulek huvitas suuri IT-ettevõtteid. Sellest ajast peale on välja töötatud palju erinevaid tooteid. Esmalt mainime Debiani, mis aastatel 1994–1995 toetas Vaba Tarkvara Sihtasutust ja hiljem loodi mittetulundusühing Software in the Public Interest, mis jätkas projekti rahastamist. Selle projekti raames ei loodud mitte ainult operatsioonisüsteem, vaid ka LibreOffice’i kontorikomplekt, Firefoxi brauser, Evolution meiliklient, K3b CD-kirjutusrakendus, VCL-videopleier, GIMP-pildiredaktor ja muud tooted. Mittetulundusühing Apache Software Foundation sai alguse avatud lähtekoodiga projektist, mis toetas tarkvara. Selle organisatsiooni populaarseim toode on samanimeline veebiserver. Nüüd haldab ettevõte suurt hulka Apache litsentsi alusel levitatavaid projekte. ASF-i sponsorite hulka kuuluvad Microsoft, Amazon ja Huawei. Teine avatud lähtekoodiga projektidega seotud ettevõte on Red Hat. Mille peamiseks arenduseks on operatsioonisüsteem Linuxi tuumal. Ta ei tegele mitte ainult tarkvara, vaid ka tehnilise toe ja spetsialistide koolitamisega. 2018. aastal ostis selle IBM. Google arendab ka tasuta tarkvara. Ta arendab ja haldab järgmisi projekte: TensorFlow teek masinõppesüsteemide arendamiseks, Go keel, tarkvara juurutamise automatiseerimiseks loodud programm Kubernetes ja muud tooted. Teaduses ei viita avatud lähtekoodiga mitte ainult tarkvara, vaid ka teoste avaldamine, õppematerjalide läbivaatamine ja toetamine. 1991. aastal korraldas Paul Ginsparg Los Alamose laboris elektroonilise arhiivi arXiv, millest võib leida töid mitte ainult füüsika, vaid ka meditsiini, matemaatika ja muude teaduste vallas. CERNil on ka portaal avatud teadustöödega.
Avatud lähtekoodiga operatsioonisüsteemid – avatud lähtekoodiga operatsioonisüsteemid [/ caption]
Kuidas osaleda avatud lähtekoodiga projektis
Kui soovid programmeerimist harjutada ja oma CV-d laiendada, siis avatud lähtekoodiga toote arendamisel osalemine on just see, mida vajad. Me ütleme teile samm-sammult, mida selleks vaja on. Kõigepealt pead registreeruma GitHubis ja valima projekti, milles osaled. See peab teile huvi pakkuma. Noh, kui sellel on palju ülesandeid, mida saate teha. Samuti peaksite tähelepanu pöörama projekti populaarsusele, selle saab määrata tärnide arvu järgi. Samuti on oluline kindlaks teha, kui aktiivne arendus on ja millal viimati muudatusi tehti. Pärast huvitava projekti valimist peate leidma kuraatori ja looma temaga suhtlemise. Järgmine samm on ülesande valimine. Alustuseks on soovitatav valida kõige lihtsam ülesanne. Peaasi, et saate selle lahendada. Pärast seda viige projekt üle endale ja installige kõik vajalikud tööriistad. Pärast probleemi lahendamist tehke hoidlas oleva koodi muutmise ettepanekud. Selleks peate oma koodi GitHubisse üles laadima ja klõpsama nuppu “Pull request”. Pärast seda peate sisestama oma päringu nime ja kirjelduse. Pärast seda peate ootama, kuni kuraator kavandatud muudatused vastu võtab või tagasi lükkab. Kui pärast ülesande alustamist ilmnes muid kiireloomulisi asju või saite aru, et te ei saa seda teha, võite ülesandest loobuda. See on normaalne, kuid peate oma otsusest kuraatoreid teavitama. Pärast seda peate sisestama oma päringu nime ja kirjelduse. Pärast seda peate ootama, kuni kuraator kavandatud muudatused vastu võtab või tagasi lükkab. Kui pärast ülesande alustamist ilmnes muid kiireloomulisi asju või saite aru, et te ei saa seda teha, võite ülesandest loobuda. See on normaalne, kuid peate oma otsusest kuraatoreid teavitama. Pärast seda peate sisestama oma päringu nime ja kirjelduse. Pärast seda peate ootama, kuni kuraator kavandatud muudatused vastu võtab või tagasi lükkab. Kui pärast ülesande alustamist ilmnes muid kiireloomulisi asju või saite aru, et te ei saa seda teha, võite ülesandest loobuda. See on normaalne, kuid peate oma otsusest kuraatoreid teavitama.
Avatud lähtekoodi kasutamine kauplemisrobotite arendamisel
Kauplemisnõustaja ehk
robot on programm, mis teeb börsil tehinguid etteantud algoritmi järgi. Nad saavad kaubelda nii täiesti iseseisvalt kui ka poolautomaatses režiimis. Teisel juhul saadavad nad lihtsalt kauplemissignaale ja kaupleja teeb lõpliku otsuse. Loetleme kauplemisrobotite eelised:
- Kaupleja ei pea ise hindu jälgima.
- Ekspertnõustajad tegutsevad rangelt etteantud algoritmi järgi, neil puuduvad emotsioonid.
- Robotid reageerivad palju kiiremini kui inimesed.
Kuid lisaks eelistele on automaatsetel nõustajatel ka puudusi:
- ebastandardses olukorras, näiteks kursi järsu hüppe korral, võib nõustaja reageerida ebaadekvaatselt ja kaupleja kaotab raha;
- Mõned professionaalsed nõustajad nõuavad nende kasutamise eest kuutasu.
Järgmisena kaaluge mitut avatud lähtekoodiga kauplemisnõustajat. Neid saab alla laadida GitHubi saidilt, installida ja kauplemiseks kasutada. Samuti saate täiustada lähtekoodi ja luua endale roboti.
GEKKO bot
See on end tõestanud ekspertnõustaja, mis ilmus palju aastaid tagasi. Paljud kauplejad hakkasid selle robotiga kauplema. Praegu loojad seda enam ei toeta, kuid see on GitHubist tasuta allalaadimiseks saadaval. Seda saab kasutada krüptobörsidel, see võib koguda turuteavet ja esitada tellimusi. GEKKO botil on palju seadeid, millega saate kauplemisalgoritmi testida, samuti süsteemi tehingute tegemiseks kohandada ja optimeerida. Sellel on valmis strateegiate komplekt, mida saab kohandada. Samuti on võimalik luua oma kauplemissüsteem. See toetab 23 vahetust, sealhulgas: Bitfinex, EXMO, Bittrex, Bitstamp.
Zenbot
Zenboti krüptovaluutaga kauplemise nõustaja kasutab kauplemiseks tehisintellekti. Seda on võimalik kohandada vastavalt oma soovile. See ühildub enamiku operatsioonisüsteemidega. See võib teha kõrgsageduslikke tehinguid, kaubelda mitme varaga korraga. Lisaks saab see bot krüptovaluutade arbitraaži pealt raha teenida. Kuid sellel pole graafilist kasutajaliidest. Võimalik kaubelda järgmistel börsidel: Bittrex, Quadria, GDAX, Pollniex ja Gemini.
OsMootor
OsEngine on aktsiate kauplemisrakenduste komplekt. See sisaldab:
- Andmed – kasutatakse ajalooliste andmete laadimiseks erinevatest allikatest.
- Optimeerija – kasutatakse ühe strateegia testimiseks.
- Tester – mitme kauplemisalgoritmi testimiseks, kuid parameetreid muutmata. See võib töötada samaaegselt mitme ajaraami ja vahendiga.
- Miner – otsib graafikult tulusaid mustreid. Leitud vorme saab reaalses kauplemises kasutada.
- Trader – moodul kauplemiseks.
OsEngine kasutab enam kui kolmekümmet sisseehitatud kauplemissüsteemi, mille hulgas on trendid (näiteks Bill Williamsi või Jesse Livermore’i strateegiad), kontratrend (näiteks ballastiliinide kasutamine,
Bollinger ) ja arbitraaž. Saab kasutada mõnel rahvusvahelisel börsil (ühendused on saadaval LMAX, InteractivBrokers ja ninjakauplemine),
MOEX -il (Transac,
Quik , Most Asts, Plaza 2, SmartCom) ja krüptovaluutabörsidel (Bitstamp, Bitfinex, Kraken, LiveCoin, ExMo, Binance, ZB) , Bitmex, BitMax). Ühildub ka ühe Oanda valuutabörsiga. On ka teisi populaarseid avatud lähtekoodiga kauplemisnõustajaid, näiteks TradingBot, mis on mõeldud Moskva börsil kauplemiseks Atentise maakleri või lihtsa TradingBoti roboti kaudu.