Darwin (käyttöjärjestelmä)

Darwin on vapaa POSIX-yhteensopiva käyttöjärjestelmä, jota Apple kehitti 1999–2005. Darwin pohjautuu 386BSD:hen. Applen APSL-lisensoidun lähdekoodin lisäksi siinä on osia NextstepistäDarwin integrates a number of technologies, most importantly Mach 3.0, operating-system services based on 4.4BSD... ja muista avoimen lähdekoodin projekteista.
Darwin koostuu käyttöjärjestelmän avoimen lähdekoodin osista, joiden päälle Apple rakensi macOS- ja iOS-käyttöjärjestelmänsä.

Darwinin merkittävimpiä tekniikoita ovat Mach 3.0:een perustuva XNU-ydin, FreeBSD 5 -jakelun kanssa yhteensopivat järjestelmäpalvelut, suorituskykyiset verkko-ominaisuudet ja tuki useille tiedostojärjestelmille.

 Lisenssi 
Alun perin Darwinin lisenssinä ollut APSL ei täyttänyt Free Software Foundationin vapaiden ohjelmistojen lisensseille asettamia kriteereitä. Open Source Initiativen avoimen lähdekoodin lisenssien kriteerit samainen lisenssi kuitenkin täytti.

Kesäkuussa 2003 Apple julkaisi Darwinin APSL 2.0 -lisenssillä, joka täyttää myös Free Software Foundationin asettamat kriteerit. Tuolloin Apple sai myös rekisteröityä Darwinin kaupalliset jakeluversiot Mac OS X 10.5 Leopard ja Mac OS X 10.6 Snow Leopard UNIX 03 -sertifikaatin mukaisina tuotteina.http://www.opengroup.org/openbrand/register/ Open Group - UNIX 03 -sertifioidut tuotteet

 Julkaisut 
Apple julkaisi Darwinista uuden version aina uuden OS X -järjestelmän rinnalla versioon 8 asti.

Darwin versioon 8.0.1 asti (vuoteen 2005) Apple julkaisi asennusohjelma CD-ISO-levykuvana, jolla käyttöjärjestelmän voi asentaa puhtaalta pöydältä PowerPC- tai PC-yhteensopiviin tietokoneisiin.https://web.archive.org/web/20161007041552/https://opensource.apple.com/static/iso/ 
Apple ei enää tue käyttöjärjestelmää, mutta julkaisee sivustollaan lisenssivaatimusten mukaisesti eri ohjelmapakettien lähdekoodit ja itse kehittämiään avoimen lähdekoodin paketteja.https://opensource.apple.com/releases/ 

Oman, varsinaisen Darwin-julkaisunsa lisäksi Apple perusti yhdessä Internet Systems Consortiumin kanssa vuonna 2002 yhteisöllisen OpenDarwin-hankkeen, jonka tarkoituksena oli lisätä yhteistyötä Applen ja vapaiden ohjelmistojen yhteisön välillä.
Hanke kuitenkin lakkautettiin vuonna 2006 kiinnostuksen puutteen vuoksi. Vaikka tarkoituksena oli oikea käyttöjärjestelmä, OpenDarwinista tuli lopulta projekti, josta vain Apple hyötyi ilmaiseksi tehtävän työn ansiosta.https://www.theguardian.com/technology/blog/2006/jul/26/opendarwinshut 

Vuonna 2008 entinen OpenDarwin-yleisö perusti uuden jakelun PureDarwinin.
PureDarwinin tarkoituksena on saada aikaan CD-levyltä käynnistyvä asennuspaketti, jolla Darwinin voi saada käyttöönsä. Käyttöjärjestelmään on saatu 2021 toimimaan virtuaalikoneessa X11 ja ZFS-tiedostojärjestelmä, mutta verkkoa ei ole, eikä käyttöjärjestelmään sisäänkirjautuminen käyttäjätilassa tai sammuttaminen toimi.https://github.com/PureDarwin/PureDarwin/wiki/Xmas 
Apple on vetänyt jakelusta monet käyttöjärjestelmän peruskomponenteista, eivätkä launchd, verkkoyhteydet, monen käyttäjän tila tai järjestelmän sammuttaminen tai uudelleenkäynnistäminen toimi ilman näitä.https://github.com/PureDarwin/PD-17.4-Beta 

 Komponentit 
XNU-ydin
Streaming Server – avoimen lähdekoodin versio Applen QuickTime Streaming Server -teknologiasta. Mahdollistaa erityyppisten datavirtojen lähettämisen ja vastaanottamisen useilla eri alustoilla.
Bonjour – Zeroconf-verkottautumisteknologia, joka etsii laitteita verkosta ja tekee asetukset käyttäjän puolesta.
WebKit – Applen www-sivujen mallintamiseen tarkoitettu kehitysohjelmisto, joka koostuu kahdesta pienemmästä rungosta, WebCoresta ja JavaScriptCoresta. WebKit pohjautuu KDE-projektin KHTML-ohjelmistopakettiin, ja sitä käytetään esimerkiksi Safari-selaimen runkona.
Käännöstyökalut – ohjelmistokehityspaketti, joka sisältää GNU Compiler Collectionin ja GNU Debuggerin, sekä komentosarjakielityökaluja, joilla voidaan automatisoida usein toistuvia tehtäviä.
HeaderDoc – työkalu lähdekoodin dokumentaation kirjoittamiseen ja muokkaamiseen.
OpenDirectory – jakaa hakemistot, niiden tiedostot ja asetukset lähiverkossa. 
OpenPlay – socket-pohjainen verkon abstrahointikerros, jonka tarkoitus on yksinkertaistaa ja yhdenmukaistaa verkossa käytävää liikennettä eri ohjelmien välillä.
Security – X.509-sertifikaatin mukainen rautalankamalli, joka toimii pohjana Mac OS X:n tietoturvamäärityksille. Pohjautuu CDSA-arkkitehtuuriin ja mahdollistaa erilaisten salakirjoitus- sekä suojausasetusten määrittelyn ja luonnin.
X11 – XFree86-projektille perustuva ikkunointi xtermin kaltaisille perustyökaluille.
A/G BLAST – hakutyökalujen runko. BLAST (Basic Local Alignment Search Tool) on Applen muokkaama ja jatkokehittelemä relaatiotietokantamoottori, joka kykenee vastaamaan ihmisten esittämiin suoriin kysymyksiin hyvin ihmismäisillä vastauksilla. BLAST on alun perin tutkijoiden kehittämä ja bioinformatiikassa käyttämä algoritmi.

Darwin ei sisällä tukea Applen MacOS-yhteensopiville Carbon tai Cocoa -rajapinnoille, Quartz Compositor -ikkunointia tai Quartz-rajapintaa tai Aqua-käyttöliittymää, eikä sillä siten voi ajaa graafisia Mac-ohjelmia.

 Darwin-ohjelmistot 
Darwinin vapaan lähdekoodin luonteesta johtuen alustalle on kehitteillä useita avoimen lähdekoodin ohjelmistoja, jotka pyrkivät parantelemaan Darwinin ominaisuuksia ja korjaamaan sen puutteita. Tällaisia ovat esimerkiksi:

langattomien verkkojen tuki
tuki modeemeille
tuki Ext2- ja Ext3 -tiedostojärjestelmille
Darwine – Darwinille käännetty Wine
DarwinPorts – ohjelmistojen asennus- ja päivitystyökalu
RPM for Darwin – ohjelmistopakettien hallinta
pkgsrc – NetBSD:stä käännetty paketinhallintajärjestelmä
Fink
SEDarwin – Darwinille käännetty SELinux
 WebKit
 Window Maker

 Maskotti 
Darwinin kehittäjät ottivat vesinokkaeläin Hexleyn maskotikseen vuonna 2000. Apple ei tunnusta Hexleytä käyttöjärjestelmän viralliseksi logoksi.

 Lähteet 

 Aiheesta muualla 
 Yleistä tietoa 
Applen Darwin-kehittäjäsivut
Hexley, Darwin-maskotti
Apple Public Source License 2.0 (APSL) 
Free Software Foundationin mielipide APSL:stä
The GNU/Darwin distribution 

 Dokumentaatiota 
Erot Mac OS X:n ja BSD:n välillä
 Darwinin viittauskirjasto
 Mac OS X:n teknologiakatsaus: sanasto

Luokka:MacOS
Luokka:Vapaat ohjelmistot
Luokka:BSD