Organizacja i struktura projektu FreeBSD. Wojciech A. Koszek wkoszek@freebsd.org Częstochowa, 14.11.2008



Podobne dokumenty
FreeBSD: użytkowanie, administracja, rozwój. Wojciech A. Koszek Politechnika Częstochowska

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX

BSD alternatywa dla Linuksa. (na przykładzie FreeBSD)

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX

Programowanie Zespołowe

PROGRAM MICROSOFT DEVELOPER NETWORK ACADEMIC ALLIANCE MSDN AA

UNIX: architektura i implementacja mechanizmów bezpieczeństwa. Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci

System Zarządzania Dystrybucją

KOŁO NAUKOWE INFORMATYKÓW SYSTEMY KONTROLI WERSJI CZ.1 16 XII 2009 OPRACOWAŁ: PRZEMYSŁAW PARDEL

Projekt TrustedBSD jako klucz do bezpieczeństwa systemu FreeBSD

Feature Driven Development

Netgraph w systemie FreeBSD. Wojciech A. Koszek MeetBSD 2005 Kraków

System kontroli wersji, system zarządzania kodem źródłowym

Internet przedmiotów - opis przedmiotu

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:


Software is like sex it s better when it s free. Linus Torvalds

Wstęp do Informatyki. Klasyfikacja oprogramowania

ponad pracowników ponad pracowników ponad pracowników ponad pracowników

Przypadki bez przypadków. Jak dobierać scenariusze testowe.

Systemy Operacyjne 2006/07. Prezentacja o BSD na przykładzie FreeBSD. Maria Donten, Bartłomiej Etenkowski, Aleksander Zabłocki

Tworzenie sterowników dla FreeBSD. Michał Hajduk

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej

Administrowanie systemami informatycznymi Kod przedmiotu

DLACZEGO DYSTRYBUCJE NIE OBSŁUGUJĄ MOJEGO URZĄDZENIA? Marcin Juszkiewicz Software Engineer

Bezpieczeństwo systemów komputerowych

GIT. System Kontroli wersji GIT. Rafał Kalinowski

Ćwiczenia 9: Zarządzanie konfiguracją Zadania:

System zarządzający grami programistycznymi Meridius

Dni: 3. Opis: Adresaci szkolenia

KONFERENCJE SZKOLENIA EVENTY

Systemy Kontroli Wersji

AKADEMIA GÓRNICZO-HUTNICZA. Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki KATEDRA INFORMATYKI. SyncFile

"Klasyczna" struktura systemu operacyjnego:

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

Załącznik nr 1 do Zapytania ofertowego: Opis przedmiotu zamówienia

Zarządzanie sobą. Zrozum siebie i zrealizuj marzenia

Design thinking zaprojektuj, zbuduj i przetestuj swoje pomysły

Adam Wójs <adam[shift+2]wojs.pl> git --wprowadzenie

Pierwszy projekt. Na początku warto wspomnieć, że program WebSite X5 dostępy jest w 3 wariantach: Start, Evolution oraz Professional

Instrukcja użytkownika

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Małgorzata Zięba. 1 z :28 INFORMACJE O AUTORZE: MAŁGORZATA ZIĘBA

ZAKRĘCENI NA PUNKCIE IT DOŁĄCZ!

Kernel Kompilacja jądra

Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15.

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Lista analizowanych stanowisk

PRZEWODNIK PO PRZEDMIOCIE

Jak poruszać się po TwinSpace

Poznaj Centrum Szkoleniowe Johnson Controls

Assembla.com zajęcia 1

Projektowanie aplikacji na platformie Android Kod przedmiotu

Kluczowe kompetencje Project Managera zgodnie z metodyką IPMA. Inicjatywy Pomorskiej Grupy Regionalnej IPMA

Platforma GitHub. 1 Cel laboratoriów. 2 GitHub. 2.1 Git. źródeł.

Tylko 25% pracowników miało dostęp do szkoleń innych niż obowiązkowe.

Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer

WPROWADZENIE DO UML-a

OPROGRAMOWANIE WSPOMAGAJĄCE ZARZĄDZANIE PROJEKTAMI. PLANOWANIE ZADAŃ I HARMONOGRAMÓW. WYKRESY GANTTA

PRZEWODNIK PO PRZEDMIOCIE

G DATA TechPaper. Aktualizacja rozwiązań G DATA Business do wersji 14.1

Testowanie oprogramowania. Piotr Ciskowski

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Tworzenie dokumentacji

Fundacji PROIDEA 4Developers interdyscyplinarnej 4Developers Back to the Roots dwanaście ścieżek dwanaście różnych tematów

DOKUMENTACJA TECHNICZNA OPIEKA NAD FORUM

Środowisko programisty. Środowisko programisty 1/35

Bugzilla - wybrane narzędzie zarządzania błędami

Biuro w Rzeszowie: Expera Consulting ul. Paderewskiego Rzeszów, Polska. biuro@expera.pl Internet:

Nowoczesne metody nauczania przedmiotów ścisłych

Systemy operacyjne III

ORGANIZACJA Z CHARAKTEREM OFERTA WSZECHNICY UJ. Jak świadomie kształtować kulturę organizacyjną firmy?

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne

WordCamp Polska 2015 str 2

Oferta narzędzi rekrutacyjnych serwisu Praca w portalu dlastudenta.pl 1/7

Języki programowania I - opis przedmiotu

Wprowadzenie do er(k)a

Architektura korporacyjna jako narzędzie koordynacji wdrażania przetwarzania w chmurze

Projekt "Rozwój kompetencji społecznych i zarządczych wśród kadr IT"

ZAKODUJ SWOJĄ PRZYSZŁOŚĆ. Zostań programistą i zacznij dobrze zarabiać w IT, jednej z najlepiej rozwijających się branży w Polsce i na Świecie!

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Lean manufacturing - opis przedmiotu

Platforma e-learning Beyond45. Przewodnik użytkownika

O serwisie. NowyMarketing to serwis dostarczający konkretów i inspiracji z dziedziny marketingu.

REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania

Komputery przemysłowe i systemy wbudowane

G DATA TechPaper Aktualizacja rozwiązań G DATA Business do wersji 14.2

View Agencja Kreatywna Sławomir Huczak. Lidzbark Warmiński / Olsztyn / Gdańsk / Warszawa

Wskazówka! Oferta nie dotyczy podstawowych programów z pakietu Microsoft Office: Word, Excel, PowerPoint, Outlook, Publisher.

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

Katarzyna Pękala MSDN AA Program Manager Microsoft

Podstawy zarządzania - opis przedmiotu

Technologia Flash cieszy się coraz większą popularnością. Liczba dostępnych

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Monitor maszyn wirtualnych

OFERTA SZKOLEŃ DLA BIBLIOTEKARZY

Repozytorium Uniwersytetu Jagiellońskiego

Partnerzy: Laboratorium 15

Transkrypt:

Organizacja i struktura projektu FreeBSD Wojciech A. Koszek wkoszek@freebsd.org Częstochowa, 14.11.2008

Plan prezentacji: Wprowadzenie do terminologii Krótki wstęp do świata BSD Opis The FreeBSD Project Społeczność, sposób i organizacja pracy Nowinki techniczne Podsumowanie

BSD to... Berkley Software Distribution niegdyś był to UNIX w formie znanej z ksiąg i pism To w BSD powstawały najbardziej znaczące innowacje: prototypy dot. abstrakcji danych, protokół TCP/IP, systemy plików, sposoby schedulingu BSD od zawsze było doskonałym przykładem współpracy świata akademickiego i przemysłu: wiele prototypów sponsorowanych przez różnorakie korporacje powstaje w systemach BSD do dziś.

BSD dziś... Świat BSD dziś to nie jak kiedyś jedyna dystrybucja oprogramowania. W międzyczasie dokonały się podziały i rezultatem są projekty: FreeBSD [1993] (dowiesz się dalej, dlaczego FreeBSD jest ciekawe), NetBSD [1993] (wieloplatformowy), OpenBSD [1995] (Hm.. Może kiedyś...), DragonFlyBSD (2003)

Projekt FreeBSD ma na celu: rozwój systemu operacyjnego FreeBSD zrzeszanie w jednym miejscu programistów, menadżerów, publicystów i innych osób zainteresowanych rozwojem FreeBSD celem wspólnym jest tworzenie i promocja profesjonalnego oprogramowania wysokiej jakości

Sposób i organizacja pracy

Ludzie: Programiści: ogromna ilość profesjonalistów z górnej półki Administratorzy Wykładowcy Hobbyści, pasjonaci, studenci i reszta

Podział pracy

FreeBSD contributor ktoś, kto zgłosił błąd do bazy błędów (Problem Report Database). Couldn't you just fill a PR...? ktoś, kto podesłał poprawkę do dokumentacji: teh -> the ktoś, kto zaproponował poprawkę: char *p = xyz > char *p = MAGIC

FreeBSD commiter osoba, która posiada dostęp do repozytorium (o tym za chwilę) i może wprowadzać zmiany do kodu źródłowego projektu: wyróżniamy kilka poziomów uprzywilejowania: src, doc, ports ma możliwość korzystania z dóbr projektu: maszyn testowych, klastra eksperymentalnego, zniżek na książki, konferencje, koszulki itd... zmianie statusu z FreeBSD contributor na FreeBSD commiter towarzyszy okres, w którym dala osoba posiada swojego mentora.

...cd... mentor odpowiedzialny jest za zapoznanie nowozaakceptowanego commitera ze sposobem pracy, wszystkimi zasobami jest po to by odpowiadać na ewentualne pytania jest programistą pierwszego kontaktu, z którym zaproponowane zmiany w źródłach projektu należy skoordynować

Grupy trzymające władze: Core team: zbiór 9 najbardziej respektowanych commiterów Projektu posiadających decydujący wpływ na kształt i architekturę projektu Security team Ports management team System administrator team Documentation team

System FreeBSD to... ogromny projekt, w skład którego wchodzi: kod źródłowy jądra systemu kod źródłowy programów, skryptów oraz narzędzi do zbudowania np.: bootowalnego CD instalacyjnego dokumentacja system pakietów oprogramowania PORTS regression tests Zarządzanie tak ogromną skarbinicą jest problematyczne

Systemy kontroli wersji CVS od zawsze! historia wielu bardzo znaczących etapów rozwoju systemów operacyjnych trzemana jest właśnie tutaj Subversion: w tym roku dokonano migracji z CVS do Subversion: Perforce: długoterminowo ten krok ma usunąć problemy, które obecne są w CVS komercyjny, doskonały system kontroli wersji używane we FreeBSD od bardzo dawna; wykorzystywany do najbardziej eksperymentalnych zmian

Sposób wprowadzania zmian: Propozycja zmiany w postaci: ustnej sugestii do programisty odpowiedzialnego za kod łata na kod źródłowy Peer review: w przypadku posiadania mentora, to on jako pierwszy dokonuje akceptacji/zwrotu zaproponowanej łatki przejrzenie zmiany przez osobę posiadająca największą wiedzę dot. danej partii projektu duża liczba doskonałych programistów

Sposób wprowadzania zmian, cd: Każda zmiana trafia do repozytorium: każdy commit widoczny w repozytorium wysyłany jest również na publicznie dostępną listę mailingową każdy może komentować zmiany posiadają dodatkowe nagłówki umieszczone w treści opisu zmiany: Reviewed by: Appoved by: Security: MFC itd..

Komunikacja i rozwiązywanie konfliktów: Listy mailingowe: doskonałe z powodu łatwego dostępu poprzez mail i WWW (świetny interfejs programu Mailman) wiele tematycznych grup wiele grup ogólnego przeznaczenia Rozwiązywanie problemów ma miejsce na publicznym forum.

Aspekty techniczne: FreeBSD to głównie kod w języku C, potem C++ niskopoziomowy kod jądra w assemblerze Kod pisany jest w jednolitym stylu: FreeBSD cechuje dbałość o ten aspekt tworzenia oprogramowania

Dbałość o infrastrukturę: Wszelkie prowizorki są z góry skazane na niepowodzenia Większość rzeczy projektowana jest w sposób uogólniony, tak by możliwe było wykorzystywanie różnych podsystemów w bardzo uniwersalny sposób. Przykłady: GEOM, Netgraph.

Podsumowanie: FreeBSD == projekt wart Twojej uwagi FreeBSD.org <- dobry punkt startu lists.freebsd.org <- sposób na obserwację tego, co dzieję się we FreeBSD

Koniec Zapraszam do zadawania pytań Wojciech A. Koszek <wkoszek@freebsd>