Tworzenie projektów Open Source
Transkrypt
Tworzenie projektów Open Source
Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Tworzenie projektów Open Source cz. I: Teoria Piotr Banasiak Studenckie Centrum Informatyczne Uniwersytet Łódzki Łódź 2007 Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Plan prezentacji 1 Oprogramowanie 2 Free Software 3 Open Source 4 FLOSS 5 Wady i zalety 6 Znaczenie FLOSS 7 Więcej Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Definicja Własność intelektualna Źródło a program Licencje Licencje Oprogramowanie - definicja Projekt = Oprogramowanie Co to jest oprogramowanie? Produkt wytworzony przez programistów. Klasy oprogramowania: Produkt gotowy Produkt na zamówienie Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Definicja Własność intelektualna Źródło a program Licencje Licencje Oprogramowanie jako własność intelektualna Oprogramowanie własnością intelektualną Oprogramowanie jest tworzone, a nie produkowane w klasycznym znaczeniu tego słowa. Roger S. Pressman Software Engineering: A Practitioner’s Approach Każdy program ma określony cykl życia, a proces tworzenia oprogramowania odbywa się według określonych modeli życia oprogramowania. Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Definicja Własność intelektualna Źródło a program Licencje Licencje Oprogramowanie - źródło a program Oprogramowanie to kod źródłowy i skompilowane pliki binarne. Ze względu na (nie)udostępnienie kodu źródłowego rozróżniamy: Oprogramowanie wolne / otwarte (Free/Open Source) Oprogramowanie własnościowe / zamknięte (Proprietary) Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Definicja Własność intelektualna Źródło a program Licencje Licencje Licencje - definicja Licencja - co to jest? Umowa na korzystanie z aplikacji. Co regulują licencje? zróżnicowany stopień uprawnień i zobowiązań sposób zabezpieczenia inwestycji w projekty Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Definicja Własność intelektualna Źródło a program Licencje Licencje Licencje - przykłady Przykłady licencji: Otwarte / Wolne: GNU GPL / GNU LGPL BSD Apache 2.0 Mozilla PL X11 (Massachusetts Institute of Technology) Pozostałe: Freeware Shareware Shared Source i wiele innych Idea copyright a copyleft. Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Definicja Geneza Free Software - definicja Co oznacza termin ”free” software? ”wolny jak słowo”, a nie ”darmowy jak piwo” Oprogramowanie jest wolne, jeśli gwarantuje: 1 wolność uruchamiania programu, w dowolnym celu 2 wolność analizowania, jak program działa, i dostosowywania go do swoich potrzeb 3 wolność rozpowszechniania kopii 4 wolność udoskonalania programu i publicznego rozpowszechniania własnych ulepszeń, dzięki czemu może z nich skorzystać cała społeczność Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Definicja Geneza Free Software - geneza Organizacja promująca: Free Software Foundation Typ: organizacja non-profit Rok założenia: 1985 Założyciel: Richard Stallman Przyczyny powstania: Ochrona przed przedsiębiorstwami, które zaczęły wprowadzać ograniczenia dla użytkowników. Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Definicja Geneza Free a Open Open Source - definicja Co oznacza termin ”open source” software? ”otwarte źródło”, czyli dostępny kod źródłowy Oprogramowanie jest otwarte, jeśli jest udostępnione na licencji, która spełnia warunki, m.in.: 1 swobodna redystrybucja programu 2 dostępność kodu źródłowego 3 dozwolona redystrybucja modyfikacji 4 niedyskryminowanie zastosowań programu Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Definicja Geneza Free a Open Open Source - geneza Organizacja promująca: Open Source Initiative Typ: organizacja non-profit Rok założenia: 1998 Założyciele: Eric Raymond, Bruce Perens Przyczyny powstania: Model przyjazny firmom i mniej zaangażowany ideologicznie w procesie konkurencji z oprogramowaniem własnościowym. Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Definicja Geneza Free a Open Free a Open free =? open Jeżeli oprogramowanie jest wolne, to w zasadzie jest otwarte, lecz na odwrót już niekoniecznie. Co to oznacza? Open Source to pojęcie szersze. Otwarte oprogramowanie ”kampanią marketingową na rzecz wolnego oprogramowania”. Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Definicja Twórcy Rozwój Projekty Open Source a komercja Prawo Brooksa a Prawo Linusa FLOSS Free/Libre Open Source Software Free Sotware + Open Source = FLOSS Termin FLOSS obejmuje: społeczność, czyli nurty ruchu FS/OS prawo, czyli typy definicji licencji na oprogramowanie FS/OS zbiór oprogramowania na powyższych licencjach Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Definicja Twórcy Rozwój Projekty Open Source a komercja Prawo Brooksa a Prawo Linusa Twórcy Kto tworzy FLOSS? Społeczność, czyli ruch wolnego oprogramowania i ruch open source. Kto wchodzi w skład społeczności? hakerzy (indywidualiści, fascynaci) pracownicy firm użytkownicy i pozostali ochotnicy Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Definicja Twórcy Rozwój Projekty Open Source a komercja Prawo Brooksa a Prawo Linusa Rozwój Kto finansuje FLOSS? społeczność, np. Java Community Process fundacje i organizacje non-profit, np. Apache, Mozilla, PSF firmy i korporacje, np. Sun, IBM, Google Co sprzyja i napędza rozwój FLOSS? Rozpropagowanie powszechnego dostępu do Internetu. Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Definicja Twórcy Rozwój Projekty Open Source a komercja Prawo Brooksa a Prawo Linusa Projekty - przykłady Przykłady popularnych projektów FLOSS: Apache eMule Firefox Linux Mozilla OpenOffice Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Definicja Twórcy Rozwój Projekty Open Source a komercja Prawo Brooksa a Prawo Linusa Projekty - rodzaje Modele pracy w projektach FLOSS: Open Source np. Apache Open Source + komercja np. Mozilla Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Definicja Twórcy Rozwój Projekty Open Source a komercja Prawo Brooksa a Prawo Linusa Open Source a komercja Open Source nie stoi w sprzeczności z zarabianiem pieniędzy. Możliwe źródła finansowania to m.in.: sprzedaż usług (support, szkolenia) rozwój nowej funkcjonalności tworzenie całkowicie nowego oprogramowania na zamówienie firmy, którym zależy na istnieniu pewnego oprogramowania finansują jego rozwój Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Definicja Twórcy Rozwój Projekty Open Source a komercja Prawo Brooksa a Prawo Linusa Open Source a komercja Model biznesowy Głównym źródłem dochodu usługi - wdrożenia, szkolenia, administracja, dostosowywanie oprogramowania do określonych potrzeb. Oprogramowanie Open Source można także sprzedawać, np. opakowane w pudełka, oferowane klientom wraz ze wsparciem technicznym. Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Definicja Twórcy Rozwój Projekty Open Source a komercja Prawo Brooksa a Prawo Linusa Prawo Brooksa Prawo Brooksa Adding manpower to a late software project makes it later.a Fred Brooks The Mythical Man-Month a Dodawanie programistów do projektu sprawia, że prace trwają dłużej. Co to oznacza? Czas programistyczny nie jest skalowalny, a rozbudowa zespołu programistycznego w trakcie projektu może sprawić, że czas realizacji projektu wzrośnie. Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Definicja Twórcy Rozwój Projekty Open Source a komercja Prawo Brooksa a Prawo Linusa Prawo Linusa Prawo Linusa Given enough eyeballs, all bugs are shallow.a Eric S. Raymond The Cathedral and the Bazaar a Gdzie wiele oczu, tam łatwo ujrzeć pluskwy. Co to oznacza? Najkrótszą i najłatwiejszą drogą w kierunku szybkiego rozwoju kodu i efektywnego jego odpluskwiania jest traktowanie użytkowników jako osób uczestniczących w projekcie. Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Zalety Wady Zalety Zalety, czyli czemu OS zawdzięcza swój sukces: użytkownicy uczestniczą w projekcie deweloperzy piszą, to co chcą, a nie muszą deweloperzy ”są doświadczonymi użytkownikami oprogramowania, które tworzą” W efekcie OS gwarantuje: szybką identyfikację i korekcję błędów dużą liczbę feature’ów i częste ich dodawanie szybkie odpowiedzi na zgłaszane problemy Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Zalety Wady Wady Wady, czyli potencjalne zagrożenia OS: OS nie jest modelem tworzenia oprogramowania otwarcie oprogramowania może skutkować bankrutctwem firmy, gdy nie ma ona dobrego pomysłu na zarabianie pieniędzy np. Open Sound System firmy 4Front Technologies brak dostatecznej liczby zdolnych programistów negatywne skutki koniecznej modułowości oprogramowania (zwiększa skalę skomplikowania aplikacji, ryzyko spięcia pomiędzy modułami) pokutujące na rynku przeświadczenie, że FLOSS to ”darmowe piwo” Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej z punktu widzenia FS/OS z punktu widzenia użytkowników Wolna Kultura - definicja Wolna Kultura - geneza Znaczenie FLOSS FLOSS - dlaczego to takie ważne? Free Software 1 2 wolność, wspieranie prawa do tworzenia oprogramowania ochrona przed prywatnym monopolem Open Source 1 2 gwarantowana najwyższa jakość techniczna oprogramowania zainteresowanie firm ideą, szansa na komercyjne wykorzystanie Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej z punktu widzenia FS/OS z punktu widzenia użytkowników Wolna Kultura - definicja Wolna Kultura - geneza Znaczenie FLOSS FLOSS - dlaczego to takie ważne? Użytkownicy brak mechanizmów kontroli oprogramowanie zamknięte (własnościowe), to zdanie się na nieznane mechanizmy kontroli i ochrony (bezpieczeństwa) w systemach (np. Digital Rights Management), niewiadome sposoby zbierania i przetwarzania danych, niejasne sposoby działania aplikacji, niejawne wykorzystanie technologii w oprogramowaniu otwartym powyższe mechanizmy są jawne - znamy je i możemy zmieniać ucieczka od mechanizmu ”dozwolone jest to, na co pozwala właściciel praw autorskich/patentu” w OS nie musimy nikogo pytać o pozwolenie Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej z punktu widzenia FS/OS z punktu widzenia użytkowników Wolna Kultura - definicja Wolna Kultura - geneza Znaczenie FLOSS FLOSS - dlaczego to takie ważne? Użytkownicy ochrona praw konsumenckich w zamkniętym nie mamy źródeł i nie mamy możliwości legalnego crackowania/odszyfrowania mechanizmów kontroli, jak np. algorytm Content Scramble System (system kodowania zawartości płyt DVD) Wolna Kultura Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej z punktu widzenia FS/OS z punktu widzenia użytkowników Wolna Kultura - definicja Wolna Kultura - geneza Wolna Kultura - definicja W szerszym ujęciu... Dzielenie się własnością intelektualną = Wolna Kultura Wolna Kultura to: rozszerzenie idei ruchu wolnego oprogramowania na obszar całej kultury niematerialnej ruch społeczny promujący wolność dystrybucji i modyfikacji różnego rodzaju utworów Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej z punktu widzenia FS/OS z punktu widzenia użytkowników Wolna Kultura - definicja Wolna Kultura - geneza Wolna Kultura - geneza Organizacja promująca: Creative Commons Typ: organizacja non-profit Rok założenia: 2001 Założyciel: Lawrence Lessig Przykład projektu: Wikipedia Piotr Banasiak Tworzenie projektów Open Source Oprogramowanie Free Software Open Source FLOSS Wady i zalety Znaczenie FLOSS Więcej Więcej Tworzenie projektów Open Source - cz. II: Praktyka prelegent: Karol Nowak Łódź, 14 grudnia 2007, godz. 14:00 http://sci.uni.lodz.pl/opensource/ Piotr Banasiak Tworzenie projektów Open Source