sobota, 26 listopada 2011

Jak pomagać?

Każdy, naprawdę każdy, może przyczynić się do rozwoju Wolnego Oprogramowania. Nie trzeba być od razu zawodowym programistą by włożyć swoją cegiełkę w rozwój programu. Poniżej znajduje się kilka przykładów, pierwszych, które przyszły mi na myśl.

Rozbudowa dokumentacji

Dokumentacja programu nie powinna być tworzona wyłącznie przez jego twórców (programistów). Potrzebny jest ktoś patrzący z perspektywy użytkownika. Ktoś, kto poznawał program od podstaw, zna problemy które mogą spotkać początkującego użytkownika.

Inna sprawa, że nie warto tracić czasu programistów na tworzenie podręczników/tutoriali dla "zielonych". Niech zrobią to ci, którzy chwilę wcześniej byli "zieloni".

 

Tłumaczenia

Dostępne są narzędzia umożliwiające łatwe tworzenie tłumaczeń (np. Crowdin). Nie potrzebne jest grzebanie w plikach źródłowych, wystarczy tylko wiedza i zmysł językowy.

Odpowiedzi na forum

Niemal na każdym forum codziennie zadawane są pytania dotyczące podstawowych funkcji programu. Warto poświęcić chwilę na odpisanie, tak by banały nie zaprzątały głowy programistom. Polecam darowanie sobie odpowiedzi: "poszukaj w Google", znacznie sensowniejsze (jeśli odpowiedź już była na forum) jest napisanie np.: "problem wynika zapewne z xxxxxxxx, więcej dowiesz się używając funkcji Szukaj". Jeśli nie mamy chęci na napisanie jednozdaniowej, ale pomocnej odpowiedzi, lepiej nie pisać jej wcale.

 

Propozycje zmian w programie

Propozycje są niemal zawsze dobrze widziane, pod warunkiem, że nie są roszczeniowe. Idealnym podejściem jest: "Chciałbym dodać funkcję ZZZZZ do programu, ale nie wiem jak zrobić YYYYY, czy możecie mi trochę pomóc?"
W przypadku kontrowersyjnych zmian (np. wygląd) najlepiej zbudować własnego forka programu. Nie ma sensu niczego wymuszać na twórcach pierwotnego programu. Jeśli fork będzie lepszy od bazy, to stanie się on popularniejszy lub zostanie zjednoczony z głównym drzewem.

 

Testowanie

Jeśli zawodowo wykorzystujesz podobne do wybranego projekt FLOSS oprogramowanie, jesteś idealnym człowiekiem do prowadzenia testów. Jeśli uda Ci się stworzyć poważny projekt w danym programie, to nie dość, że udowodnisz jego przydatność, to jeszcze będziesz mógł przekazać sporo uwag developerom.

 

Skrypty, makra, szablony

Wydaje się, że trudno jest od razu zacząć implementować nowe funkcje w programach pokroju GIMP-a czy Libreoffice. Tysiące, bądź miliony linii C/C++ nie wyglądają przystępnie.
Na szczęście takie programy mogą być rozbudowywane za pomocą skryptów pisanych w językach wysokiego poziomu.Gdy czegoś  brakuje, spróbuj to dopisać z wykorzystaniem takiego skryptu. Potem podziel się nim, skomentuj, utwórz stronę dokumentacji z której inni będą mogli się czegoś nauczyć.

Prezenty dla twórców sterowników (trudne do wykonania)

Jeśli znasz kogoś piszącego sterowniki, zapytaj go, czy nie przyda mu się twoja stara karta graficzna/dźwiękowa/muzyczna. Może dzięki tobie, ktoś będzie się cieszył działającym sprzętem pod Linuksem czy BSD.

Paczki, repozytoria

Oficjalne paczki mniej znanych programów są często nieaktualne lub wręcz ich nie ma. Stworzenie alternatywnego repozytorium (PPA w Ubuntu) będzie miłym gestem w stronę początkujących użytkowników. Na pewno wolą dodać repozytorium, niż kompilować ze źródeł.

Nie tylko oprogramowanie

Open Source, w szerszym znaczeniu, to nie tylko oprogramowanie. Kilka przykładów, gdzie również można pomóc:
 

    Po co pomagać?

    Wielu z nas siedzi długo przed komputerem. Szkoda, że również bezproduktywnie. Za bezproduktywne uważam nie tylko przeglądnie głupich stron z obrazkami, ale także prowadzenie blogów "o niczym"1. Poświęćmy choć ułamek czasu spędzonego przed komputerem na pomoc Wolnemu Oprogramowaniu. Korzyścią jest nie tylko satysfakcja, ale także nowe umiejętności wynikające z rozwiązywania problemów. Te umiejętności kiedyś się przydadzą. Nie mam ku temu żadnych wątpliwości.

    1 - czyt. plotkowanie, pisanie o tym jak zły jest Apple/Facebook/Google/Microsoft, rzucanie niemerytorycznymi argumentami o wyższości jednego smartfonu nad drugim i przede wszystkim narzekanie jaka to społeczność Wolnego Oprogramowania (lub Linuksa) jest zła, wredna i beznadziejna.

    2 komentarze:

    1. Odnośnie starego sprzętu - jeśli by polegać na tym modelu, to musiałbym mieć przez jakiś czas niedziałającą kartę, dać ją developerowi, który zrobi support dla Linuksa dla sprzętu de facto zapewne wycofanego ze sprzedaży. Jasne, lepiej późno niż wcale, ale dalekie jest to od ideału.

      Niemniej: czy jest jakieś miejsce, gdzie jest zbiorcza lista sprzętu, który chętnie przyjmą developerzy (z opisem do czego, najchętniej)? Pewnie kolejna karta rtl8139 nie przyda się nikomu, a bieganie i szukanie komu sprzęt oddać to nie jest efektywna metoda.

      OdpowiedzUsuń
    2. Stary to niekoniecznie zabytkowy. Zresztą jedna rodzina układów potrafi być zaskakująco długo utrzymywana w produkcji. Nawet taki sterownik R600 obsługuje wszystkie karty od roku 2007. Ile teraz jest wart Radeon HD 2400. Praktycznie nic. A przecież cały czas jest w produkcji jako zintegrowane HD 3300, 4200, 4250. I cały czas wymaga ogromnych nakładów pracy.

      Co do drugiej kwestii. Nie znam takiego miejsca i trochę mnie to boli. Zapotrzebowania chyba nie brakuje (przykład http://www.mplayerhq.hu/design7/donations.html )

      OdpowiedzUsuń