Ja bih da budem ukljucen u ovo. Svidja mi se jako kriterijum uspeha i cilj.
Nemam neke sugestije, posto se ne razumem bas u operativne sisteme trenutno. Moracu malo da istrazim prvo.
Svakako bi valjalo poceti od toga da se uzivo ili asinhrono generise neki dokument koji bi sadrzao u najgeneralnijim crtama module koji treba da postoje, kako bi imali bar neki pravac.
Tipa, osnovni delovi operativnog sistema, odakle uopste poceti.
Evo ja sam uzeo ovo da gledam, ako nekoga zanima jos. Prvi video je delovao lepo, pa cu nastaviti sa ovim serijalom:
Napraviću repozitorijum uskoro, pa možemo da napravimo tamo spisak korisnih sajtova i literature, da imamo sve na jednom mestu.
Pade mi na pamet jutros jedna ideja: da zapisujemo u neki dokument korak po korak kako smo razmišljali i šta smo na kraju uradili.
Na primer, korak br. 0 može biti: „Napraviti bootable program koji ispisuje ‘Hello World’“, a korak br. 1: „Umesto ‘Hello World’, ispisati sadržaj registara“, i tako dalje.
dmzOS (mislim da je očigledno zašto)
puzzleOS (i ovo mislim da ne treba da objašnjavam)
legOS (Lego kockice)
bapOS (bits and pieces)
antOS (radimo kao mravi )
Takođe, hajde da razmislimo još malo o izboru arhitekture… Ako želimo da lakše savladamo instrukcije (ali uz, potencijalno, manju dostupnost dokumentacije) onda možemo da izaberemo PowerPC. S druge strane, ako želimo da steknemo znanja koja bi više bila primenljiva u realnom životu i poslu danas, onda je možda bolji izbor amd64.
Da, znam da je CISC, ali kad sam uzeo da istražujem malo za PowerPC shvatio sam da su apsolutno svi tutorijali na ovu temu za amd64, što je možda i logično.
Okej, nakon pozamašnog istraživanja ove teme, smatram sledeće:
koristiti C umesto C++: istovremeno savladavati detalje C++20 standarda i praviti OS je ipak previše; takođe, kada se već ide low-level, mislim da je ovo zapravo odlična prilika da se neke stvari iz C+±a (npr. nasleđivanje i virtualne funkcije) implementiraju izokola u C-u i tako produbi razumevanje tih mehanizama
amd64 umesto bilo koje druge: stečena znanja o amd64 će moći da se upotrebe i posle ovog projekta; takođe, ima mnogo više onlajn resursa o amd64
Napravio sam repozitorijum na Gitei i krenuću polako sa pripremom (verovatno Dockerizovanog) razvojnog okruženja i pisanja propratne dokumentacije. Mislim da je najbolje da dokumentacija bude na engleskom kako bi projekat evenutalno mogao da dopre do većeg broja ljudi.
Dalju diskusiju (via issues) možemo preneti tamo, ako se slažete?
Ja imam komentar na licencu, zasto je MIT ? MIT daje mogucnost da neko taj softver iskoristi i zatvori. Predlazem AGPL licencu koja osigurava da svako izmena koda mora biti data uz sam program.
A inace mogu da ulecem u neke stvari tokom projekta koliko mogu i znam, samo ne mogu da se obavezem na kontinuirani rad na njemu.
Slazem se, MIT licenca ce samo biti iskoristena od velikih kompanija kao besplatan rad. Nema nikakvog razloga da se stavlja MIT umesto AGPL osim ako namerno ne zelimo da radimo za kompanije, sto nije u duhu Decentrale.
Promenio sam licencu u AGPL-3.0, dobra opservacija. Sada vidim i da su se ljudi uključili u glasanje za ime i da je više ljudi glasalo za dmzOS, pa ću promeniti i ime.
Drago mi je da sam malo zainteresovao ljude za ovaj projekat. Postavljen je repozitorijum i može da se krene. Ja ću početi da radim na kodiranju od sutra, imam već neke ideje…
Ako neko želi da stupi u kontakt sa mnom vezano za kolaboraciju, slobodno mi napišite poruku ovde ili na XMPPu. Pozdrav!
Javljam se!
Krenuo sam letimicno da citam knjigu koju si stavio u wiki, verovatno je kraja radne nedelje zavrsavam.
Jel treba da forkujem projekat ili postoji neki drugi nacin?