Конфликты между разработчиками ПО с открытыми исходными текстами
Модель открытых исходников близко связана с моделью научных разработок, и код программы можно рассматривать как аналог результатов исследований. Он публикуется для того, чтобы вызвать отклики людей, понимающих в этой проблеме, и для блага человечества в целом. Возникающие проблемы очень схожи в обеих дисциплинах, и связаны с установлением приоритета конкретного исследователя и корректностью его видения проблемы. Эти вещи также жизненно важны для разработчиков программ с открытыми исходниками, как они важны для исследователей. Для каждого типичного случая конфликтов среди разработчиков с открытыми исходниками я встречался с похожим поведением в научном сообществе. Обычно в науке такие конфликты развиваются в более зрелой сдержанной манере, но с отнюдь не меньшим уровнем озлобленности против оппонентов. Вот один анонимный пример:
"Какова "обычная" судьба проекта с открытыми исходниками, когда его участники не уживаются друг с другом? Как авторы открытых исходных текстов решают конфликты с другими авторами? Позвольте мне поведать историю моего первого опыта поддержки программы с открытыми исходниками, поскольку я полагаю его хорошей иллюстрацией. Я работал над программой (далее будем называть ее P, т.е. Program) и около двух лет назад вызвался взять на себя ее дальнейшее совершенствование, после того, как инициатор проекта выпустил версию 1.0 и не имел более времени работать над P.
В то время, когда я принял на себя сопровождение и разработку пакета, у меня было много свободного времени на предприятии, где я работал. Мой начальник отнесся ко мне с достаточным пониманием и разрешил мне посвящать P несколько рабочих часов в неделю, что, по-моему, не так уж часто случается с другими авторами программ с открытыми исходниками.
Время уходило, наш бизнес разрастался, и я имел все меньше времени для работы над P. Мне пришлось выпустить альфа-версию с некоторыми улучшениями, но некоторые люди не были довольны темпом работы. Один из них решил начать работу над собственной версией P.
Для краткости я буду называть его Mr. J, т.е. Jerk (ничтожество).
Вообще говоря, я должен был бы это приветствовать, поскольку именно в этом суть открытых исходников. Тем не менее, казалось, что в действительности Mr. J хотел просто славы. Я выпустил бета-версию P номер 2.0 , основанную на версии 1.0 изначального автора. Mr. J выпустил свою версию, названную P 1.2, также основанную на оригинальном коде 1.0, но с его собственными модификациями. Это послужило причиной множества недоразумений, по крайней мере, на мой взгляд, поскольку он использовал для своего пакета то же самое имя и сходный номер версии, что и я. Поэтому я попросил его проявить любезность и сменить название пакета на что-то иное, чтобы прояснить ситуацию.
Его ответом было публичное заявление, что его следует официально считать ответственным за сопровождение P, поскольку я слишком затягиваю работу. Должен отметить, что в этот момент я бы с радостью перепоручил ему дальнейшую разработку, если бы думал, что он сможет справиться с ней, но я так не думал (мягко говоря). Я собираюсь не приводить здесь дискуссию, которую мы вели по этому поводу в списке рассылки, посвященном P (на моем почтовом сервере), поскольку она включает немало ребячества со стороны Mr. J. Ограничусь ее результатами: Mr. J назвал меня некоторыми именами, и заявил, что берется за работу над P, как часть большего проекта, в котором он участвует.
Затем Mr. J сделал следующий шаг - он скопировал список имен моей почтовой рассылки и создал свою собственную на этой базе. Он объявил, что его версия будет официальной версией P, и прекратил участие в исходной почтовой рассылке, которую я создал. После всех его аргументов я был рад, что он исчез.
Но это продолжалось, пока кто-то не послал вопрос, касающийся моей версии P, в его рассылку (на которую он подписал и меня).
Он воспользовался случаем назвать меня еще несколькими именами, и сделал некоторые комментарии об отсутствии прогресса в моей работе. Это переполнило мое терпение, и я написал ему, что не хочу, чтобы мое имя вообще ним упоминалось когда-либо еще.
Я надеялся, что далее он будет полностью меня игнорировать, и я смогу спокойно работать над P, не отвлекаясь из-за его вмешательства.
Увы, я ошибался. Mr. J ответил мне, что будет делать все, что пожелает (опять-таки, мягко говоря). Он также добавил текст, предлагающий мне совершить с ним непристойность, в свой .sig-файл, который использовал публично в списках рассылки и прочих местах.
Возмутившись, я написал его Интернет-провайдеру и администратору его веб-сайта, угрожая ему и им судебным иском, если он не удалит мое имя из своих посланий. После этого я получил еще один грубый ответ от Mr. J, но вскоре он убрал мое имя из своего .sig-файла.
Такова ситуация на сегодняшний день. От всей этой истории у меня остались настолько неприятные впечатления, что я не люблю думать о P, а еще менее - работать над ней. Фактически я прекратил публиковать результаты своих разработок и буду впредь развивать "домашнюю" версию, которая никогда не выйдет в свет."