Preskoči na sadržaj

Razvoj slobodnog operacijskog sustava sličnog Unixu

Slobodni softver

Projekt GNU

  • Richard M. Stallman

    • radi u MIT AI Labu; priča o printeru i napuštanju MIT-a
    • 1983. osniva projekt GNU, kratica za GNU's Not Unix (GNU zaista nije Unix jer je neovisno razvijen kao slobodni softver, a Unix je neslobodni softver)
    • želi napraviti GNU OS, slobodni operacijski sustav sličan Unixu, razvija Emacs i GCC
    • 1985. osniva Free Software Foundation (FSF) kako bi financirao razvoj slobodnog softvera
  • Stallman definira slobodni softver kroz četiri slobode koje korisnici imaju:

    • Sloboda pokretanja programa kako želite, u bilo koje svrhe (sloboda 0).
    • Sloboda proučavanja rada i prilagodba programa kako bi vršio računalne aktivnosti koje želite (sloboda 1). Dostupnost izvornog kôda je za to preduvjet.
    • Sloboda distribucije kopijâ kako biste pomogli bližnjemu (sloboda 2).
    • Sloboda distribucije izmijenjenih inačica programa (sloboda 3) čime vaše izmjene koriste cijeloj zajednici. Dostupnost izvornog kôda je za to preduvjet.

Licenca GPL

  • Licenca osigurava da će softver uvijek ostati slobodan (tzv. copyleft)

    • 1989. GNU General Public License (GPL),
    • 1991. GPLv2,
    • 2007. GPLv3 (inicijalno dosta kontroverzna; MS--Novell).
  • GPL je različita od licence Creative Commons (cilja primarno na umjetnička djela) i BSD licenci (drugačije poimanje slobode softvera).

  • Softver u javnoj domeni, bez vlasništva, nije slobodan, jer ga bilo tko može učiniti svojim vlasništvom.

Jezgra operacijskog sustava Linux

  • razvoj jezgre GNU OS-a HURD odgađan do 1990. godine
  • 1991. većina GNU OS-a je spremna, ali nedostaje jezgra (engl. kernel)
  • Linux, započinje 1991. godine neovisno o projektu GNU, autor je Linus Torvalds, student Sveučilišta u Helsinkiju

    Hello everybody out there using minix -

    I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. (...)

    PS. Yes -- it's free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(.

  • GNU/Linux -- kombinacije jezgre Linux i korisničke okoline GNU čini cjeloviti operacijski sustav sličan Unixu

    • nazivlje Linux ili GNU/Linux -- postoje zagovornici oba, nema konsenzusa
    • operacijski sustavi slični Unixu prilično su različiti od Windowsa, pa je to i Linux

      • zbog tih razlika i brojnih mogućnosti koje nude ponekad su neprivlačni novim korisnicima
      • zbog tih razlika i brojnih mogućnosti koje nude odlična su podloga za izučavanje značajki operacijskih sustava
  • nastaju GNU/Linux distribucije (Linux jezgra + GNU korisnička okolina + ostali slobodan softver)

Linux distribucije danas

  • Linux distribucija

    • skupina programa koje su spojile grupe ljudi (najčešće iz idealističkih motiva) ili tvrtke (najčešće zbog profita)
    • uključuje sve komponente koje su potrebne da bi korisnik mogao koristiti operacijski sustav
    • najviše korištene distribucije se mijenjaju vremenom, nepreciznu statistku vodi DistroWatch Page Hit Ranking
    • deset najpopularnijih distribucija s opisom: DistroWatch: Top Ten Distributions
  • Neke od najvažnijih Linux distribucija:

X Window System

  • značajan dio većine distribucija Linuxa i ostalih danas
  • počeo 1984. na MIT-u,
  • kraće nazvan X, X11,
  • mrežna transparentnost,
  • najpoznatija implementacija X.Org,
  • X11 je 11. verzija standarda, danas se koristi, datira iz 1987. godine,
  • od 2004. X.Org intenzivno moderniziran,
  • djelomična zamjena od 2013. Wayland

Paketi i upravitelj paketa

  • u svijetu Windowsa: korisnik sam nabavlja softver negdje na internetu i instalira ga

  • u svijetu operacijskih sustava sličnim Unixu: svaki distributer pakira softver za svoju distribuciju u takozvane pakete (slični zip arhivama), a korisnik zatraži instalaciju softvera koji želi, sve ostalo rješava upravitelj paketima

GNOME i KDE

  • korisnička sučelja: imaju web preglednik, mail klijent, klijent za trenutačno poručivanje, tekst editor, terminal, kalkulator, audio svirač, preglednik slika, preglednik videa, uredske alate, igre, ...

  • 1996. godine Matthias Ettrich želi napraviti grafičko sučelje dovoljno atraktivno da ga njegova cura želi koristititi (💓) i razvija KDE

    • KDE je zasnovan na skupu biblioteka za razvoj grafičkih sučelja Qt koji je tada neslobodan softver
  • 1997. započinje razvoj alternativa KDE-u i Qt-u, GNOME i GTK+, projekt vode Miguel de Icaza i Federico Mena

  • beskrajne rasprave GNOME vs. KDE, danas sve manje

  • druga korisnička sučelja: Xfce, LXDE, Enlightenment

Red Hat

What we realized very early on is the one unique thing we were delivering was not technology at all. This is not a better operating system. Solaris is a better operating system than Linux for many things. Windows NT is a better operating system for many other things. The one unique thing that we could do that no one else could do was, for the first time, we were giving control of the operating system to the user.

-- Bob Young, CEO, Red Hat Inc. (citat preuzet iz Pattinson, H. M. (2005). Mapping implemented strategies of bringing Internet-based software applications to market using storytelling research methods. PhD Thesis. University of Technology Sydney., str. 109)

Pitanja za ponavljanje

  • Što je slobodni softver?
  • Kada je započeo GNU projekt i koji je njegov cilj?
  • Što je Linux, a što GNU/Linux?
  • Navedite barem dvije poznate Linux distribucije.
  • Što su X i X11? Koja je poznata implementacija X-a koja se danas koristi?
  • Čemu služe GNOME i KDE?

Ispitna pitanja

  1. Objasnite što je slobodni softver.
  2. Navedite dva primjera slobodnog softvera (osim GNU-a).
  3. Opišite kako je Richard Stallman pokrenuo GNU i FSF.
  4. Navedite četiri slobode kojima Richard Stallman definira slobodni softver.
  5. Objasnite pojam copylefta i navedite ime najpoznatije copyleft licence.
  6. Opišite početak Linuxa.
  7. Objasnite značaj GNU/Linuxa.
  8. Opišite pojam distribucije Linuxa.
  9. Navedite dvije distribucije Linuxa i njihovu ciljanu skupinu korisnika.
  10. Opišite ulogu upravitelja paketa.
  11. Objasnite čemu služe GNOME i KDE.

Author: Vedran Miletić, Vanja Slavuj