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.