O inicijativi
Ideja
Inicijativa je zamišljena kao centar za razvoj programa i sustava baziranih na Open Source principima, tj. principima otvorenog kôda. Razvoj svih programa i sustava će biti prema licencama otvorenog koda.
Želja nam je promovirati razvoj sustava otvorenog kôda kao i profesionalnog razvoja programa i sustava općenito. Stoga smo krenuli u nekoliko smjerova:
- Osigurati infrastrukturu potrebnu za predavanja i radionice te za sami razvoj projekata.
- Pokrenuti nizove predavanja i radionica.
- Osmisliti Open Source projekte koje ćemo voditi.
Naime nakon dugogodišnjeg razvoja Enterprise sustava, odlučili smo svoja znanja i iskustva podijeliti s drugima te pokušati razviti svijest da je moguće razvijati programe i sustave korištenjem metoda razvoja koje osiguravaju maksimalnu kvalitetu na kojoj inzistiramo. Više o nama možete vidjeti na:
https://www.opensource-osijek.org/wordpress/o-nama/.
Pošto smo dobili sve tehničke preduvjete za razvoj programa i sustava, nastavljamo s predavanjima i radionicama.
Osim toga instalirani su i konfigurirani svi potrebni alati koji su nam potrebni za razvoj i rad, bez potrebe za bilo kojim javnim servisom ili uslugom.
Svi navedeni alati su Open Source, dakle besplatni za osobnu i komercijalnu upotrebu prema Open Source licencama prema kojima su napisani.
Sa svime navedenim biti ćemo u mogućnosti automatizirati i centralizirati cijeli proces razvoja programa i sustava, počevši od:
- projektne dokumentacije,
- verzioniranja izvornog kôda,
- prijava novih funkcionalnosti i grešaka i praćenje istih,
- funkcionalnog i nefunkcionalnog testiranja,
- pregled i recenzija izvornog kôda,
- sve do kontinuirane integracije.
Prvi Koraci
Inicijativa je krenula s uvodnim predavanjima o Open Source filozofiji općenito, ideji i poslovnim modelima koji se vežu uz njega te sa prijedlogom nekoliko konkretnih projekata (u trenutku pisanja njih sedam) (6.mj. 2013).
U međuvremeno smo odradili sve potrebne radnje da osiguramo sve gore navedeno, kao i da krenemo s dizajnom naših projekata.
Nastavili smo s prezentacijom našeg najvećeg projekta (Synergy Cloud Server) (09.mj.2013).
Potom je uslijedio uvod u tehnike i alate potrebne za razvoj softvera (26.10.2013).
Nadalje krećemo s predavanjima koja ulaze dublje u tematiku i obrađuju se konkretni alati potrebni za rad i razvoj, koji će se koristiti na svim projektima koje želimo pokrenuti (9.11.2013).
Zatim nastavljamo s predavanjem na temu “Metode razvoja softvera” te nastavljamo u radu s alatima s kojima ćemo razvijati softver.
Popis svih predavanja, detaljnije, nalazi se na https://www.opensource-osijek.org/wordpress/predavanja/.
Kako Bi To Trebalo Biti
Većim dijelom, projekte će voditi kolege s iskustvom na raznim manjim i većim ili najvećim i najzahtjevnijim internacionalnim projektima koji su implementirani u mnoge korporativne sustave širom svijeta.
Razvoj i rad na tim projektima je specifičan i po tome što se posebna pažnja posvećuje razvoju po točno određenoj metodologiji razvoja koja obuhvaća sve faze razvoja: od ideje, kroz pisanje sve potrebne tehničke dokumentacije, preko nefunkcionalnog i funkcionalnog testiranja, interoperability testova sve do osiguranja maksimalne moguće kvalitete.
Pošto je ideja razvoj Open Source softvera i sustava, u prilici ćemo biti razvijati isti softver i sustave s maksimalnim naglaskom na kvalitetu koja može i treba višestruko nadilaziti komercijalne sustave.
Za većinu trenutnih projekata je zajedničko to da se žele koristiti najnaprednije tehnike i tehnologije koje se inače koriste samo u najvećim i najzahtjevnijim IT sustavima i to korištenjem isključivo Open Source alata.
Samim time novi članovi projektnih timova će moći steći iskustva, znanja i vještine koje neće imati prilike niti vidjeti u našem okruženju.
Inicijativa je otvorena za sve, počevši od akademske zajednice, preko studenata, nezaposlenih, zaposlenih sve do komercijalnih tvrtki ili institucija.
Za jedan od projekata je planiran (i dobrodošao) angažman sveučilišta ili komercijalnih tvrtki koje bi trebale osmisliti načine komercijalne iskoristivosti Open Source projekata (ovisno o Open Source licencama koje bi se odabrale i sl.), te kasnije distribucije konačnog rješenja, kada bude spremno (kada struka kaže da je spremno).
Zahtjevi Inicijative
Zahtjevi prema sponzoru
Za realizaciju prve faze osigurano je od strane naših sponzora:
- stalna vezu prema internetu s fiksnom javnom IP adresom, domenom , DNS unosom.
- virtualno računalo sa 4 GB RAM te 40 GB diskovnog prostora, s gore navedenom fiksnom javnom IP adresom dostupnom svima za potrebe pojedinačnih servisa, pohranu i revizioniranje izvornog kôda, testiranje, kontinuiranu integraciju te natavno za specifične potrebe samih projekata.
- dodatna dva virtualna računala za testiranje i razvoj, svaka sa 8 GB RAM, 2 CPU-a, 40 GB diskovnog prostora.
- trošak el. energije za upotrebu gore navedenoga.
- konferencijska dvorane za predavanja i radionice.
- prostor za inicijalno planiranje projekata.
- prostor za mjesečne/dvomjesečne radne sastanke timova.
Zahtjevi po pitanju ljudskih resursa (za potencijalne članove timova)
Želja za učenjem i/ili određeni nivo znanja iz dolje navedenoga:
- Programski jezici (C, C++, Java, Python, JavaScript, PHP , …)
- Web programiranje (HTML5, WebGL, Vaadin Framework…)
- Baze podataka (MySQL, PostgreSQL, MongoDB…)
- Skriptni jezici (BASH i sl.)
- Računalne mreže
- Napredne mrežne tehnologije
- Operacijski sustavi (UNIX, GNU/Linux, Windows)
- Općenita sistemska znanja
- Ekonomija i pravo (pr. softver za ekonomiste, Open Source licence…)
Temeljne smjernice i pravila
Inicijativa će u svakom trenutku imati smjernice za postizanje vrhunske kvalitete za sve projekte.
Smjernice projekata će se zajednički donositi na osnovu želja i potreba svih članova tima s naglaskom na točku 1.
Sudjelovanje u projektu svakog člana tima će se konstantno vrednovati kroz evaluacije te će se neaktivni članovi izuzeti iz daljnjeg plana razvoja.
Razvoj projekata će se voditi kroz više koraka, prvi korak ne smije imati komercijalnu komponentu, odnosno pojedinci neće moći ostvarivati financijsku koristi na bilo koji način.
Svi članovi tima su dužni na najbolji mogući način razmijeniti stečena znanja s ostalim članovima tima/timova.
Koje Open Source projekte želimo pokrenuti
- Open Source “Load Balancer Linux Distribution*“
- Open Source “Synergy Cloud Aplikacijski poslužitelj*“
- Open Source “RFID Network Card Reader”
- Open Source “Multi User Project Documentation Tool*“
- Open Source “GIS Server*“
- Open Source “ArhiXML”
- Open Source “Heroes of Might and Magic 3 alternative”
- … neka nova ideja
Što je zajedničko svim projektima koje želimo razvijati
Gotovo svi postojeći* projekti/proizvodi na tržištu su razvijani s pomanjkanjem cjelokupnog znanja o problematici:
- stvarnih potreba i problema krajnjih korisnika
- … s pomanjkanjem naprednog tehničkog znanja :
- … bez iskustava u radu s naprednim tehnologijama i alatima
- … bez iskustava u radu s redundantnim (enterprise) sustavima
Što mi možemo napraviti
- Razumjeti ideju Open Source-a i podjeliti ju s drugima
- Pokrenuti konkretne i upotrebljive Open Source projekte
- Aktivno sudjelovati u Open Source projektima
Voditelji Inicijative
Hrvoje Horvat; Mrežni i sistem inženjering
__Hrvoje Varga; Softver management i development
Krešimir Popović; Softver management i development