Напомню, Олег Крылов - автор первого исправления для бага в продуктах 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. :puss:
Отдельное спасибо тому, кто разрешил постить на форуме гостям (я не хочу регистрироваться, но при этом частенько захожу почитать и иногда оставить комментарий в тему). Просто я юзер Firefox'а, но не активный член сообщества. :rolleyes:

Ибо, я считаю что: открытость <=> доступность <=> популярность <=> расширение возможностей = ну и т.д.

Респект товарищу!
:rock:

+1 Олегу за патч. Наконец-то  появился стимул полностью переползти на 2.х

А что за баг-то он исправил? Просто я не слежу за этим. Хоть указали бы в тексте.

igorsub
Баг с раскладками

С почином!:beer:

Я бы даже сказал «с починкой!» ;)

Хм.... больше походит на костыль, чем на исправление...

dimon198887У
Это почему?

Хм.... больше походит на костыль, чем на исправление...

Нет, костыль - это когда баг исправляется при помощи расширения, а исправление включается в сам код программы.

igorsub

Нет, костыль - это когда баг исправляется при помощи расширения, а исправление включается в сам код программы.

Почему же? Бывает и костыли попадают в код программы =)
Кстати это тот самый случай. Вот только лучше пусть такое исправление, чем никакого...

Это почему?

Это потому что поправили следствие, а не причину ;)

Azathoth правильно говорит. Я лично разобрал патченый код - ничего хорошего, сам мог лучше написать. Да вот только уже врятли кто моё исправление включит.

Всех критиканов прошу запостить свой вариант патча. Думаю, всем будет интересно ознакомиться с ними.

Somniator

Всех критиканов прошу запостить свой вариант патча. Думаю, всем будет интересно ознакомиться с ними.

А какой от этого толк? Никто же не говорит что этот патч надо выкинуть. Отнюдь. Просто проблема с этими шоткатами сидит глубоко в gecko. И никто кроме Mozilla в этом не виноват.
Автора патча и всех остальных можно поздравить с тем, что Mozilla таки решилась внести исправление, пусть даже и в виде костыля.
Нам остается только развести руками и сказать: "Ну хоть и костыль, зато поправлено. Смиримся." =)

Я тоже не совсем понимаю почему такой сложных алгоритм в патче :(

в 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 версию сделали бы.