13 otázek a 13 odpovědí od Brama. Bram Moolenaar je autorem pravděpodobně nejpoužívanějšího textového editoru v unixovém prostředí Vim.
27.6.2007 15:00 | Luboš Turek | přečteno 18394×
V mém prvním zaměstnání jsem používal Vi na Unixových stanicích. Domu jsem si pořídil počítač Amiga. V té době celkem slušný, ale neexistoval pro něj žádný Vi kompatibilní editor. Existovalo něco podobného Vi nazvané Stevie a byl to open source. Tak jsem začal opravovat bugy a přidávat novou funkcionalitu, kterou jsem postrádal. Nejdříve, aby to umělo to co Vi, později naprosto nové funkce. A dosud jsem nepřestal.
Většinu práce na Vimu dělám samozřejmě já. Nicméně, některé zásadní funkce byli napsány jinými: portace z Amigy na Unix, GUI, několik interfaců, atd. Když dostanu velký patch, který do Vimu zahrnu, původní autor opravuje chyby po nějakou dobu, ale pak zpravidla ztratí zájem a veškerá práce je pak na mně. Bylo by složité odhadnout jak velkou část kódu jsem napsal já. Na spoustě místech jsem udělal pouze malé změny. Podle čeho se pak dá rozhodovat kdo to napsal? Někde tam dokonce musí být nějaké části Stevie.
Hlavním důvodem pro změnu licence na GPL-kompatibilní bylo, že nějaké knihovny, s kterými může být Vim linkován, byly licencovány pod GPL. Jelikož Vim nebyl GPL kompatibilní, znamenalo to, že výsledná binárka nemůže být šířena. Jedna z těchto knihoven je gpm, podporující myš v linuxové konzoli. Samozřejmě jsem chtěl, aby lidé mohli Vim šířit, a jelikož by bylo velmi obtížné přemluvit ostatní vzdát se jejich licencí, jediná možnost byla učinit Vim kompatibilní s GPL.
Lidé mi říkají, že Vim má nějakou hodnotu. Pracuje líp než komerční editory, ale většinu času mám práci, která mi přináší dostatek peněz pro obstojný život, tekže nepotřebuji žádat o peníze na Vim. Pokud lidé chtějí podpořit Vim i tak, je lepší to dát někomu, kdo to skutečně potřebuje. Poněvadž vím, že projekt v Ugandě funguje velmi dobře, řekl jsem si, že to je nejlepší místo, kam tyto peníze posílat.
To je těžké odhadnout, ale bezpochyby je to stále více a více. Když ICCF Holland začínalo, žádali jsme lidi, kteří navštívili projekt v Ugandě, aby požádali své přátele a příbuzné o podporu. Teď když nejezdí do Ugandy žádné teamy z Holandska, Vim je hlavní zdroj nových sponzorů. Je bez pochyb, že nejvíce jednorázových příspěvků přichází od uživatelů Vimu, ale máme také své loajální sponzory od začátku.
Jsem velmi zaneprázdněný, ale děkovný dopis jednou za čas mě jednoznačně podněcuje pokračovat s prací na Vimu. Pokud bych nedostával pozitivní reakce od uživatelů, dávno bych přestal.
Lidé mi samozřejmě můžou pomoci opravovat bugy. Opět jsem v zaměstnání na plný úvazek a na udržování Vimu nemám dostatek času. Seznam známých problémů je pořád delší. Některé problémy je jednoduché vyřešit. Na některých je třeba strávit více času. Také je tu pár studentů, kteří budou řešit tyto problémy v rámci Google summer of code.
To bylo před několika lety, kdy nadšenec Vimu pracující pro Microsoft vytvořil podpůrný program pro Ugandu. Mám dojem, že se to stále děje v menším měřítku, ale jelikož se to odehrává v Kanadě, neznám detaily.
Momentálně pouze opravuji bugy. Jsou nějaké funkce, které bych ve Vinu rád viděl, ale i bez nich je Vim perfektně OK pro většinu lidí. Také chci zamezit tomu, aby se Vim stal ještě více komplikovaným, takže nové funkce musí ovládání Vimu zjednodušit. Na webových stránkách je anketa, pomocí které zjišťuji co lidé nejvíce chtějí. Pokud je o nějakou pěknou funkci zájem a já mám dobře promyšlené jak jí implementovat, aby byla jednoduše použitelná, a pokud mám čas, má tato funkce slušnou šanci být implementována.
Jsem přesvědčen, že ze skriptovacích jazyků je Python nejlepší. Je mocný a je velmi jednoduché se ho naučit. Proto jsem ho vybral pro Aap project a zahrnul nějaké funkce ve Vim scriptu (např. seznamy a slovníky). Samozřejmě není perfektní, ale jelikož je open source, každý může pomoci ho vylepšit.
Nebyl jsem spokojen s tím, jak "make" pracuje. Věděl jsem, že může být daleko lepší. Tady se projekt Aap zrodil. Podporuje také up a downloadování a verzování. Používám ho neustále k aktualizování mých stránek a vydávání patchů jediným příkazem. Obsahuje všechny výhody make, shellových skriptů a Pythonu.
Bohužel Aap není moc používaný. Bez dostatečné základny uživatelů nevyroste. Pro Vim stále potřebuji udržovat makefile, protože nechci nutit lidi k instalování Aap. Výsledek je, že většina se nikdy nepodívá do Aap recipu. Také protože nepotřebují, jelikož jeden jednoduchý příkaz stáhne, zkompiluje a nainstaluje Vim. Také existují klony make s více funkcemi, které dovolují více věcí. Přestože to funguje velmi nemotorně, lidé to vidí jako omluvu pro používání makefile.