Как справиться с ростом проекта с открытым исходным кодом?

11

Я принимал участие в оказании поддержки проекту с открытым исходным кодом уже год или два, и этот проект приобрел большую популярность с тех пор, как я начал. Программа просматривает более 100 000 загрузок в неделю, и ее используют более 60% людей в своей основной области, поэтому мы, несомненно, рады, что людям так понравилось ее использовать.

Однако проблема заключается в том, что база разработки и поддержки выросла не так быстро, и мы начинаем испытывать некоторые трудности с ростом. Небольшая горстка разработчиков (в частности, основной разработчик) сильно растягивается, а добровольцы из службы технической поддержки начинают изматываться.

Пока что это всего лишь куча парней, болтающихся на IRC, пишущих эту программу и помогающих пользователям. Там нет 501 (с) (3) организации или LLC или что-то в этом роде.

В настоящее время у нас нет очень формальной системы отслеживания ошибок или базы данных проблем (у нас есть форум с категорией, посвященной сообщениям об ошибках), которую, я признаю, мы могли бы улучшить, чтобы привлечь больше разработчиков. Но я полагаю, что мой реальный вопрос в том, как сделать переход от маленького личного проекта к реальному ... предмету? Как великие парни, такие как GIMP, FFmpeg, Blender и т. Д., Справились с этим переходом?

И, кроме того, есть ли способ предложить компенсацию в рамках проекта FOSS? Я предполагаю, что пожертвования помогают, но это заходит так далеко ... кажется странным зарабатывать на жизнь свободным программным обеспечением, но если программа будет продолжать улучшаться, я не понимаю, как мы можем продолжать работать без компенсации людям на полный рабочий день.

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

Бен Торелл
источник
7
Перво-наперво, установите надлежащий трекер ошибок и запустите его, ни один открытый исходный код никогда не выживет, если только основная команда не очень хороша. Также убедитесь, что направление функций ясно и не распространяется на вас.
фрик с трещоткой
4
Если вы не возражаете, я спрашиваю, что это за проект?
Роберт Харви
2
Я не решаюсь назвать проект, отчасти потому, что это немного пугает, когда я иду туда и говорю людям: «Эй, мы не совсем уверены в том, что делаем, и нам нужна помощь!» Кроме того, я не хотел, чтобы эта публикация рекламировалась для помощи проекту. Я уверен, что какое-нибудь поверхностное интернет-расследование покажет это. : /
Бен Торелл

Ответы:

13

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

Вот некоторые предложения.

  • Прочитайте великую книгу Карла Фогеля « Создание программного обеспечения с открытым исходным кодом» . Он охватывает большинство основных неотложных вопросов. Хотя я не согласен со всем, что он говорит, это просто мнение. Он полностью понимает мир с открытым исходным кодом.

  • Как сказал @Ross Patterson, вы должны обязательно настроить трекер и список рассылки или что-то подобное, чтобы избежать полного хаоса. Что вы используете для контроля версий? Если вы находитесь на GitHub, вы можете начать с их трекера, или вы можете интегрироваться с Jira или чем-то подобным, или, если хотите, вы можете пойти на SourceForge и использовать их бесплатную инфраструктуру. Вы не говорите, откуда люди скачивают файлы, но вы хотите убедиться, что они настроены надежно и с хорошим подсчетом загрузок.

  • Нет никаких причин, по которым вы не можете зарабатывать на жизнь свободными программами, если это то, что вы хотите, многие люди делают это, но это принимает множество различных форм. Вам нужно решить, как вы хотите это сделать, прежде чем принимать важные организационные решения. Например, вы можете и, вероятно, должны создать корпорацию для хранения товарного знака и авторских прав, что также обеспечит некоторую правовую защиту, если она когда-либо понадобится. Однако тогда вам понадобится президент или казначей. Какая это организация (некоммерческая или коммерческая, ООО, кооператив, партнерство), действительно зависит от ваших целей и должна обсуждаться с хорошим юристом. Если вы получите одобрение Software Freedom Conservacy, они помогут вам разобраться в этом, а также помогут с вопросами бухгалтерского учета и налогообложения и так далее. Есть также несколько других инкубаторов FOSS, таких какПрограммное обеспечение в общественных интересах . Кроме того, я думаю, что Outercurve это возможность.

  • С точки зрения того, как вы зарабатываете на жизнь, это будет во многом зависеть от характера вашего проекта. По этой же причине я не сразу скажу, что вам нужен 501c3 (и вы можете его не получить ... см. Проект Yorba). Blender поддерживает себя в основном за счет продажи документации. У других проектов есть экосистемы малого бизнеса и / или консультации, окружающие их, и разработчики зарабатывают на этом жизнь. Другие проекты имеют модели двойного лицензирования, поэтому они продают поддерживаемые версии (именно поэтому MySQL сделал и почему это может быть продано Sun и, конечно, есть RedHat) и имеют отдельный выпуск для пользователей. Другие, такие как WordPress, имеют размещенную версию в качестве бизнес-модели. Таким образом, есть все виды вариантов, и вам нужно выяснить, что имеет смысл для вас и вашего сообщества.

  • Выберите кого-нибудь сейчас, чтобы он стал вашим менеджером сообщества, чтобы начать. И прочитайте книгу Джоно Бэкона после того, как закончите книгу Фогеля.

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

  • Не стесняйтесь говорить с другими проектами, которыми вы восхищаетесь или которые находятся в том же месте в этом отношении. Узнайте, что сработало и не сработало для них. Просто отправьте электронное письмо. Кроме того, вы можете пойти на некоторые общие мероприятия с открытым исходным кодом и просто поговорить с другими проектами. В целом люди из фосса очень полезны.

Удачи, это захватывающая вещь, чтобы быть на этом этапе.

Элин
источник
Благодаря! Код уже размещен на Github (где также размещаются релизы), но нам действительно не нравится система отслеживания ошибок Github ... один из ребят из команды имеет опыт работы с Mantis, поэтому я думаю, что мы собираемся использовать это. Я также слышал о дорожной карте ... по крайней мере, иметь общедоступную дорожную карту было бы просто, если бы отсылать пользователей, которые требуют определенных функций, поэтому мы можем сказать им, когда такие функции появятся по сравнению с другими функциями. Сегодня вечером я изучал Outercurve, и я тоже проверю другие, а также книги. Спасибо за поддержку!
Бен Торелл
1
@ BenTorell Я говорю всем, кто спрашивает: «Каждый баг-трекер отстой, единственный вопрос:« Какой из них отстой меньше всего в отношении ваших процессов? »».
Росс Паттерсон
Росс совершенно прав. Мне действительно не нравится трекер Github по ряду причин, но особенно из-за отсутствия реального ACL. Я согласен найти тот, который соответствует вашим процессам. Многие трекеры не работают так хорошо для проектов, ориентированных на волонтеров, потому что они делают всевозможные предположения, которые имеют смысл в коммерческих условиях, даже в словаре, который они используют. Конечно, говорить о том, что ваши процессы на самом деле является хорошим упражнением. Не пытайтесь использовать трекер для внесения нереальных изменений в ваши процессы. Все просто по-другому, когда все добровольцы.
Элин
3

Действительно большие мальчики созданы все механизмы , вы знаете , о - они работают крупные фермы серверов, они работают (иногда пишет) трекеры ошибок и система сборки, и т.д. Они часто имеют 501 (с) 3 основания , которые владеют авторскими правами, и т.д. Они получать большие корпоративные пожертвования, а компании предоставляют им разработчиков и т. д. Вы знаете, БОЛЬШИЕ вещи.

Не очень большие мальчики получают большую помощь из других мест. Freedom Conservancy Software , например, поможет умеренно крупные проекты получают свои правовые основы права, и содействовать пожертвования. В настоящее время существует множество вариантов хостинга кода и отслеживания ошибок - черт, любой может получить сайт GitHub. И вы обнаружите, что многие малые и средние компании-разработчики программного обеспечения будут жертвовать лицензии на свои проприетарные продукты для поддержки организованных проектов с открытым исходным кодом, особенно когда они каким-то образом согласуются с их бизнесом.

Росс Паттерсон
источник
3
Я не пытаюсь быть педантичным, и я на 100% уверен, что вы не имели в виду это негативно, но на самом деле это не помогает расширять участие в открытом исходном коде, чтобы ссылаться на вовлеченных людей как на мальчиков. Просто кое что для раздумий; Я знаю, что это фраза, которую используют люди.
Элин
@Elin Просто отвечая на вопрос: «Как великие ребята, такие как GIMP, FFmpeg, Blender и т. Д., Справились с этим переходом?»
Росс Паттерсон
Да, и +1 в комментарии - нам, ребята, нужно время от времени напоминать. Этот бизнес слишком ориентирован на мужчин.
Росс Паттерсон
Спасибо, и да, я не заметил эту ссылку в оригинальном сообщении.
Элин
Да, я просто использовал слова «большие мальчики» в качестве фразы: я думаю, я не думал об этом таким образом, но я могу показаться, что вы имеете в виду. Спасибо за совет! Моя главная задача сейчас - найти реальный инструмент отслеживания проблем, который участники могут просмотреть, и, надеюсь, выбрать проблему, которую можно решить (сейчас все, что у нас есть - это грязная доска Trello). Как я сказал @Elin, я склоняюсь к Mantis вместо системы выпуска Github. Я полагаю, нам просто нужно что-то на этом этапе
Бен Торелл