Ищу советы для принятия проекта с открытым исходным кодом
В настоящее время у меня есть несколько приложений с закрытым исходным кодом, которые я разработал для изучения конкретной технологии или экспериментов с техникой программирования. В результате у меня есть программное обеспечение, которое полезно для других и которое я сделал доступным бесплатно, но в формате с закрытым исходным кодом.
Некоторые из пользователей программного обеспечения спросили, хочу ли я использовать программное обеспечение с открытым исходным кодом, чтобы они могли внести в него свой вклад. Я за это, но у меня не было опыта работы над проектами с открытым исходным кодом, а тем более начинал.
В идеале я бы намочил ноги, внеся свой вклад в уже существующий проект, но я не хочу успокаивать энтузиазм этих добровольцев, задерживая слишком долго. Так что я собираюсь двигаться вперед вслепую.
То, что я ищу, - это ускоренный курс по управлению проектом с открытым исходным кодом для кого-то, кто только начинает этот путь.
Итак, позвольте мне сформулировать это как вопрос:
Какой совет вы бы дали кому-то, начинающему свой первый проект с открытым исходным кодом?
Мне также интересны рекомендации для книг / ссылок, которые, по вашему мнению, будут полезны
7 ответов
У вас есть два важных выбора на начальном этапе.
Во-первых, какую лицензию вы должны использовать? Существуют десятки лицензий с открытым исходным кодом, но в основном все сводится к тому, хотите ли вы использовать авторский лев (GPL/AGPL) или не авторский лев (BSD, MIT, Apache), и это зависит от ваших собственных целей.
Во-вторых, вам нужно выбрать систему контроля версий и, если вы сами не будете ее размещать, провайдером. Это фактически выбор между Subversion или одной из распределенных систем контроля версий (Git, Mercurial, Bazaar и т. Д.). DVCS может упростить вам управление вкладами других людей, если вы не хотите предоставлять им доступ для записи в ваш главный репозиторий.
Выбор VCS будет влиять на ваш выбор хоста и наоборот, так как большинство провайдеров предлагают только одну VCS. Поставщик, который также будет размещать веб-сайт и / или вики для вас, был бы идеальным. Большинство из них предоставят какой-то элементарный трекер и, возможно, списки рассылки. Вы также можете получить списки рассылки от Librelist.
Я бы порекомендовал вам взглянуть на GitHub или Launchpad. Я не особо заинтересован в Google Code или Sourceforge. Ничего против Subversion, мне просто не нравятся их интерфейсы.
Если вы хотите, чтобы ваш проект стал популярным, а это, возможно, не важно для вас, вам придется продвигать его. Вы можете зарегистрировать его в Ohloh и Freshmeat. Написание статей в блогах о вашем проекте и размещение их на сайтах, таких как Reddit и DZone, увеличит видимость. Помните также, что Джефф предлагает бесплатную рекламу в Stackru для проектов с открытым исходным кодом.
В любом случае, если у вас есть общедоступный репозиторий и веб-сайт для людей, с которых можно загрузить программное обеспечение, просто напишите код, а остальное последует.
Если вы уже знакомы с VCS (системой контроля версий), все будет в порядке. Я рекомендую www.github.org для размещения репозитория и, возможно, в какой-то момент веб-сайт, чтобы поговорить о приложении. Github хорош тем, что людям особенно легко вносить код. Это смехотворно просто, хотя у git есть немного кривой обучения.
А потом, способ общения! Список рассылки.. Может быть, GoogleWave.. Может быть, форум.
Не пропустите отличную электронную книгу от Карла Фогеля " Создание программного обеспечения с открытым исходным кодом", доступную бесплатно в Интернете.
У меня нет личных советов, но я нашел следующее видео очень интересным. Это воспоминания об опыте некоторых сотрудников Google и уроках, которые они извлекли при управлении своими проектами с открытым исходным кодом.
Как проекты с открытым исходным кодом выживают ядовитых людей (и вы тоже можете) https://www.youtube.com/watch?v=Q52kFL8zVoM
Прочитайте эту книгу: Викиномика
Например, в одной из глав автор объясняет проблемы, с которыми столкнулся IBM, когда они впервые присоединились к проектам с открытым исходным кодом в Linux.
Минимум, который вам нужно сделать, это опубликовать код в виде почтового индекса с подходящим файлом лицензии. Вы можете сделать это в Google Code - им действительно легко пользоваться. Что касается какой лицензии, начните с неограниченной лицензии, такой как MIT (у Google Code есть все тексты лицензий) - вы всегда можете повторно лицензировать позже, если вы не приняли никаких обновлений.
Что касается книг / ссылок, взгляните на создание программного обеспечения с открытым исходным кодом - оно не идеально, но я не знаю ничего лучше.
Некоторые сайты репозитория кода выполняют большую часть работы по управлению для вас. Они предоставляют лицензии, обрабатывают версии (в некоторых случаях) и, очевидно, обрабатывают репозиторий.
посмотрите на эти сайты: