ewangelista.IT
Mariusz KędzioraIT Pro EvangelistMicrosoft Polska
Nazywam się Mariusz Kędziora i pracuję w polskim oddziale Microsoft w dziale Developer & Platform Group (DPG) jako IT Pro Evangelist.
W blogu postaram się przekazywać Wam ciekawe informacje o technologiach Microsoft w trochę luźniejszej formie niż to jest w dokumentacji czy na oficjalnych stronach Microsoft.
This post is provided "AS IS" with no warranties, and confer no rights. This weblog does not represent the thoughts, intentions, plans or strategies of Microsoft or any other company or organization. Because a weblog is intended to provide a semi-permanent point-in-time snapshot, you should not consider out of date posts to reflect current thoughts and opinions.
Pewnie za stosunkowo niedługi czas zaczną się pierwsze dyskusje o Windows 8, pojawią się pierwsze plotki, zrzuty ekranów a nawet pierwsze instalki.
Pewnie wielu czytelników mojego bloga wie jak wyglądają kolejne etapy powstawania kolejnych buildów przed wydaniem finalnej wersji Windows.
Ale jest też pewnie grupa osób, która nie zawsze jest pewna co znaczą skróty: Milestone1, Beta, CTP, RC czy RTM. Poza tym jest pewnie jeszcze kilka ciekawostek o których może nie wszyscy wiedzą.
Dziś chciałbym parę słów na ten temat napisać, bo może jest tak, że wydaje Wam się, że tak dużo już wiecie, a później się okazuje, że jednak na przykład pojawia się hasło Checked Build i nie bardzo wiadomo co to jest.
Nie będę opowiadał o żadnej konkretnej wersji systemu, ale ogólnie o procesie tworzenia naszych systemów operacyjnych.
Sporo się jednak zmieniło od czasów Visty. Po niej za budowę kolejnej wersji (czyli Windows 7) został odpowiedzialny Steven Sinofsky, który kiedyś kierował grupą odpowiedzialną za stworzenie Office 2007.
To co się zmieniło to całe podejście jakie wprowadził Sinofsky. Po pierwsze słychać było, że jest bardzo wymagającym i surowym szefem. Ale dzięki temu udało się osiągnąć myślę dwie rzeczy.
Po pierwsze Windows 7 miał ściśle określone ramy czasowe, które udało się utrzymać (a nawet wyprzedzić). Myślę, że podobnie będzie właśnie z Windows 8.
Po drugie ze względu na wprowadzoną politykę zachowania poufności, tym razem informacje o nowym systemie nie przedostawały się tak łatwo do świata zewnętrznego. Ale – o dziwo – wewnętrznego również.
I nie powiem – to była jedna z bardziej irytujących rzeczy z mojego punktu widzenia (aczkolwiek wiem, że dla firmy była ona naprawdę OK). Otóż chodziło o to, że przy Windows 7 pracownicy bardzo często nie mieli dostępu ani do informacji o nowym systemie, ani najnowszych buildów. A przynajmniej nie było to tak wcześnie jak zawsze. Często takie buildy pojawiały się (często z podejrzanych źródeł) w sieciach P2P wcześniej niż na wewnętrznych serwerach Microsoft – do których dostęp tym razem był bardzo mocno limitowany.
Dzięki temu jednak programiści spokojnie mogli pracować, konkurencja nie wiedziała zbyt wiele o tym co robimy i mogliśmy pozytywnie zaskoczyć świat.
Z tego co mi wiadomo Windows tworzony jest w 3 głównych etapach. Składają się na nie:
Każdy z tych etapów jest bardzo istotny w całym procesie.
Pierwszym etapem przy produkcji systemu Windows jest zbieranie informacji o tym, co w nowej wersji powinno się znaleźć.
Dzieje się to zarówno przy rozmowach z największymi Klientami na świecie, ale też poprzez analizę tego co się dzieje na rynku IT. Ważnym aspektem są też rozmowy z producentami sprzętu, którzy mogą wiedzieć dużo wcześniej jakie urządzenia pojawią się za rok czy dwa lata.
Duży wpływ ma również cały dział R&D (Research & Development), którego wizje Sci-Fi bardzo często są przekuwane w rzeczywistość w kolejnych wersjach systemów.
Na tej podstawie tworzone są założenia projektowe dla nowego systemu operacyjnego. Często powstają one nawet przed wydaniem poprzedniej wersji systemu (można pewnie spekulować, że założenia dla Windows 8 są już bliżej końca niż początku).
Tu pojawia się pierwsze pojęcie, które później zbiorę na końcu, czyli Milestone. Podczas tworzenia kodu tworzone są kamienie milowe (właśnie Milestones), czyli takie elementy systemu, które są kluczowe i bez których nie ma nawet co dalej myśleć o systemie.
Zazwyczaj takich buildów jest 2-3, i najczęściej testowane są na poprzednim stabilnym systemie (bo nowego zupełnie nie ma jeszcze).
Kolejną wersją w procesie kodowania jest Alpha. Wtedy zbierane są kluczowe części kodu stworzone w poprzednim etapie. Dodawane są inne istotne komponenty i tworzony jest pierwszy działający system w nowej wersji.
Te wersje nie są dostępne dla szerokiego grona. Najczęściej dostęp mają tylko wybrane firmy zewnętrzne (produkujące sprzęt czy oprogramowanie).
W tym momencie można jeszcze decydować jakie elementy zostaną w nowym systemie, jakie należy zmienić a jakie całkiem usunąć.
W kolejnym etapie powstają wersje beta, RC i RTM. To etap kiedy dzieje się dużo przy testowaniu tego co zostało stworzone.
Natomiast jest to już system, który powinien działać i nie powinien mieć bardzo dużych problemów.
W wersjach beta kod jest prawie zamknięty, ale możliwe są jeszcze pewne poprawki a nawet wymiana całych modułów (najczęściej tylko w pierwszej becie).
Jeśli chcemy udostępnić szerzej taką wersję to albo po prostu wystawia się wersję beta na zewnątrz, albo tworzy dodatkową wersję Community Technology Preview, która może być przekazana szerzej. Ta wersja bardzo często ma opcje powiadamiania Microsoft o ewentualnych problemach.
Praktycznie finalna wersja produktu wchodzi w fazę Release Candidate (RC), gdzie poprawia się tylko małe błędy.
Finalna wersja to RTM, gdzie wiadomo, że prace zostały zakończone, a płyty zaczną się zaraz produkować w tłoczniach.
Żeby więc podsumować całą wiedze na temat kolejnych etapów powstania Windows zbierzmy to w całość:
Mam nadzieję, że nawet wyjadacze technologiczni dowiedzieli się czegoś ciekawego z mojego przydługiego dziś postu :)
No i zapewne niedługo będziecie mogli usłyszeć jakieś pierwsze informacje o następcy Windows 7.
Jak zawsze przydatne, bo często się ludki dopytuja co oznacza konkretna wersja. A słówko BETA jest mi bardzo, bardzo miłe i przyjazne...
@Anorak: Wiedziałem, że czegoś zapomniałem dopisać :) Nie jest to bardzo ważne, więc już zostawię w komentarzu bez dopisywania do posta.
Otóż może też nie wszyscy wiedzą, ale wersje beta, CTP i RC często są produktami całkiem dobrze działającymi, które można pobrać za darmo i za darmo legalnie używać. Oczywiście do pewnego czasu :)
Nie są pewnie alternatywą do firmy, ale w domu przez jakiś czas można spokojnie korzystać legalnie z prawie finalnej wersji :)
No, pokazaliście, jak tworzy się Windows 7 i jak będzie się tworzył Windows 8.
Myślisz, że dzięki sukcesowi Windows7 grupa tworząca ten system równie dobrze przyłoży się do Windows 8? ;)
@Custom: Mimo całej mojej irytacji związanej z tym, że przez długi czas nie miałem dostępu do wczesnych wersji Windows 7 (jako pracownik Microsoft miałem jej później niż jakieś podejrzane wersje z wycieków na P2P) - to myślę, że jeśli Sinofsky nadal będzie przewodził tworzeniu nowego systemu - to faktycznie się do niego przyłożą.
Aż ciekawe czy coś więcej dowiem się w lipcu na wewnętrznej konferencji TechReady o Windows 8 :) Możliwe, że nawet jeszcze nie.
Nawet Office 2011 Beta juz lata po sieci,
http://thenextweb.com/pl/2010/04/26/microsoft-office-2011-na-mac-beta-2-wycieka-podobno-jest-bardzo-dobra-zdjcia/
niestety tak juz w obecnych czasach, "internetu" sie nie zatrzyma.
Duzo przydatnych informacji w jednym miejscu :) Tak swoją drogą przyznaje bez bicia że Windows 7 to pierwszy z systemów MS który miałem od fazy beta, przez RC... i przy którym zostałem. Jak przypomnę sobie jak wyglądała Beta Visty, no cóż ;)