<rmcreative>

RSS

Сопротивление изменениям в OpenSource

10 сентября 2013

Phil Sturgeon у себя в блоге поднял больную тему php internals: дружное сопротивление даже незначительным изменениям в довольно грубой форме.

Я не думаю, что это такая уж атипичная особенность именно php internals за исключением, разве что, довольно грубых выражений. Хотя на том же форуме phpclub выражаются частенько ещё более грубо.

Давайте разберёмся...

Ситуация с сопротивлением изменениям рано или поздно случается с любыми крупными проектами. Как только проект выпускает несколько релизов, формируется группа «старичков», которые изначально принимали все важные решения.

Группа начинает сопротивляться потому, как изменения могут поломать что-либо, что было отлично продумано и работало. Такое сопротивление, в общем-то, даже хорошо потому как позволяет сохранять так необходимую коммерческим проектам обратную совместимость.

Несколько другой тип отказов заключается в том, что «старички» помнят баги и особенности, которые были в том же PHP 5 лет назад. Поэтому у них создаётся впечатление, что некоторые нововведения работать не будут, будут работать криво или на их реализацию уйдёт чрезмерно много времени.

Типичные ошибки отказов две:

  1. Не рассказывается истинная причина отказа. По причине того, что лениво тысячу раз повторять одно и то же или по какой-то другой.
  2. Форма отказа часто бывает грубой, что отбивает любое желание помогать проекту в дальнейшем.

«Старички» типично и не безосновательно являются самыми влиятельными людьми в проекте. Новички частенько на веру принимают всё сказанное группой «старичков» и фактически становятся фанатиками, болезненно реагирующими на любую попытку оспорить мнение отцов-основателей. По их вине дискуссия частенько переходит на личности и становится совершенно бесполезной даже в случае если сами «старички» готовы к диалогу.

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

Комментарии RSS

  1. №8342
    Алексей
    Алексей 10.09.2013, 21:23:46

    Полностью согласен с автором. Только пост как будто не дописан. Остается стойкий вопрос: "И че делать?" Как быть логичным? Выражение "реализация этого займет слишком много времени, потому что 5 лет назад это заняло много времени" тоже логично.

  2. №8343
    Grigori
    Grigori 10.09.2013, 22:06:14

    Как политкорректно ты не упомянул имя старичка Quang-а :)

  3. №8344
    Grigori
    Grigori 10.09.2013, 22:07:54

    то есть Qiang-а, вечно путаю :)

  4. №8345
    AmdY
    AmdY 10.09.2013, 22:52:32

    Вопрос больной, единственное по поводу "старичков" не согласен, среди таких осторожных зачастую бывают как молодые по возрасту, так и по опыту и стажу на проекте. Это скорее особенность характера.

    Самое главное - быстро понять что "старичков" изменить не получится и не факт что нужно, меняться предстоит самому. Приучиваешься собирать плюсы минусы, рассчитывать риски и обратную совместимость, смотришь на проект с точки зрения развития, кустомизации и бизнеса, учишься убеждать.

  5. №8346
    Sam
    Sam 10.09.2013, 23:23:20

    Grigori, да я сам точно таким же «старичком» стал при просмотре тикетов Yii 1.1. Главное отличие в том, что со мной нет языково-культурного барьера. Соответственно можно обсуждать что-либо не стесняясь в выражениях и донести мысль быстрее. Если в диалоге начинаются выражения, я просто «включаю терминатора».

  6. №8349
    EditUsr
    EditUsr 11.09.2013, 12:35:21

    Еще комьюнити FAR Manager этим славится, мля. Засели там такие "старички" по 20-25 лет. И хамят почти что всем подряд, кроме своей FAR Group. Поль-лям в смысле. Это можно видеть по форуму русскому.

  7. №8351
    Максим
    Максим 11.09.2013, 15:59:46

    Старички однако полезны иногда, полезны тем что как сэм и описал - знают лучше кого-либо архитктуру проекта и чего делать нельзя или что будет пустой тратой времени. Но, при должном понимании и общении думаю проблем быть не должно. Вон как я воевал с неймспейсами и формами в yii и с "live" событиями, но, при должном компромиссе все приняли и все хорошо. Думаю и в данной ситуации нужен такой компромис.

  8. №8352
    bettrrr
    bettrrr 11.09.2013, 18:32:21

    Вот именно после просмотра ответов на форуме yii и отпало желание что-то добавлять. Два варианта ответа: нет, это никому не надо; нет, у нас всё так как должно быть.

  9. №8355
    boston
    boston 11.09.2013, 22:34:50

    Особенно жестко отвечает и участвует в дискуссия Линус Торвальдс, его критика чаще всего огромна, довольно обоснована, но очень резка. Что касается принятия старичками нововведений в годами отлаживаемый продукт - то тут можно понять, не часто всё новое содержит кроме функционала еще и ценность, плюс поддержку и дальнейшее развитие. Добавил фичу, её одобрили и внесли в проект, а автор пропал всё дальнейшее развитие и объяснениями - на плечах старичков.

    Сопротивление - дополнительный барьер, проверка для тех кто решил быть с проектом всерьёз и на долго, и это согласен - больше благо чем зло.

  10. №8365
    WinterSilence
    WinterSilence 15.09.2013, 2:15:50

    Тут дело даже не в каком-то отдельном проекте, а в уровне программирования. Если Вы грамотно аргументируете свою точку зрения, оппоненту нечего будет сказать, а если и будет он сам выставит себя дураком.

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.