Напомню, Олег Крылов - автор первого исправления для бага в продуктах Mozilla в рамках программы "Деньги за исправления багов". После выплаты вознаграждения, Олег любезно согласился ответить на несколько наших вопросов.
Олег, расскажите немного о себе, о том, чем Вы занимаетесь.
Мне 25 лет, родился и вырос в Риге (Латвия). Получил высшее образование по специальности "Телекомуникации", работаю также по
специальности - инженер-программист систем автоматизации радиовещания и телефонии.
Ранее вы участвовали в каких-либо открытых проектах, если да, то каких?
Напрямую нет. Есть несколько принятых патчей для проекта wine. В свободное время понемногу ковыряю gnome/mozilla/wine, как позволит время буду отправлять патчи, именно процесс принятия кода в основную ветку занимает больше всего времени и требует постоянного внимания.
Ах да совсем забыл, были у меня когда-то давно и свои открытые проекты связанные с 3D- играми, например знакомый когда-то многим win32 порт старой игры wolf3d http://newwolf.sf.net/
Откуда Вы узнали о программе "Деньги за исправление багов"?
На сайте linux.org.ru посещаю его ежедневно.
Сколько времени заняла разработка и тестирование патча?
Чистое время разработки посчитать трудно. Впервые я начал интересоваться этой проблемой около года назад, примерно после того
как переполз на работе на Linux, начал смотреть как можно исправить то что меня не устраивает в системе (большой плюс Open Source). Потом когда узнал о программе откопал свои изменения и довел их до приемлемого вида, исправляя замечания членов проекта - это заняло где-то месяц.
Какие инструменты использовались во время написания патча?
Компилятор конечно gcc, язык c/c++, это конечно-же диктуется проектом. IDE - Eclipse, для простой и быстрой правки gedit. Так-же использовался firefox для работы с bugzilla и gmail, чтения gtk dev.manual
Общались ли Вы с разработчиками Mozilla, и если да, то как?
С помощью bugzilla, так-же какое-то время я читаю mailing-lists чтоб понять дух проекта и знать основные направления текущей работы.
Что бы Вы хотели сказать/посоветовать другим программистам, кто собирается присоединиться к исправлению других багов?
Побольше работать с кодом, повседневно использовать собственно собранную версию программы (со своими изменениями) - это самое лучшее тестирование. При отправке патча прислушиваться к замечаниям членов проекта, людям делающим вам patch-review, - это их код им его поддерживать, они знают его лучше вас, если это не так то почему вы всё ещё не работаете в Mozilla?
Отсутствует
Спасибо большое за интервью!
Вообще, хочу поблагодарить тех, кто поддерживает русскоязычное сообщество Mozilla.
Отдельное спасибо тому, кто разрешил постить на форуме гостям (я не хочу регистрироваться, но при этом частенько захожу почитать и иногда оставить комментарий в тему). Просто я юзер Firefox'а, но не активный член сообщества.
Ибо, я считаю что: открытость <=> доступность <=> популярность <=> расширение возможностей = ну и т.д.
Респект товарищу!
+1 Олегу за патч. Наконец-то появился стимул полностью переползти на 2.х
Отсутствует
Хм.... больше походит на костыль, чем на исправление...
dimon198887У
Это почему?
«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator
Отсутствует
Хм.... больше походит на костыль, чем на исправление...
Нет, костыль - это когда баг исправляется при помощи расширения, а исправление включается в сам код программы.
От оно че!
Отсутствует
igorsub
Нет, костыль - это когда баг исправляется при помощи расширения, а исправление включается в сам код программы.
Почему же? Бывает и костыли попадают в код программы
Кстати это тот самый случай. Вот только лучше пусть такое исправление, чем никакого...
Это почему?
Это потому что поправили следствие, а не причину
...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин
Отсутствует
Azathoth правильно говорит. Я лично разобрал патченый код - ничего хорошего, сам мог лучше написать. Да вот только уже врятли кто моё исправление включит.
Somniator
Всех критиканов прошу запостить свой вариант патча. Думаю, всем будет интересно ознакомиться с ними.
А какой от этого толк? Никто же не говорит что этот патч надо выкинуть. Отнюдь. Просто проблема с этими шоткатами сидит глубоко в gecko. И никто кроме Mozilla в этом не виноват.
Автора патча и всех остальных можно поздравить с тем, что Mozilla таки решилась внести исправление, пусть даже и в виде костыля.
Нам остается только развести руками и сказать: "Ну хоть и костыль, зато поправлено. Смиримся."
...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин
Отсутствует
Я тоже не совсем понимаю почему такой сложных алгоритм в патче
в xev выглядит все намного проще:
1. en, 'Ctrl+q'
KeyPress event, serial 31, synthetic NO, window 0x6200001,
root 0x136, subw 0x0, time 206378025, (502,-221), root:(506,570),
state 0x14, keycode 24 (keysym 0x71, q), same_screen YES,
XLookupString gives 1 bytes: (11) ""
XmbLookupString gives 1 bytes: (11) ""
XFilterEvent returns: False
2. ru, 'я' (по верх 'q')
KeyRelease event, serial 31, synthetic NO, window 0x6200001,
root 0x136, subw 0x0, time 206383569, (502,-221), root:(506,570),
state 0x2010, keycode 24 (keysym 0x6d1, Cyrillic_ya), same_screen YES,
XLookupString gives 2 bytes: (d1 8f) "я"
XFilterEvent returns: False
3. ru, 'Ctrl+q'
KeyPress event, serial 31, synthetic NO, window 0x6200001,
root 0x136, subw 0x0, time 206402487, (502,-221), root:(506,570),
state 0x2014, keycode 24 (keysym 0x71, q), same_screen YES,
XLookupString gives 1 bytes: (11) ""
XmbLookupString gives 1 bytes: (11) ""
XFilterEvent returns: False
Как видно XLookupString и XmbLookupString возвращают ^Q, и в статусе бит 0x04 стоит.
Что-там такое намудрили в этом gtk ? скорей бы qt версию сделали бы.
Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.9) Gecko/20071105 MultiZilla/1.8.2.0i SeaMonkey/1.1.6
Отсутствует