Кошачье пастбище

Автор оригинала: SteveC
  • Перевод

У книги Карла Фогеля «Producing open source software» замечательная обложка (см. выше). На ней показано множество маленьких стрелок разного размера, указывающих направо, и бо́льшая стрелка жёлтого цвета, на мой взгляд показывающая итоговый эффект. Она как бы говорит нам: если все лошади будут тащить в одном направлении, можно будет передвинуть на другое место целый дом.

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

Это красивая картинка, и именно так я представлял себе опенсорс, пока не стал в нём участвовать. Все люди тащат проект в одном направлении, чтобы сделать энциклопедию, или операционную систему. Но, скажу я вам, это совсем не так, пока проект не вырос

Во-первых, размер стрелок. Распределение усилий в совместных проектах может разительно различаться. Когда проект только начинается, усилия зачастую распределяются примерно вот так:



Этап 1. График распределения усилий одного человека

Что это значит? Это значит, что один человек делает большую часть. С очень низкими частотными показателями (только один человек!). Очень много усилий, потому что этот человек занимается всем кодингом, заставляет работать сайт, отвечает на почту, борется с вражескими проектами с тупыми идеями, придумывает, как сделать лучше, и всё такое. Это — самая критическая фаза жизни проектов, и именно поэтому множество проектов является синонимом человека, их начавшего. Или как минимум мифа о том, кто его начал, ведь успешные проекты притягивают людей, которые хотят, чтобы считалось, что всё идёт хорошо благодаря им. Linux, Линус. Wikipedia, Джимбо Уэйлс. Mono.NET, Мигель де Иказа. Debian, Ян Мердок.

Существуют тысячи маленьких проектов, успешно ведомых их начинателями. Файловые утилиты, драйверы мышей, средства развёртывания, графические утилиты и так далее. Когда они вырастают, в большинстве случаев они сохраняют изначальных авторов, потому что иначе они, как правило, уходят в неадекват. Комитеты плохо приспособлены к ведению больших распределённых проектов, полагающихся на свободное время (!) людей. Великодушные диктаторы, как правило, работают хорошо, а когда не получатся — проект форкается или умирает, и расцветают сотни новых цветов.

Подумайте в этом контексте про Debian и Ubuntu. Если вы не знаете, что это, то это не важно.

Следующая стадия проекта во многом зависит от темперамента человека, его начавшего. Зачастую он не принимает новых идей, или занимается им только ради собственной известности (читай: денег). Или ему наскучивает, или он хотят управлять всем, или у него банально не хватает времени. Есть миллионы причин. Когда OpenStreetMap только начинался, существовало как минимум два подобных проекта, о которых я знал. Один из них — geowiki.com, начатый Ричардом Фэрхерстом (автор Potlatch — kom.) с друзьями. Это был (и есть) прекрасный сайт, вероятно, потребовавший кучу времени на то, чтобы быть сделанным, и не имел никакой связи с сообществом (рассылки и всё такое). Это привело к застою, потому что никто не мог принять участие и все данные, исходные тексты и инструментарий были закрыты.

Во-вторых, free-map.org.uk, которым по сей день занимается Ник Уайтлегг. Сайт сфокусирован на пешеходах. Здесь, в Англии, есть большое сообщество людей, которые ходят пешком, пользуясь правом прохода (которое зачастую пересекает частные земли). Free-map потворствовал этим людям и Ник потратил много сил на них, но в основном этим проектом так и заведует Ник, в связи с его узкой направленностью. У Ника есть тысячи хороших идей, но только Ник может воплотить их в жизнь. В свободное время.

Когда OSM только начинался, ему надо было преодолевать световые годы, чтобы дойти до уровня этих проектов; но, как и они, он по существу отверг гео-догмы. На сегодняшний день, Ник и Ричард — ключевые участники OpenStreetMap.

После самого первого разговора про OSM, была создана freemap. Она насаждалась сверху вниз, используя все самые последние стандарты и в общем, никуда не привела (за исключением благих намерений) — она концентрировалась на технологии, не на сообществе.
  • Сообщество — это всё. OSM никогда не стремился сделать карту. И даже не самую красивую карту. И не лучшую. И не самую быструю. Даже не карту, которая бы работала 3 часа из 24. Что он сделал (и делает) — упрощает создание карт как в социальном, так и в техническом отношении.
  • Вторым краеугольным камнем стал отказ от обычаев. Весь код открыт. Все данные открыты. Всё открыто настолько, насколько возможно, чтобы не разглашать тайны частной жизни.

Эти две вещи стали ключевыми, а также тем, что отделило OSM от других проектов. С ними запросто можно согласиться, и говорить и распространяться. Третий компонент таким не является.
  • Говорить могут только те, кто фактически что-то делает. Остальные могут убираться.

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

OSM, с другой стороны, — картонный космический корабль Базза Лайтеара. Он выглядит как космический корабль. Если его подбросить и покоситься на него пару секунд, то он типа как полетит. Он скреплен бечёвкой и клеем. Драндулет, короче. Но, с другой стороны, это сработало. Кто угодно может сделать вклад, кто угодно может получить данные. Это был единственный проект с простым API, к которому мог обратиться кто угодно.

Постоянно выдвигались предложения прикрепить к нему реактивные двигатели (это, кстати, обсуждалось и для «Спейс шаттла») или межгалактические искривители пространства. В большинстве своём этим людям было велено убираться, если только они не разработали, построили и прикрепили ракеты.

Почему такое жёсткое отношение? Потому что сделать что-то, похожее на OSM, сложно. Это требует любви, времени и внимания на протяжении длинных промежутков времени. Потому нервы могут шалить, когда космический кадет приземляется рядом с твоим картонным кораблём и говорит, что ты всё делаешь неправильно, потому что они что-то такое читали в книжке и там было написано не так. Если вокруг вас собралось трое космических кадетов, спорящих про три разных архитектуры подпространственных двигателей, сделайте парус и велите им всем убираться.

Вернёмся к стрелкам.

На этом этапе у проекта всё ещё есть лидер, но уже появляется множество пользователей и случайных людей, дописывающих значительное число кода. OSM в этом отношении слегка необычен, потому что пользователи для него в каком-то смысле значительно важнее программистов. Они — там, в воскресный дождь, бесплатно, рисуют какие-то ужасные домовладения. Без них у вас не было бы карты. С другой стороны, самая простая работоспособная штука подойдёт, пока у вас есть пользователи, рисующие карту.


Этап 2. Нерегулярное распределение усилий

Так мы приходим ко второму этапу. Основатель остаётся слева на графике, будучи человеком, тратящим на это много времени. Но появляется ещё и куча людей, делающих ключевые вещи. В случае с OSM ими стали человек по имени Imi, сделавший потрясающий редактор карт JOSM, человек по имени Энди, и некто по имени 80n (да, именно так), который нарисовал много подробностей и начал заниматься онтологией OSM. У него нет онтологии как таковой, поэтому примем пока это как метафору. Чем больше растёт частота, тем больше появляется людей, занимающихся мелочами. Рисующих пару улиц. Исправляющих странные ошибки. Делающих проект известным.

Заметьте, что площадь фигуры под графиком представляет собой, ориентировочно, объём работы, выполненный за единицу времени. Заметьте, что два правых прямоугольника в сумме имеют большую площадь, чем левый. В общем, они делают больше работы.

Есть и недостаток — процесс справа двигается рывками. Кто-то рисует целый город и исчезает. Кто-то делает целый комплекс для редактирования, а потом у него появляется девушка. Так что колонки двигаются в разные стороны со временем. Кто знает, что будет с проектом в следующий месяц?


Этап 3. Сглаживание графика Усилия/Частота

Постепенно, с приходом большого числа новых людей, распределение сглаживается.

Пусть и некорректно математически, зачастую этот график называют «длиннохвостым». Усилия нескольких индивидуумов, занимающихся постоянно, эквивалентны сумме тысяч людей, тратящих по минуте в день. OSM пока ещё не пришёл к этому состоянию, но подбирается ближе с каждым днём. Это приводит к особому набору длин стрелок — множеству коротких и нескольким большим.

Что там насчёт направления? Пересмотрев наши этапы, я думаю, первые два выглядят вот так:



Да, некоторые из стрелок ведут в обратную сторону.

Так что на первом этапе, у нас есть один основатель. На втором появляются люди, которые считают всю затею дурацкой, или начинают конкурирующие проекты — следовательно, указывают в другую сторону. Появляются люди с разными целями, фокусирующиеся на разных вещах — поэтому некоторые нарисованы под углом. Разного размера, потому что они вкладывают разные усилия.

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

Подробнее
Реклама

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

    +9
    OpenSource — истинно постмодернистская концепция. Да, это результат разнонаправленных усилий. Да, это организованный результат хаотичного процесса. В каком-то смысле, это самоорганизующаяся система.
      +3
      Как муравьи. Вроде хаос, а всё развивается…
      Только надо много муравьёв, а с этим у подавляющего большинства проектов туго.
      +4
      Sorry, может туплю, но не понял при чем тут слово «кошачье» в заголовке
      Google, Google, ты могуч :)))
      Herding cats — «A saying that refers to a task that is extremely difficult or impossible to do, due to one or more variables being in flux and uncontrollable»

      Теперь понятно, название очень даже в тему
        +3
        На самом деле с котами на OpenStreetMap связано намного больше всего, чем кажется.
        К примеру, forum.openstreetmap.org/viewtopic.php?id=5994
          +1
          Herding cats — «A saying that refers to a task that is extremely difficult or impossible to do, due to one or more variables being in flux and uncontrollable»
          Есть отличный рекламный ролик EDS, который обыгрывает эту идиому с пастухами кошек:
          www.youtube.com/watch?v=m_MaJDK3VNE

          Хотя мне больше нравится другой рекламный ролик EDS, про самолёт:
          www.youtube.com/watch?v=L2zqTYgcpfg

          P.S. Мне иногда кажется, что ролик про кошек символизирует хаотичную и трудно управляемую open-source разработку. А ролик про самолёт символизирует выпуск коммерческого проприетарного продукта: маркетинг требует запустить даже недоделанный продукт в релиз, чтобы первыми захватить рынок, а потом уже на ходу его доделывать и доволить до ума.
          +2
          Интересно, какую роль в значительном развитии OSM, особенно на первых этапах, сыграло чувство юмора Стива Коста… Мне кажется, что значительную.
            0
            Чувство юмора Стива — ничто по сравнению с самоиронией Ричарда. :)

            P.S. BAN POTLATCH!!!
            +3
            Я так понимаю, название явственно перекликается с этим:

            Дж. Рейнвотер. «Как пасти котэ котов»
            www.piter.com/book.phtml?978546900333

            Оффтопом: книга интересная, я пробовал читать, но кажется, еще не дорос :)
              +4
              Как пасти котов ещё знают ребята из HP :)
                +1
                Herding cats — английская идиома времён USENET. Ничего удивительного, что ей много кто пользуется :)
                0
                Что-то как-то мне сомнительно. Это в коммерческой разработке цель известна (т.к. обещана инвесторам и т.п.), и стрелки в итоге указывают в одну сторону. А в свободной коллективной разработке всегда имеют место разные взгляды, недаром существуют форки, параллельное развитие разных веток продукта.
                  0
                  Не всегда.

                  Они, в основном, существуют на втором этапе, когда проект ещё в стадии становления, и непонятно, надо ли делать так или иначе. Вот тогда и растут форки, завистники-конкуренты и тому подобное. Собственно, именно этим этапам статья и посвящена.

                  В конце концов, если проект всё-таки показывает свою жизнеспособность — появляется некий mainline, отклонения от которого незначительны, и ведут, в общем-то, к одной цели. Вот такая картина и изображена на самой верхней картинке. :)

                  +5
                  один я тут картинок не вижу?
                    +1
                    Они грузятся, просто о-о-чень медленно. Хабраэффект.
                      0
                      Хабраэффект, положивший мне весь канал на час.

                      Спасибо gislab за помощь в перехостинге. :)
                    0
                    Грамотные техзадания, видение конечного продукта, порядок — и хороший результат обеспечен.
                      +1
                      Грамотное ТЗ для добровольцев? Видение конечного продукта сообществом, состав которого постоянно меняется? Порядок среди «случайных» людей/идей?
                      Этот давняя формула успеха корпоративного «быта» плохо укладывается в рамки opensource разработки, в рамки открытой идеи. Это просто совсем другой способ.
                        0
                        Даже при работе добровольцев есть цели и есть возможность навести порядок.
                          +1
                          А вот нифига, если всё на самотёк пустить и пускать в проект вообще любые идеи, а потом по столет их обсуждать, то проект умрёт
                        +3
                        Believe me or not, but thats' I call a 100% pure rellally god damned good translation!
                        Well done!
                          0
                          напомнило книгу Пелевина «желтая стрела» ))
                            –1
                            прочитал название топика как «кошачье кладбище», сразу вспомнился С. Кинг с его «кладбищем домашних животных»(
                              0
                              Всё правильно, у любого проекта должен быть лидер, который не позволит всё превратить в басню Крылова.
                              Нужно и нечто вроде техзадания для тех, кто хочет помогать, нужно направлять их наконец в нужную сторону. Любой успешный проект имеет в своей основе некий стержень, направляющую силу, конкретного лидера! А иначе картинка будет представлять из себя набор стрелочек, которые имеют хаотичное направление.

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

                              Самое читаемое