Just nu i M3-nätverket
Jump to content

Darwin och Carmack igen


Henrik K Olofgörs

Recommended Posts

Henrik K Olofgörs

Hejsan allesammans,

 

Jag har suttit och gjort en del research på migrering från MacOS ”classic” till Carbon, och helt plötsligt dök Carmack upp igen, så jag följde spåret därifrån och läste en del korrespondans på ”Darwin-Deveoper”-listan & elsewhere.

 

Om ni tycker att Carmack och Darwin låter astråkigt så begrunda följande:

 

Carmack är en av världens mest kända utvecklare. Han kan personligen driva igenom adaptering av standarder i vissa marknader (jfr OpenGL). För de som tror att Carmack mest gör kuta-å-skjuta-spel, tja, det är väl iofs sant, men han bidrar aktivt med ren kodning för en rad andra saker. Han har bl a skrivit hårdvarudrivisar till Linux, och nu senast XDarwin, dvs en X-windows (GUI:t på *nix-system) för MacOS X.

 

Darwin, dvs ”Core Foundation” för MacOS X (vad hela systemet vilar på), är en av de viktigaste komponenterna i Apples mjukvarustrategi. Eftersom Darwin göms för den vanliga OS X-användaren kan det vara svårt att inse vad det är. Några punkter:

 

*Darwin är *nix (=en variant av Unix). Det har varit en del tjafs om det här, men oavsett all prestige så har de portar som gjorts bevisat att det är sant. Jag var själv skeptisk, men har övertygats. Darwin är open-source.

*Darwin är i sig ett fristående OS (eller kan byggas så). Detta är mycket viktigt eftersom det innebär att vissa användare (storföretag/universitet) som inte vill använda OS X kan köra Darwin fristående. Det här handlar om stora pengar, mind-share och prestige.

*Darwin är toppmodernt, superskalbart och cross-platform. Det kan kompileras för x86 (PC) utan större problem. Det bygger på en mikrokärna, till skillnad från Linux monolitiska kärna, vilket ger en viss prestandaförlust, men gör det *mycket* lättare att utveckla, uppgradera och porta till andra plattformar.

 

Det här är från minnet, men jag har listorna om någon vill se själv:

 

I min begränsade undersökning dyker Carmack upp i augusti -99. Där framgår att han redan arbetat en hel del med Darwin, men är missnöjd med konsol-systemet och vill ha ett GUI. En diskussion följer; Carmack överväger att porta X-windows när han får tid (observera tidsramen och synka med Q3A:s utveckling!).

I januari -00 annonserar Carmack att han tänker porta och uppmanar andra att fundera på en port av GNOME och/eller KDE. Den 7:e februari verkar det som att han börjar arbeta på det (inlägg om kodning för XDarwin) och någonstans andra veckan i februari publicerar han det. Tiden för portningen är c:a 5-7 dagar. Och nu pratar vi alltså om att porta ett GUI. Det säger en del om Carmack, men det säger ännu mer om Darwin.

 

Den verkligt intressanta frågan är väl varför han gör det. Av listan och en del annat framgår att Carmack är en av c:a 10-20 riktigt engagerade externa utvecklare för Darwin (Darwin är open-source). Hans insats går alltså långt utöver ett allmänt intresse och särskild kodningsglädje (vilket delvis verkar vara fallet med hans Linux-engagemang).

Det är också tämligen uppenbart att det inte ligger enbart altruistiska skäl bakom porten. Carmack klagar upprepade gånger på att Darwin inte fått tillräcklig uppmärksamhet (och noterar att en X-windows-port skulle ge detta) och vill ha en ”bättre utvecklingsmiljö”. Utan att vara direkt involverad eller insatt i Darwin så kan jag säga att det framstår som att Carmack definitivt är det och det framstår också som att han inte vill se Darwin lyckas för dess egen skull. Det verkar finns någon form av ”egennyttigt” motiv bakom, även om det är svårt att säga exakt vad.

En annan detalj som bör uppmärksammas är att det förmodligen inte är fråga om ett hobbyprojekt (som jag först trodde). Jag vet inte hur personalpolitiken på Id Software ser ut, men jag har svårt att tänka mig att Carmack kan vika en vecka av sin arbetstid åt något han gör bara på skoj.

 

Så vad går det hela ut på? Svårt att säga. Men det går att göra någorlunda kvalificerade gissningar.

Q3A utvecklades på NT, och jag har svårt att tänka mig att Id kan migrera till en annan plattform särskilt snabbt. Men, mycket av utvecklingen är helt cross-platform, och Darwin är också cross-platform. Jag kan tänka mig att arbetet sker i en massa olika miljöer, som sedan konvergerar på NT och bärs vidare till specifika plattformar. Om det gick att slippa NT som spindel i nätet skulle mycket vara vunnet, och det är inte otroligt att Carmack ser Darwin (/Cocoa) som ett löfte om just detta. Notera att detta absolut inte bara gäller för Id Software. För en hel radda utvecklare som behöver ha annat än bara WinXX kommer Darwin/Cocoa att framstå som ett en potentiell räddare.

Praktiska fördelar med Carmacks engagemang? Tja, antagligen kommer han att utveckla en hel del system som andra kan bygga vidare på och ta fördel av. Utvecklingen av Darwin kommer att gå snabbare, vilket MacOS X tjänar på. Och vi ska inte underskatta den enorma mind-share-ökning det innebär att Carmack utvecklar på/för Darwin/MacOS X. Sådan PR kan inte köpas för pengar.

 

Ur en annan synvinkel är det här en av de första frukterna av att Apple brutit sig ur isoleringen och äntligen är en likvärdig, och i vissa fall ledande, deltagare i världen som den definieras utanför Microsofts tankesmedjor.

 

Enjoy.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...