OpenServices na przykładzie serwisu Filmaster
Transkrypt
OpenServices na przykładzie serwisu Filmaster
OpenServices na przykładzie serwisu Filmaster Borys Musielak Wolne oprogramowanie zdobywa serca programistów i użytkowników już od ponad 25 lat. Wtedy właśnie Richard Stallman rozpoczął swoją wolnościową krucjatę, dzięki której teraz nikogo nie dziwi obecność na milionach desktopów takich w pełni wolnych programów jak Mozilla Firefox, OpenOffice.org czy GIMP. Od tego czasu wiele zmieniło się w oprogramowaniu. Coraz więcej programów, z których korzystamy działa w przeglądarce internetowej. Coraz więcej danych trzymamy nie na naszym własnym pececie, ale na zewnętrznych serwerach, czy wręcz „w chmurze”, rozproszone na wielu maszynach dużych dostawców usług. Dlaczego, mimo że koncepcja wolnego oprogramowania znalazła miliony zwolenników, idea całkowicie wolnych serwisów internetowych jest w dalszym ciągu czymś mocno abstrakcyjnym dla większości użytkowników, a nawet – o zgrozo – programistów? Zaraz. . . ale przecież mamy Wordpressa! Oczywiście. Mamy też MediaWiki, Joomlę i Drupala. Mamy wyspecjalizowane oprogramowanie jak klon Digga (Pligg), platformy blogowe (Wordpress MU), mikroblogging (Laconica, Jaiku), farmę wiki (Wikidot.org) czy nawet silnik portalu społecznościowego (Pinax). Wreszcie, mamy też potężne i wolne frameworki jak Ruby on Rails, Django czy wiele rozwiązań dla PHP, Perla i Javy. Nie mamy za to – poza kilkoma wyjątkami o których niebawem – wolnych serwisów internetowych. OSSD? Z czym to się je? Żeby mówić o wolnych serwisach internetowych, trzeba najpierw wyjaśnić to pojęcie. Zadania tego podjęła się organizacja Open Knowledge Foundation publikując OpenServices na przykładzie serwisu Filmaster 67 na stronie http://opendefinition.org/ossd definicję „otwartego serwisu internetowego”. Otwarty serwis to taki którego: dane są dostępne i otwarte, zgodnie z definicją Open Knowledge, oprócz tych danych które z natury są prywatne (one dostępne powinny być tylko dla właściciela), kod źródłowy jest wolnym lub otwartym oprogramowaniem, zgodnie z definicjami przyjętymi przez FSF i OSI, kod źródłowy jest udostępniony użytkownikom serwisu. Nie chodzi więc jedynie o kod frameworka na którym opiera się serwis, nie chodzi też jedynie o kod serwisu, ale również o dane które są tak samo ważną, a może ważniejszą, częścią każdego serwisu internetowego. OSSD a otwarte API OSSD nie mówi nic bezpośrednio o API (programistycznym interfejsie aplikacji), ale z samej definicji wynika, że najlepszym sposobem na spełnienie wymagania o dostępności danych serwisu jest udostępnienie mechanizmu łatwego odpytywania aplikacji o te dane. Bezpłatne i całościowe API jest więc zwykle częścią otwartych aplikacji internetowych, nie jest jednak rzeczą konieczną. Równie dobrze można sobie wyobrazić spełnienie wymagania dostępności poprzez udostępnienie wszystkich danych w łatwy sposób w formacie XHTML na stronie, czy też po prostu udostępnienie zrzutu bazy danych, po odfiltrowaniu danych wrażliwych. Warto jednak pamiętać, że zależność nie zachodzi w drugą stronę. Samo istnienie nawet najbardziej całościowego API nie oznacza automatycznie, że serwis można uznać za otwarty. Równie ważna jest licencja na której udostępnione są dane (ważne, aby umożliwiała ich wykorzystanie niezależnie od serwisu) oraz oczywiście kod źródłowy samej aplikacji. Przykłady otwartych serwisów internetowych Pionierem otwartości w dziedzinie serwisów internetowych była Wikipedia. Zarówno kod źródłowy strony (MediaWiki) oraz treść (Creative Commons, GFDL) spełniają wymagania stawianie otwartym serwisom internetowym. Inne otwarte serwisy to m.in. ma.gnol.ia (serwis społecznościowych zakładek), reddit.com i TODO (społecznoścznościowe agregatory wiadomości), identi.ca (mikroblog), ur1.ca (”skracacz” adresów URL), Wikidot.com (farma wiki), libre.fm (wolny klon Last.fm) czy Filmaster.com (społecznościowy serwis dla miłośników kina z systemem rekomendacji). W Polsce niestety w temacie nie dzieje się wiele. Oprócz serwisów grupy OSmedia (OSnews.pl, Filmaster, ...) oraz Wikimedia Polska (Wikipedia, Wikisłownik, ...) właściwie nie istnieją (albo nie przebiły się do świadomości) serwisy spełniające definicję OSSD. 68 Borys Musielak Dlaczego warto otworzyć swój serwis? Powodów dla których warto otworzyć serwis jest całe mnóstwo. Od ideologicznych (warto się dzielić, skoro wykorzystaliśmy przy tworzeniu serwisu mnóstwo wolnego oprogramowania, warto dać coś w zamian), przez piarowskie (otworzenie kodu to ciekawa wiadomość, wiele serwisów informacyjnych może go podchwycić, generując tym samym pozytywny rozgłos dla naszego serwisu) aż po czysto praktyczne (otwarty kod sprzyja pozyskiwaniu deweloperów, współpracowników). Przy tworzeniu serwisu Filmaster istotne były wszystkie te czynniki. Filmaster – przykład budowania otwartego serwisu Jako mniej lub bardziej znany bojownik o wolne oprogramowanie wszędzie gdzie się tylko da, miałem zmniejszone pole manewru :). Hipokryzją byłoby promować FLOSS w administracji, edukacji, firmach, a samemu we własnym projekcie stosować zamknięte rozwiązania. Po szybkiej rozmowie z Adamem (współwłaścicielem i współdeweloperem Filmastera) decyzja była jasna – otwieramy. Zarówno kod (na licencji AGPLv3) jak i treść (obligatoryjnie na Creative Commons 2.5 Uznanie Autorstwa). Pytanie tylko – co dalej? Samo otwarcie kodu i uwolnienie treści na niewiele się zda, jeśli mało kto wie o tym, że można z tego skorzystać. Dlatego też podjęliśmy szereg działań mających na celu wypromowanie Filmastera jako otwartego projektu. Strona informacyjna Powstała strona http://filmaster.org będąca centrum deweloperów serwisu. Tam znajdziemy informacje o założeniach programistycznych Filmastera, dowiemy się jak ściągnąć kod i postawić lokalnie środowisko deweloperskie. Tam też dokumentujemy najważniejsze funkcjonalności serwisu, jak silnik rekomendacji filmów, powstające API czy sposoby integracji z zewnętrznymi serwisami i usługami jak Facebook, Twitter, czy OpenID. Wszystkie zadania jakie planujemy zaimplementować, w tym funkcjonalności zgłoszone przez użytkowników, grupujemy na stronie http://jira.filmaster.org będącej naszym systemem zarządzania zadaniami, dostępnym dla wszystkich zainteresowanych. Dodatkowo na blogu Filmastera (wersja polska: http://blog.filmaster.pl, wersja angielska: http://blog.filmaster.com) informujemy na bieżąco o nowo wprowadzanych funkcjonalnościach, wydarzeniach związanych z serwisem oraz planach na przyszłość. Promocja w Internecie To o wiele trudniejsze, bo każda próba wypromowania nowego serwisu ociera się mniej lub bardziej o spam. Informacja prasowa wysłana kilkunastu najważniejszym serwisom i blogerom (pierwsza jeszcze w fazie alfa-testów) zadziałała jednak i o serwisie napisał m.in. Antyweb, Techkultura, Dziennik Internautów, vbeta.pl czy Niezłekino.pl, napędzając na samym początku publicznej fazy beta wielu użytkowników. Trudniej było na rynku anglojęzycznym, gdzie nie mieliśmy przed stworzeniem serwisu wielu „wejść”. Niemniej, udało się „sprzedać” Filmastera jako otwarty projekt kilku znanym w świecie wolnego oprogramowania i nie tylko blogerom jak Dan Lynch OpenServices na przykładzie serwisu Filmaster 69 (twórca podcastu Linux Outlaws), który przeprowadził z nami wywiad, czy Ben Parr z Mashable.com, który opisał nasz serwis w sekcji „przebłysk geniuszu”, opisującej nowe budzące nadzieje serwisy internetowe. Równie istotne okazało się intensywne korzystanie z narzędzi „web 2.0” typu Blip, Flaker, Twitter, Identi.ca czy Facebook. Zarówno Filmaster jak i jego ekipa ma swój profil w każdym z tych serwisów i na wielu frontach bombardujemy informacjami o serwisie, próbując przy okazji nawiązać kontakty z ludźmi, którzy mogą pomóc w rozprowadzeniu informacji dalej. Najwięcej jednak udało się osiągnąć nie przez niezdarne akcje PR-owe przeprowadzane przez nas samych, a dzięki pierwszym użytkownikom, którzy w wiarygodny sposób zareklamowali Filmastera w środowiskach najbardziej zbliżonych do grupy docelowej. Przykładowo, wpis Kocia na Biblionetce przyciągnął do serwisu kilkaset użytkowniczek (i kilku użytkowników) – ludzi którzy od dłuższego czasu czekali na filmowy odpowiednik najlepszej strony społecznościowej dla bibliofilów. Promocja poza Internetem Grupą docelową Filmastera są fani kina. Oczywiste jest więc, że promować się należy przede wszystkim w kinach i na festiwalach. Na tym koncie mamy też już pierwsze sukcesy: Nasz poznański PR-owiec i wolontariusz, smalu, wynegocjował już pierwszą współpracę z kinem Muza, na mocy której będziemy promować kino wśród filmasterów (użytkowników Filmastera) mieszkających w Poznaniu, a nasz plakat reklamowy (zupełnie fizyczny) zawiśnie w kinie. Podczas największego festiwalu filmowego w Polsce – Era Nowe Horyzonty – we Wrocławiu, ekipa Filmastera promowała serwis, a michuk wystąpił w Radiu Wrocław opowiadając o tym dlaczego warto korzystać z Filmastera. Na sam festiwal stworzyliśmy też specjalną stronę http://filmaster.pl/enh9 gdzie festiwalowicze mieli dostępny na bieżąco aktualizowany ranking filmów wyświetlanych we Wrocławiu, festiwalowe rekomendacje oraz recenzje nowohoryzontowych filmów. Podobne akcje planujemy na innych festiwalach. Democamp Istotnym wydarzeniem w historii Filmastera był występ na Democamp East/West w Poznaniu. To w założeniu międzynarodowe, ale obecnie jeszcze głównie polskie, ”targi startupów”. Przez dwa dni prezentowaliśmy tam z Adamem serwis, a w konkursie udało nam się zająć drugie miejsce. Dzięki tego typu imprezom nie uzyska się może wielu nowych użytkowników (nie ta grupa docelowa), ale pozna się za to wiele osób, z którymi znajomość może się, pragmatycznie mówiąc, przydać w dalszym promowaniu serwisu. Nagroda w postaci 250 tysięcy odsłon reklamy bannerowej w sieci BizPark oraz promocja na telebimach student.tv na pewno zaowocuje jednak również Borys Musielak 70 pewną grupą nowych filmasterów (odsłony planujemy wykorzystać w październiku, po rozpoczęciu roku akademickiego). **** No dobrze. A jak wyglądają efekty tych wszystkich działań? Ogólnie nie najgorzej. Filmaster się prężnie rozwija - w lipcu mieliśmy 3 tysiące zarejestrowanych użytkowników i 150 tysięcy odsłon miesięcznie. Co jednak najważniejsze, filmasterzy generują dużo treści, piszą wiele recenzji – krótkich i dłuższych – wzbogacając tym samym ogólnie rozumiana wolną kulturę wartościowymi treściami. Ile w tym wszystkim zasługi otwartości? Tego nie da się jednoznacznie ocenić. Ale jednoznacznie można wymienić bezpośrednie korzyści otwartego podejścia do serwisu: Przepisany mechanizm rekomendacji przez Jakuba Tłałkę i Filipa Pacanowskiego (dzięki niemu wskaźnik trafności rekomendacji RMSE zszedł z około 1.8 do 0,7-0,8 – to znaczny postęp), Poprawiona wyszukiwarka filmów autorstwa Marcina Mościckiego, Fetcher opisów filmów z Wikipedii autorstwa Filipa Pacanowskiego, Fetcher opisów dystrybutora napisany przez Łukasza Bolikowskiego, Moduł do obsługi wydarzeń typu Oskary czy festiwale filmowe napisany przez Mariusza Kryńskiego (podziwiać można np. na stronie http://filmaster.pl/⇒ ⇒ /oskary-2009), Tłumaczenie etykiet serwisu na języki: hiszpański, kataloński (pełne) oraz francuski, duński i norweski (w trakcie tworzenia) przez międzynarodową społeczność Filmastera. Tych wszystkich funkcjonalności nie udałoby się napisać w dwójkę z Adamem, gdybyśmy zdecydowali się na zamknięty model rozwoju oprogramowania. Mamy nadzieję, że przykład Filmastera posłuży jako drogowskaz dla tych z Was, którzy myślą o stworzeniu własnego serwisu internetowego, ale boją się otwartości i płynących z niej (najczęściej iluzorycznych) zagrożeń. Oczywiście jeśli któryś z czytelników i jesiennolinuksowych słuchaczy zna Pythona i Django (albo chciałby poznać te technologie), lubi filmy i chciałby pomóc w tworzeniu Filmastera, jest to jak najbardziej mile widziane. Wszystkie istotne informacje znaleźć można na stronie filmaster.org.