Дисклеймер: В этой статье рассматриваются важнейшие вопросы, связанные с разработкой свободного ПО в контексте неоплачиваемого труда и соответствующих требований по найму сотрудников на такие проекты. Статья не критикует свободное ПО как таковое или людей, участвующих в его разработке. Ведь их работа приносит пользу любому пользователю программного обеспечения.
tl;dr: Я хотел бы, чтобы труд всех разработчиков свободных проектов достойно вознаграждался. Я бы не хотел, чтобы программистов принуждали к участию в разработке свободного ПО. Кроме того, я бы не хотел, чтобы останавливались проекты, связанные с разработкой бесплатных программ и программ с открытым исходным кодом.
За последние несколько недель мне не раз приходилось беседовать со знакомыми на тему, вынесенную в заглавие этой статьи. Мы спорили в твиттере, в блогах и в личных беседах. Накопилось так много информации, что я решил собрать ее всю в одной статье и обрисовать более широкий контекст, помогающий понять, как из-за неоплачиваемой работы на свободных проектах возникает и развивается неравенство.
Итак, все началось несколько недель назад, когда @mislav подкинул мне следующий твит:
Крис Андерсон: совет по найму программистов: отказывайте всем, у кого нет профиля на GitHub (а если профиль есть, то чем он активнее – тем лучше). Согласны?
А несколько позже @dhh упомянул в своем твиттере один глубокомысленный пост на эту тему:
Алекс Гейнор: Вау. Подписываюсь под каждым словом @dhh на тему свободного ПО и вознаграждения: http://david.heinemeierhansson.com/2013/the-perils-of-mixing-open-source-and-money.html. Кроме того, всем рекомендую для прочтения "Punished by Rewards"
Настоятельно рекомендую ознакомиться с обоими твитами и дискуссиями, которые возникли на их основе, а также проштудировать вышеуказанный пост @dhh. Так вы лучше поймете идеи, о которых я здесь рассуждаю. Я постараюсь доказать, что всеобщее убеждение о том, что работа над свободным ПО должна быть бесплатной взращивается прямо в сообществе таких разработчиков.
Почему настойчивые требования участвовать в разработке свободного ПО могут быть вредными?
Демография разработчиков свободного ПО
Итак, чтобы прийти к общему видению ситуации, зададимся вопросом: как выглядит аудитория, занимающаяся разработкой свободного ПО. Кто-то потрудился сделать удобную подборку наиболее активных пользователей GitHub по состоянию с ноября 2012 по ноябрь 2013 (спасибо @clermont за ссылку). Бегло просмотрев этот список, убеждаемся, что абсолютное большинство упомянутых в нем людей – белые мужчины*.
Около 1,5% активных участников свободного ПО и ПО с открытым кодом – девушки. Здесь следует отметить, что доля представительниц прекрасного пола в компаниях, занятых разработкой проприетарного ПО, гораздо выше – около 28%. Мне совершенно не удалось отыскать подобные статистические исследования по другим группам.
Статистически следовало бы ожидать, что демографическая разбивка аудитории, эпизодически занятой в свободных проектах, должна была бы полностью соответствовать аналогичной разбивке постоянных участников таких проектов, однако такой корреляции не наблюдается. Достаточно красноречива разница в количестве девушек в первой и второй категории: тогда как в ИТ в целом они составляют около 24%, среди разработчиков свободного ПО представительницы прекрасного пола составляют всего 1,5%.
Немного о меритократии
Мы не уловим многих важных деталей, если не остановимся на неявных убеждениях, связанных с меритократией и особенно распространенных в сообществах свободных разработчиков. Эти убеждения особенно тесно связаны с участием в работе GitHub.
Меритократия – это убеждение, согласно которому руководящие посты должны занимать наиболее способные люди. Им должны предоставляться более широкие возможности и более высокая оплата.
Мы ценим идею меритократии, и зачастую профессиональные достоинства человека оцениваются по его участию в разработке свободного ПО. Принято считать, что специалисты, чей вклад в такую разработку наиболее велик, отличаются наибольшим профессионализмом и заслуживают максимального вознаграждения. Те же, кто не так активно занимается открытыми проектами или вообще ими пренебрегает, считаются посредственными сотрудниками. При этом совершенно игнорируется то, что у они получают меньше возможностей для профессионального роста, времени и денег – тогда как при наличии всего этого они могли бы высвободить время на участие в свободных проектах.
Поскольку люди, которым приписывается такая мнимая меритократия, существуют не в вакууме, давайте рассмотрим, как их действия отражаются на коллегах. Меритократия выстраивает среди людей иерархию. Некоторые из тех, кто уже занимает ведущие позиции либо, по крайней мере, пытается подняться по этой лестнице выше определенного круга коллег, злоупотребляют приобретенными полномочиями. Заполучив власть, они давят на коллег, унижают их, а также прямо или косвенно оскорбляют их иными способами – например, проявляют сексизм. Создается враждебная и неблагодарная атмосфера, отпугивающая талантливых людей от участия в свободных сообществах. Несомненно, что при отсутствии этих социальных пороков такие люди могли бы найти свое место в системе и оказаться весьма полезными.
Многие принимают идею меритократии близко к сердцу. Я верю в их добрые побуждения, но такие люди зачастую не улавливают полную картину происходящего. Все мы хотим работать в системе, где наш вклад вознаграждался бы по достоинству. В частности, общественная несправедливость направлена на конкретные группы наших коллег, особенно на гиков. Эти люди профессионально складываются в атмосфере наездов, преследования и игнорирования. Мы стремимся работать в такой среде, где все эти негативные факторы будут сведены к нулю. В результате всех этих процессов наше сообщество стало микроскопической копией всего современного социума.
Идея меритократии предполагает, что все начинают и продолжают работать, располагая таким же доступом к общим возможностям, ресурсам, как и все коллеги. К сожалению, на практике все совсем не так. Здесь мы описали только романтизированный идеал. Веря в этот идеал, мы в лучшем случае игнорируем, а в худшем – просто отвергаем опыт всех, кто не входит в нашу группу. Демографические показатели свидетельствуют, что одни категории специалистов имеют огромную фору по сравнению с другими, поэтому условия работы в данной сфере далеко не равнозначные для всех.
Почему в сфере разработки свободного ПО так не хватает кадрового разнообразия?
Затраты рабочего времени, неравенство оплаты труда и недостаточное количество вакансий, допускающих участие в свободных проектах в рабочее время
На участие в разработке свободного ПО требуется время – думаю, никто не будет с этим спорить. Нужно познакомиться с проектом, определить, каким его аспектом вы могли бы заняться, читать информацию о возникающих проблемах и отвечать на вопросы, тестировать и отправлять патчи, писать документацию – на все это нужно немало времени.
К счастью, многие компании допускают участие своих сотрудников в свободных проектах и в рабочее время, многие активные участники сообщества по разработке свободного ПО работают именно в таких компаниях. Такие меры призваны несколько сгладить описанную выше проблему. Однако наибольшей активностью в разработке свободного ПО отличаются представители всего 5-10 крупнейших компаний. Такие компании обладают максимально широким доступом к самым высококлассным специалистам, могут предложить им максимально выгодную компенсацию труда, предоставить возможности учиться и, в частности, заниматься разработкой свободного ПО.
Дискриминация женщин, участвующих в разработке свободного ПО
Дарт Мизандри: Я пользуюсь IRC каждый день. В этой статье подробно описаны причины, по которым я больше не появляюсь в онлайне под женским именем.
Я знаю многих женщин, которые не участвуют в разработке свободного ПО из-за отношения к ним как к слабому полу. Многие из них вынуждены доказывать собственную компетность гораздо более настойчиво именно по причинам, связанным с половой дискриминацией. Мне доводилось беседовать с девушками, которые заводят на GitHub аккаунты под «гендерно-нейтральными» именами, а также не ставят свою фотографию в аватарках, так как в противном случае рискуют очень быстро нарваться на такое отношение. Кроме того, имеют место сексуальное преследование, оскорбления и прочее неуважительное обращение, прямо или косвенно отталкивающее девушек и женщин от работы в сообществах свободного ПО.
Кроме того, существуют очень яркие примеры обращения с собеседником как с человеком заведомо мужского пола.
Поскольку здесь можно было бы привести множество подобных примеров, рекомендую почитать этот твит и развернувшуюся дискуссию. Она вполне объясняет, почему многие люди считают участие в разработке свободного ПО небезопасным делом.
Никого ведь не заставляют участвовать в таких проектах
Джеффри Ван дер Гоот: @asheryden, а тебе не кажется странным, что участие в сторонних проектах иногда расценивается как одно из основных требований к кандидату на ту или иную вакансию?
На первый взгляд это кажется бесспорным, но на самом деле все не так просто. Во многих компаниях участие в открытых проектах считается обязательным условием профпригодности кандидата.
Если суждение о профессиональных навыках того или иного программиста полностью основывается на качестве его кода, имеющегося в открытом доступе, то компания упускает многих ценных сотрудников. В частности, многие специалисты не могут выкладывать свой код в Интернете по причинам, связанным с лицензированием и с проблемами безопасности. Наконец, многие программисты подолгу остаются фрилансерами и работают по договору подряда. В их договорах могут быть предусмотрены юридические запреты на разглашение информации о работе на том или ином проекте (типичный пример – соглашение о неразглашении).
Дэвид Фрей: @asheryden, здесь стоит вспомнить о таких рабочих местах, где требуется официально оформлять переуступку изобретений. Это правило отбивает тягу к внедрению инноваций в нерабочее время.
В нашей индустрии как нигде важно найти самых талантливых знатоков своего дела. Зачем же искусственно ограничивать пул кандидатов?
Разработка свободного ПО – это своего рода призвание или даже игра
Бетси: 1. как бы ни назывались виды деятельности, на которые тратится свободное время – «работа» или «игра» – выделение времени на эту деятельность это уже дорогое удовольствие.
2. Если добровольная деятельность, на которую требуется тратить достаточно много времени, становится критерием при найме сотрудников – то это уже не игра, а работа
3. Поясню последний момент. «Решение о предложении вам этой вакансии принимается в зависимости от того, делаете ли вы это и это». Налицо мощный внешний мотиватор.
Многие люди занимаются разработкой свободного ПО в свободное время и делают это, в основном, из удовольствия. Конечно же, я не хотел бы лишить их этой части досуга. В конце концов, их работа приносит пользу всем нам. Однако стоит вам поговорить с любым энтузиастом, занятым поддержкой свободного проекта – и он вам поведает, какие огромные объемы работы при этом приходится выполнять. У вас есть клиенты со своими проблемами, вы обязаны их проблемы решать. Разрабатывать новые возможности. Все это не может не отбирать у вас массу времени.
Это работа, которая никак не компенсируется, даже если она воспринимается как игра.
Кому выгодна неоплачиваемая и низкооплачиваемая работа?
Возьмем Ruby on Rails. Более 3 000 специалистов потратили целые человеко-десятилетия, возможно, даже человеко-века, работая над этим фреймворком на голом энтузиазме. Если бы потребовалось выкупить эту работу по рыночным ценам, то ее стоимость составила бы сотни миллионов долларов. Кто мог бы позволить себе профинансировать такой проект? – Дэвид Хейнемейер Хэнссон, The Perils of Mixing Open Source and Money
Все мы
Не знаю, есть ли какой-либо простой способ определить, сколько именно работы вложено в создание свободного ПО, которым мы пользуемся ежедневно. Такие программы экономят нам не только время, но и довольно большие деньги. Мы работаем на стартапах, в консалтинговых организациях и на больших предприятиях. Наши работодатели платят нам зарплату так же потому, что многочисленные энтузиасты свободного ПО создают для нас удобные бесплатные инструменты практически без выгоды для себя.
Владельцы компаний и заинтересованные лица
Возьму на себя смелость утверждать, что наибольшую выгоду от разработок свободного ПО, от недоплачиваемой работы и «инженеров-маргиналов» получают владельцы компаний и их акционеры. Если бы за всю эту работу приходилось платить еще сотни миллионов или миллиарды долларов, то прибыли компаний значительно сократились бы. Отрасль высоких технологий относится к числу наиболее прибыльных, и, несомненно, в ней существуют возможности как минимум для поддержки справедливой оплаты труда.
Люди, занятые низкооплачиваемыми или неоплачиваемыми разработками ПО, инвестируют свое время в благосостояние компаний, получающих баснословные прибыли, но сравнительно мало интересуются финансовой поддержкой открытых проектов.
Вся наша профессиональная культура склоняет нас смириться с таким положением дел и не обращать внимания на то, как большие компании стремятся еще сильнее эксплуатировать нас. Когда коммерческая компания оценивает кандидатов на вакансию в зависимости от того, как активно они занимаются свободными разработками, менеджеры этих компаний вполне понимают, что смогут получить от сотрудника большую пользу за меньшие деньги. Некоторые кандидаты ни за что не бросят работу над свободным проектом, даже если придется уделять основной работе гораздо больше времени, так как этот проект – их страсть. Ситуация напоминает отказ платить компенсацию за овертаймы.
Открытое программное обеспечение было изначально призвано освободить нас от пут проприетарного ПО, в котором требовалось оплачивать каждую новую фичу, а возможности пользовательской настройки были весьма ограничены. Не вполне это понимая, мы вновь пришли к подобному сценарию. Сегодня мы тратим время на разработку бесплатного ПО, а пользуются им большие компании, извлекающие из наших усилий значительную прибыль.
Нас оценивают в зависимости от того, насколько мы способствуем развитию тех компаний, в которых мы не работаем. Хуже того, такая политика активно распространяется в нашем профессиональном сообществе.
Что делать?
Нам удавалось подыскивать компетентных программистов задолго до того, как в Интернете появились SourceForge и GitHub. У нас уже есть работоспособная модель для найма сотрудников, которая не связана с участием/неучастием в работе этих ресурсов, а также позволяет выбирать кадры из более широкого круга кандидатов. Нам, как владельцам компаний, возврат к этой старой модели пойдет только на пользу.
Просите показать образцы кода
Поскольку не все программисты обладают авторскими правами на свой код, а также не всегда могут публично заявить, что работали на том или ином проекте, далеко не каждый может выложить плоды своего труда на GitHub. Попросите показать небольшие фрагменты программ, над которыми им приходилось работать, поинтересуйтесь, как человек принимает решения, как бы он сейчас выполнил рефакторинг того кода, который написал некоторое время назад.
Двое собеседующих
В последнее время все более популярной становится следующая практика. Во время собеседования с вашей стороны участвует разработчик, хорошо знакомый с проектом, а также сотрудник с хорошими педагогическими способностями. Они обсуждают с кандидатом конкретную рабочую проблему. Обратите внимание на то, как кандидат рассуждает о проблеме, знакомится с новой для него базой кода, какие вопросы задает.
Не забывайте, что многие соискатели еще не сталкивались с такой практикой, поэтому могут воспринять ее настороженно – особенно если соискателю не чужд «синдром самозванца».
Предложите кандидату сначала поработать по договору подряда
Это мой любимый способ определения чьих-либо способностей. В таком случае отношения будущего сотрудника и работодателя сразу складываются гораздо конструктивнее.
Однако не забывайте: не всякий кандидат может позволить себе бросить старую работу, когда новую ему еще не предложили. Поэтому многим таким сотрудникам придется выполнять работу по договору подряда в свободное время. Поинтересуйтесь, сколько времени в неделю кандидат готов уделить на ваш проект, и, исходя из этого, устанавливайте дедлайн.
Бонусные очки
Пул кандидатов, на которых мы можем рассчитывать, гораздо меньше, чем многие полагают. Так, по состоянию на 2012 год, в сфере облачных вычислений существовал кадровый дефицит в размере 1,7 миллиона человек. Поэтому многие компании вынуждены работать в исключительно напряженном режиме. Неудивительно, что их сотрудники быстро переутомляются и страдают от выгорания. Идея сбалансированного соотношения работы и жизни в рамках компании – недостижимый идеал, поскольку толковых программистов катастрофически не хватает. Многие новые сотрудники переманиваются из компаний-конкурентов, а не набираются из числа безработных технарей. Таким образом, мы фактически участвуем в обмене одними и теми же немногочисленными кадрами.
Предоставляйте возможность стажировки в компании и оплачиваемой производственной практики
В Интернете описано множество моделей подобной стажировки. Кроме того, на эту тему написано немало книг, поэтому я не буду подробно останавливаться на этой проблеме.
Стажировка позволяет вам ввести перспективных новичков в курс дела самым непосредственным образом – они трудятся бок о бок со штатными сотрудниками. Наиболее очевидные достоинства этого подхода таковы:
- Кандидаты тренируются работать именно так, как принято работать в вашей компании. В случае с более опытным кандидатом ему пришлось бы многому переучиваться, избавляться от старых привычек.
- Вам удается более оперативно узнавать, в какой сфере кандидату недостает знаний, как заполнить эти пробелы. В противном случае пришлось бы нанимать человека с уже имеющимися пробелами, а об их наличии вы могли бы узнать, когда устранять такие пробелы уже слишком поздно.
- Стажировка – это модель вложения денег, времени и образования в собственного сотрудника. Вы можете вырастить сотрудника лояльным вашей компании, а также внедрить культуру умелого задавания вопросов и эффективного обмена знаниями.
- Если вы предоставляете возможность производственной практики, то такая практика должна оплачиваться. Я уже не говорю о том, что такая практика крайне выгодна для компании: 89% сотрудников, поступивших на работу в рамках производственной практики, остаются в этой компании не менее чем на год. Вложение средств в такую практику – грамотный бизнес-ход.
Мерлин: @asheryden, а что если привлекать потенциального кандидата к работе над свободным продуктом, который активно используется в вашей компании?
Сделайте участие в свободных проектах частью профессиональной культуры в вашей компании
Если ваш бизнес точно не обойдется без свободного ПО, а сама этика сообщества свободных разработчиков вам импонирует, постарайтесь предоставить сотрудникам возможность участвовать в таких проектах в рабочее время. Например, вознаграждайте регулярную отправку патчей для тех инструментов, которыми вы активно пользуетесь, участие в работе IRC, чтение рассылок, написание документации – любую работу в свободных проектах, к которой у человека лежит душа.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.