O powstawaniu Windows. Jak tworzono najpopularniejszy system na świecie: Whistler
Rozwój Windows, jak to bywa z każdym projektem, który musi zarabiać pieniądze, nie miał jednego, niepodważalnego celu, do którego zmierzały prace programistyczne. Oczywiście, inżynierowie mieli pewne wyobrażenie dotyczące tego, jak powinna wyglądać przyszłość NT, ale plany te często krzyżował biznes. W ten sposób okazywało się, że "pilne" jest zintegrowanie Internet Explorera lub wydanie kolejnej wersji opartej o MS-DOS.
05.10.2020 06:53
Nawet wśród priorytetów ściśle inżynieryjnych konkurowały ze sobą różne kierunki. Programiści marzyli o środowisku programistycznym konkurującym z Javą: z porządną obiektowością i przenośną maszyną wirtualną. Projektanci usiłowali zaprezentować prawdziwie użyteczny interfejs niewymagający żadnej wiedzy wstępnej i oparty o kreatory. Z kolei "systemowcy" walczyli o to, by Windows umiał rozmawiać ze sprzętem z wykorzystaniem warstwy abstrakcji, stosował pełną automatyczną konfigurację i robił użytek z ochrony pamięci.
Wiecznie nieukończony
Wszystkich tych rzeczy nie dało się osiągnąć jednocześnie, ale nad wszystkimi pracowano w tym samym czasie (oczywiście nie tymi samymi ludźmi...). Za każdym razem "ta następna" wersja Windows miała zawierać wszystkie z nich. A jednak wciąż się to nie udawało: Windows NT 3.1 był za ciężki, Cairo nie powstał, NT 4.0 był rażąco niekompletny, Windows 2000 nie nadawał się do domu, a Neptune okazał się być w krzakach z terminarzem i jego skromny ułamek wydano w postaci zapchajdziury o nazwie Millennium.
Zasoby Microsoftu zaczęły jednak wreszcie dojrzewać do poziomu, na którym wyśniony cel nie wyglądał już jak odległa, mglista wizja. Wiązało się to zarówno ze wzrostem dojrzałości NT, jak i z tym, że powoli brakowało alternatyw: Visual Basic nie mógł konkurować z Javą, a Windows 98 nie obsłużyłby nadchodzących rodzajów urządzeń. Oferta z Redmond była wystarczająca "tu i teraz", ale "teraz" na przełomie wieków miało bardzo krótką datę ważności.
Lek na wszystko: XP
Produktem, w którym wszystkie te rozbudowane i ambitne cele uległy realizacji, miał być Windows XP. Uchodzi on za niekwestionowany sukces. Przyjęło się wszak mówić, że Whistler (kryptonim jakim nazywano Windows XP) zrealizował to, co nie udało się z Windows 2000: ubił linię klasycznych Windows polegających na MS-DOS, dostarczając wspólną linię kodu na domu i biura, "kończąc" wreszcie wieloletnie prace nad systemem.
To uproszczenie. Windows XP nie spełnił wszystkich obietnic złożonych przy okazji prac nad Windows 2000. Był systemem tylko trochę bardziej rozbudowanym od swojego poprzednika. Nie był rewolucją, nie miał wydania serwerowego, nie przychodził z wbudowanym .NET-em. Zwycięstwo i wieloletnia dominacja XP nie wzięła się z tego, jaki był dobry w momencie wydania. Wynika ona ze zjawisk, które działy się wokół niego przez następne kilka lat. A był to system o który dbano w sposób o wiele większy, niż w przypadku poprzedników.
Największy konkurent Windowsa? Windows!
Z dużą intensywnością (acz widoczną bardziej w Stanach Zjednoczonych niż u nas) prowadzono prace nad zamordowaniem Windows 9x. System Millennium nie otrzymał choć ułamka dodatków, wtyczek, narzędzi i darmowych aktualizacji co Windows XP. Większość z nich nie działała na poprzednich systemach. Microsoft zazwyczaj wydawał oprogramowanie dla wszystkich obsługiwanych wersji Windows. Pozornie było tak i tym razem (Messenger, Office, Media Player...) ale w praktyce wszystkie interesujące nowości otrzymywał tylko XP.
Punktem zwrotnym w historii Windows był mało znany dokument w postaci deklaracji Trustworthy Computing. Ten notorycznie pomijany punkt w biografii produktów Microsoftu był deklaracją kształtującą specyfikę prac nad przyszłymi wersjami systemów i rozwiązań sieciowych. Microsoft, po podbiciu świata swoją ofertą ułatwiającą programowanie na platformę Windows, nie wziął odpowiedzialności za świat, jaki stworzył. Outlook Express z obsługą skryptów, makra Office, Visual Basic Script i usługi sieciowe w systemie bez zapory – to wszystko było bardzo łatwe w obsłudze. Ale także bardzo niebezpieczne. Przejęte udziały w rynku mogłyby się prędko skurczyć, gdyby stan ten miał się utrzymać.
Dlatego po trzech latach, pod nazwą Windows XP wydano nowy, ulepszony system. Bo chyba właśnie tak należy opisać dodatek Service Pack 2: o ile w przeszłości aktualizacjom zdarzało się dostarczać nowe funkcje, SP2 zasadniczo modyfikował bardzo wiele składników XP, dostarczył szereg nowych zabezpieczeń, a cały system przekompilowano nowym, bezpieczniejszym kompilatorem C++. Można zaryzykować stwierdzenie, że Windows XP od swojej wersji z SP2 różnił się bardziej, niż od Windows 2000.
Sukces mimo woli
To nie Windows XP odniósł sukces, a metoda zarządzania owym produktem, gdy przez pięć lat był główną ofertą kliencką firmy. Sam system był bowiem początkowo mocno niekompletny. Na samym początku prac nad nim, nazywano go "Windows.NET 1.0" i przewidywano, że będzie on najeżony nowymi mechanizmami komunikacji (międzyprocesowej i sieciowej) oraz API dostarczanymi przez .NET Framework. Nic takiego nie miało miejsca. Jakiekolwiek pierwsze wzmianki o .NET pojawiły się dopiero w 2002 roku, w postaci kilku marketingowych sloganów w Messengerze oraz instalatorze FX 1.1, schowanym na płycie instalacyjnej SP1a.
Porzucono także wersję serwerową. Ona także miała korzystać z .NET, przede wszystkim jako serwer aplikacji, ale jej ostateczna wersja, w postaci Windows Server 2003, nie zawierała ani śladu .NET. XP wymagał także, jak się okazało, pewnego podrasowania zanim zaczął mieć sens jako autonomiczna platforma serwerowa. Dlatego XP i 2003 są niekompatybilne. To dwa różne systemy, na tyle, że Microsoft nie skorzystał z możliwości połączenia ich przy okazji SP2. Projekt "Whistler Server" nie powiódł się zatem.
Kwestia perspektywy
Dziś uważamy, że XP był sukcesem. Ale był to sukces mocno zależy od kontekstu i wymagający wysiłku celem utrzymania. W przeciwieństwie do Windows 7, chwalonego jeszcze przed premierą i antycypowanego tak mocno, że już pół roku przed wydaniem miał więcej użytkowników niż desktopowy Linux, XP początkowo nie miał dobrej prasy. Wciąż bolesne były problemy ze zgodnością gier i starszych aplikacji, a interfejs, choć ładniejszy, wcale nie był bardziej przystępny dla nowicjuszy ani bardziej zaawansowany.
Warto pamiętać o tym podczas wydawania sądów na temat tego, który produkt Microsoftu, i według jakich kryteriów, można uznać za "najlepszy". Przyda się także pamiętać o stanie konkurencji: Apple znajdował się na etapie bardzo bolesnej "tranzycji" do MacOS X, a Linux był o wiele, wiele bardziej eksperymentalny i hobbystyczny, niż dziś.