Jak přispívat do LibreOffice XII – Úpravy zdrojového kódu, další možnosti a závěr

LO.png Hlavním tématem posledního dílu seriálu o přispívání do LibreOffice budou úpravy zdrojového kódu; do nich se mohou pustit zkušení i začínající programátoři. Výčet oblastí, v nichž lze přispívat, pak uzavře marketing, design a uživatelská podpora.  

Úpravy zdrojového kódu

Dostáváme se k činnosti, která je základem a často i synonymem vývoje softwaru – úpravám zdrojového kódu. Ty z vás, kdo si pomyslí něco ve smyslu „to je mi k ničemu, programovat neumím“, možná překvapí, že do zdrojového kódu zasahují také lidé se základními znalostmi programování, nebo dokonce úplně bez nich.

Příklady, kdy zastanou spoustu práce, mohou být překlady komentářů z němčiny nebo opravy upozornění vypisovaných nástroji na kontrolu kvality kódu. Nabízí se ale i atraktivnější možnosti: obrovským polem působnosti je uživatelské rozhraní, tedy vylepšování dialogových oken, nástrojových lišt nebo nabídek. A podobně skromnými úpravami začínali i někteří v současnosti důležití vývojáři.

Repozitář a větve

díle zabývajícím se úpravou nápovědy jsme už rozebírali, jak se ze zdrojových souborů připravuje spustitelný program a že je historie těchto souborů zaznamenávána systémem pro správu verzí. Repozitář se zdrojovým kódem LibreOffice naklonujeme příkazem:

git clone git://anongit.freedesktop.org/libreoffice/core core

Ačkoliv ve světě softwaru není ničím zvláštním vývojový cyklus s více podporovanými řadami, pro uživatele bývá nesrozumitelné, že LibreOffice vychází souběžně ve verzích dvou řad – novější je označována jako „fresh“ a starší jako „still“. Vydáním nové řady se z „fresh“ stává „still“, zatímco původní „still“ již tou dobou není podporována. Poskytování dlouhodobé podpory je záměrně ponecháváno v režii firem, které díky němu získávají na vývoj LO prostředky.

Vzhledem k tomu, že ve verzi „fresh“ nebývá nouze o chyby (a to ani o závažné), uživatel vyžadující spolehlivost by měl sáhnout po „still“. Naopak „fresh“ je vhodná pro toho, komu nevadí zkoumat, proč něco nefunguje, a je schopen nahlásit chybu.

Mezi množstvím větví se v repozitáři nachází také ty, které odpovídají oběma řadám i konkrétním vydáním: existuje tedy například větev libreoffice-5-0, z níž byla následně oddělena například větev libreoffice-5-0-4. Tyto větve jsou určeny pouze pro opravy chyb a pro jejich začleňování platí přísnější pravidla nutná k zachování stability programu.

Výhodou vývoje LibreOffice je pravidelnost a předvídatelnost vydávání testovacích a závěrečných verzí. Základem je půlroční cyklus, časový harmonogram vydávání shrnuje stránka na wiki.

Sestavení LibreOffice a změna kódu

V současné době je vytvoření spustitelného programu ze zdrojového kódu snadné. Nejprve nainstalujeme vývojové balíky, které jsou pro kompilaci nezbytné – na Linuxu konkrétní příkaz závisí na distribuci, např.:

sudo apt-get build-dep libreoffice # Ubuntu/Debian
sudo zypper si -d libreoffice # OpenSUSE

Ve Windows je nutné nainstalovat závislosti podle tohoto návodu na wiki, obdobně je k dispozici také návod pro Mac OS X.

Poté stačí v adresáři naklonovaného repozitáře spustit:

./autogen.sh
make

Následně si přijde na své procesor, překládání kódu může trvat až mnoho hodin. Spustitelné soubory budou vytvořeny v adresáři instdir. Provedeme-li v kódu změnu, opětovné sestavení už bude záležitostí chvilky, znovu se budou totiž překládat jen změnou ovlivněné části.

Pokud jsme se přesvědčili, že naše úprava funguje, změnu commitneme. Chceme-li ji začlenit do původního repozitáře, odešleme patch ke schválení do systému Gerrit, jak bylo rozvedeno v díle o úpravě nápovědy.

Hacky jednoduché a složitější

Vývojáři LibreOffice dbají na to, aby mohl s kódem pracovat každý zájemce, i sebevětší začátečník: v bugzille průběžně označují vhodná hlášení jako tzv. easy hacks, tedy nepříliš složité úkoly vyžadující zásah do zdrojového kódu. Tyto úkoly jsou kategorizovány, díky tomu si můžeme prohlédnout tematicky zaměřený seznam nebo seznam podle programovacího jazyka (převážně se jedná o C++, částečně o Python a Javu), oboje navíc roztříděné podle obtížnosti. Easy hacky tak jsou ideální vstupní branou do kódu LibreOffice, ať už se s ním chceme seznámit důkladněji, nebo jen něco malého vyzkoušet.

Zkušenějším programátorům nic nebrání ponořit se do úprav kódu hlouběji. Pro studenty se přitom nabízí jedinečný program Google Summer of Code (GSoC). V něm Google sponzoruje během letních prázdnin studenty, kteří pracují na konkrétním vylepšení zvoleného svobodného softwaru. Prospěch z toho mají všichni: software získá nové vlastnosti, studenti zkušenosti a peníze a Google dobré jméno.

The Document Foundation se účastnila pokaždé (hlavní stránka ke GSoC na wiki) a výsledkem je spousta úspěšně dokončených úkolů a noví vývojáři, z nichž někteří už patří mezi zasloužilé. V dalších letech bude LibreOffice (a Document Liberation Project) opět při tom, nachystáno je množství dalších námětů a zájemci se mohou chystat již nyní (předchozí aktivita v projektu je při výběru studentů nutnou podmínkou).

Přispívání do rozsáhlého svobodného projektu jako LibreOffice má tu výhodu, že si vývojáři uvědomují nezastupitelnost dobrovolníků a snaží se jim být nápomocni. Ke konkrétním problémům se diskutuje u záznamů v bugzille či při posuzování patchů v Gerritu, případně ve vývojářské mailové konferenci na adrese libreoffice@lists_freedesktop_org. Pomoc nalezneme také na vývojářském IRC #libreoffice-dev na serveru Freenode. Jako u jiných činností je užitečným zdrojem informací příslušná část wiki.

Rozšíření LibreOffice

OpenOffice.org/LibreOffice již dlouho nabízí možnost vytvářet rozšíření, která program přizpůsobují specifickým potřebám či se vypořádávají s jeho nedokonalostmi. Je škoda, že tenhle potenciál zůstává z valné části nevyužitý a třeba s popularitou rozšíření webových prohlížečů se nedá srovnat.

Přesto můžeme na poněkud nepřehledném centrálním úložišti na extensions.libreoffice.org, případně jinde narazit na rozšíření, která se pro nás stanou nepostradatelnými. Příkladem může být to, že textový procesor Writer lze používat jako náhradu DTP programu (ačkoliv zdaleka ne plnohodnotnou) a tehdy jsou výbornými pomocníky rozšíření jako JP Typografie, TypoJTB nebo Typography toolbar.

Úvodní webová stránka centrálního úložiště rozšíření LibreOffice Úvodní webová stránka centrálního úložiště rozšíření LibreOffice

Někdy se může vyplatit vytvořit si rozšíření vlastní (příslušná stránka na wiki). Tradičním jazykem je varianta Basicu používaná v LibreOffice, existují ale i přívětivější možnosti jako Python, byť pro ně je k dispozici podstatně chudší dokumentace.

Lze jen doporučit, abychom svá vlastní rozšíření či sady maker zveřejňovali (což v době služeb typu GitHub nepředstavuje problém). Dáme tím světu najevo, že problém už někdo řeší a že není nutné ho řešit znovu – a takové sdílení a soustředění sil je jedním z principů a obrovskou zbraní v rukou svobodného softwaru.

Další možnosti přispívání

Zbývá uvést ještě tři činnosti vztahující se k LibreOffice: marketing, design a uživatelskou podporu. Třebaže budou zmíněny jen letmo, jde o nezbytné oblasti, jejichž význam se nevyplatí podceňovat.

Protože nežijeme v ideálním a spravedlivém světě, o úspěchu softwaru nerozhoduje pouze jeho kvalita, ale také více či méně čestné obchodní praktiky. Má-li software udělat díru do světa, potřebuje, aby o něm bylo slyšet, byly vyzdvihovány jeho přednosti, vyvraceny mýty o něm a byl nabízen na správných místech.

To je předmětem činnosti marketingového týmu, se kterým se můžeme jako obvykle seznámit v příslušné části wiki, komunikační kanál představuje mailová konference marketing@global_libreoffice_org. Česká republika je po marketingové stránce pole takřka neorané, přitom je zde v nasazení LibreOffice značný potenciál, v jehož využívání by silní marketingoví hráči mohli uspět.

Zajímavou oblastí na pomezí programování, psychologie a umění se zabývá další tým, označovaný jako design a UX (user experience). Cílem jeho snahy je, aby byl LibreOffice jednak hezký na pohled, jednak aby se logicky a konzistentně používal. Viditelným výsledkem jsou například ikony, šablony či úpravy dialogových oken, pracuje se ale také třeba na tom, aby byla nastavena jednotná pravidla pro ovládání LO. Jednotlivé úkoly jsou přitom vhodné i pro úplné začátečníky. Tým má svůj oddíl na wiki, využívá mailovou konferenci design@global_libreofice_org, v provozu je IRC kanál #libreoffice-design a konají se setkání přes Hangout.

Nemělo by se zapomínat ani na uživatele, vždyť právě jejich spokojenost je mírou kvality softwaru. Zodpovídání jejich dotazů a pomoc s řešením problémů je tudíž vysoce záslužnou činností. Zapojit se přitom může každý, kdo má nějaké zkušenosti s používáním LibreOffice a chuť se o ně podělit. Důkazem, že takových lidí není málo, je i zdejší fórum, v současnosti nejvhodnější místo pro řešení záležitostí ohledně LO v češtině. Kromě něj nalezneme pomoc v řadě obecněji zaměřených diskuzních fór, k dispozici je i mailová konference uzivatele@cz_libreoffice_org, jejíž mezinárodní ekvivalent má adresu users@global_libreoffice_org.

V případě, kdy uživatel hledá jasnou odpověď na jasnou otázku, je efektivnější než diskuzní fórum formát Q&A (questions & answers). Z toho důvodu byla zřízena takováto odpovědna specializovaná na LibreOffice, dostupná je na ask.libreoffice.org. Za několik let se v anglické verzi nashromáždily tisíce dotazů a odpovědí.

Fungují i lokalizované verze, nejde přitom o překlad otázek z angličtiny, ale o dotazy zadávané a zodpovídané uživateli přímo v různých jazycích. Česká, resp. česko-slovenská verze mezi nimi chybí. Aby mohla být v provozu, schází jí několik dobrovolníků, kteří by se ujali role moderátorů. Doufejme, že se postupem času najdou a že tato výborná platforma bude k dispozici i pro české uživatele.

Dotaz na ukládání pozice kurzoru na ask.libreoffice.org, stejný se objevil ve zdejším fóru Dotaz na ukládání pozice kurzoru na ask.libreoffice.org, stejný se objevil ve zdejším fóru

Shrnutí odkazů

Shrnutí: jak se zapojit do úprav kódu a dalších činností

  • Podpořit opravu chyby či začlenění nové vlastnosti na crowdfundingovém portále.
  • Upravovat zdrojový kód (začít s easy hacky), zúčastnit se Google Summer of Code.
  • Vytvářet a zveřejňovat vlastní rozšíření.
  • Zapojit se do marketingových aktivit.
  • Zapojit se do činnosti týmu designu a UX (zlepšování použitelnosti LibreOffice, úprava dialogových oken, tvorba ikon, tvorba šablon).
  • Zodpovídat dotazy uživatelů na diskuzních fórech nebo na Q&A.
  • Zprovoznit a moderovat Q&A pro LibreOffice v češtině.

Závěrem

Končí seriál o tom, jak přispět třeba i sebemenší drobností ke tvorbě kancelářského balíku LibreOffice. Představili jsme si spektrum činností, z něhož si mohou vybrat lidé s různými zájmy a s různými schopnostmi ovládání počítače. Více či méně podrobně jsme jednotlivé činnosti popsali a seznámili jsme se s postupy a pravidly, které mají napomoci tomu, aby vývoj fungoval co nejefektivněji.

Zbývá dodat poslední a nejdůležitější zásadu: nebojte se zeptat. Drtivá většina zainteresovaných ráda zodpoví i začátečnické dotazy a pomůže v případě jakýchkoliv nejasností. Dění kolem LibreOffice totiž není záležitostí neosobních kusů kódu a mechanických postupů, ale živou spoluprací rozličných lidí z celého světa, kteří ve snaze vytvářet cosi užitečného spojili své síly.

Těm, kdo jste se do této spolupráce zapojili, se sluší poděkovat a popřát, abyste v ní vytrvali. Pokud jste ještě nikam nepřispívali a lákalo by vás to, začněte hned, stačí málo. Neomezujte se na LibreOffice, v seriálu popsané principy platí ve světě svobodného softwaru obecně, liší se jen detaily. A tak ještě dnes můžete zodpovědět dotaz zoufalého uživatele na fóru, přeložit anglický řetězec, na který v českém rozhraní denně narážíte, přepsat nesmyslný odstavec na Wikipedii nebo zkontrolovat a nahlásit otravnou chybu ve svém oblíbeném programu.

Vždyť svět softwaru a informací, na jejichž tvorbě se může podílet každý, je rozsáhlý a rozmanitý a i vy jste zváni, abyste v něm zanechali svoji stopu.

(Jako ve škole) Průměr: 1.00 | Hodnotilo: 2
 

Přidat názor

 

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích najdete v nápovědě. Diskuzi můžete sledovat pomocí RSS kanálu.

 
Stanislav Horáček

Stanislav Horáček

OpenOffice.org jsem objevil ve verzi 1.1, posléze jsem přešel na LibreOffice. Nejvíc používám Writer, ostatní součásti spíš doplňkově. Přispívám ke tvorbě LibreOffice (česká lokalizace, drobné úpravy nápovědy), vytvářím rozšíření „České CC0 slovníky“ a jeho stránku ceskeslovniky.cz. Od roku 2014 jsem členem The Document Foundation.

 
 
 
woo jaw demo hz