Rozhovor: Bram Moolenaar

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×

1. Moje první otázka je ta, která ti je pokládána nejčastěji. Jak to vlastně s Vimem začalo?

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.

2. Většinu práce na Vimu děláš sám. Troufáš si odhadnout jak velká část kódu je napsaná tebou?

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.

3. Vim licence nebývala vždy kompatibilní s GPL. Bylo to tvé rozhodnutí to změnit nebo Tě donutili vnější okolnosti?

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.

4. Vim je proklamován jako charityware. Jaký je kontext charitywaru?

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.

5. Vim je bezesporu velkým přínosem pro ICCF. Troufáš si odhadnout sumu, kterou ICCF získala díky Vimu?

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.

6. Jak jinak ti mohou lidé pomoci? Vážíš si děkovných dopisů nebo jsi tak zaneprázdněný, že tě otravují?

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.

7. Velká částka byla věnována Microsoftem nebo jeho pracovníky. Mám pravdu?

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.

8. Na čem momentálně pracuješ? Kdo rozhoduje které funkce jsou implementovány

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.

10. Jaký máš názor na Python jako skriptovací jazyk?

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.

12. Mimo programování Vimu pracuješ také na A-A-P projektu. Co vlastně A-A-P je?

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.

13. Dovedl by sis představit Aap nahradit make v budoucnosti?

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.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1476