Создайте проект с открытым исходным кодом, получивший 10 000 звезд ⭐

внешний интерфейс открытый источник
Создайте проект с открытым исходным кодом, получивший 10 000 звезд ⭐

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

Итак, как проекты с открытым исходным кодом могут получить больше звезд? Вот краткий отчет о моем уходе за это времяDay.jsНекоторые уроки, извлеченные во время проекта, чтобы поговорить о том, как улучшить и продвигать ваш проект с открытым исходным кодом.

Нацельтесь на болевые точки пользователей

Контент сообщества с открытым исходным кодом является всеобъемлющим, организация сбора заметок Markdown, создание корзины семейства фреймворков, классные анимационные эффекты и различные библиотеки инструментов, фреймворки и т. д. - все это хорошие направления с открытым исходным кодом, но учитывая функция проекта, аудитория, язык разработки и другие факторы, различные типы проектов сложны в реализации, и степень принятия сообществом также сильно различается. Но если проект может решить болевые точки разработчиков и предоставить отличные решения, он может привлечь больше внимания. Энергия человека всегда ограничена.Только когда больше людей присоединяются, используют, отзываются, повторяют и продвигают, может сформироваться благотворный круг проектов с открытым исходным кодом.

Например, я обнаружил в своей работе, что Moment.js может легко обрабатывать дату и время, но размер пакета этой библиотеки слишком велик, и если я захочу перейти на несколько других облегченных библиотек времени в сообществе, это увеличит новые затраты на обучение и миграцию. Таким образом, цель разработки Day.js — сделать более легкую библиотеку времени и даты с тем же дизайном API, что и у Moment.js.

Выберите протокол с открытым исходным кодом

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

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

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

Запись о представлении спецификации

Необходимо использовать стандартизированную запись фиксации Git, которая не только позволяет участникам многопользовательской разработки лучше понять историю итераций и ход проекта, но также позволяет им быстро найти и найти запись фиксации проблемного код при возникновении проблемы. В то же время мы также можем использовать инструмент для автоматического создания описания обновления (CHANGELOG) на основе записи отправки, что удобно для пользователей, чтобы понять конкретное содержание каждого обновления, а также избавляет сопровождающих проекта от боли ручное обновление. В настоящее время спецификация отправки Git Commit, которая широко используется в сообществе интерфейсов, — это спецификация Angular (Git Commit Message Conventions), формат Commit включает три части: заголовок, тело и нижний колонтитул:

<type>(<scope>): <subject>

<body>

<footer>

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

  • использоватьcommitizenВыполните интерактивное заполнение Commit, как показано на рисунке ниже, просто следуйте подсказкам, чтобы выбрать обновленный тип и заполнить необходимую информацию, чтобы автоматически сгенерировать запись отправки, соответствующую спецификации;
  • использовать@semantic-release/changelogАвтоматически генерировать CHANGELOG в соответствии с типом в Commit;

Семантический номер версии

Каждое сообщество имеет свою спецификацию номера версии.Вы не должны заполнять номер версии так, как вам нравится, потому что это ваш собственный проект с открытым исходным кодом, иначе это может принести ненужные проблемы (цвет) пользователям (яйцо). Большинство пакетов в экосистеме NPM используют семантические номера версий (Semantic Versioning), то есть номер версии имеет форму a.b.c, где a — основной номер версии, b — дополнительный номер версии, а c — номер редакции.

Если проект с открытым исходным кодом зафиксировал коммиты, как описано выше, вы можете использоватьsemantic-releaseЧтобы добиться автоматического обновления номера версии и выпуска, этот инструмент будет оценивать разницу в сообщении фиксации, fix увеличивает номер версии, feat увеличивает дополнительный номер версии, а фиксации, содержащие BREAKING CHANGE, увеличивают основной номер версии.

Продвижение и анализ

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

В процессе продвижения Day.js я буду представлять характеристики своего проекта под твитами воротил Твиттера, жалующихся на функцию Date и библиотеку Moment.js, и надеюсь, они смогут ее опробовать (но будьте вежливы и сильно не пиаритесь) жестко). Звезда или твит поддержки от знаменитости сообщества могут быстро распространиться по социальным сетям, принося огромный трафик и повышенное внимание к проекту.

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

какnpmjs.comЛинейный график, показывающий изменения в загрузках для анализа того, как проект используется и на него полагаются.bestofjs.orgЦветная блок-схема календаря, показывающая изменение количества звезд проекта. Чем темнее сетка, тем быстрее приращение. Темные блоки на рисунке ниже — это успешное продвижение проекта несколько раз, причем некоторые продвижения не принесли большого роста, поэтому необходимо обобщать опыт и совершенствовать методы.

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

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

PS Если вы любите интерфейс и открытый исходный код, добро пожаловать в нашу команду.Вот библиотека пользовательского интерфейса с открытым исходным кодом интернет-знаменитости Element, которая берет на себя систему выпуска 98% интерфейсных проектов компании, статический ресурс платформа управления, которая лучше, чем jsdeliver, и более интересные проекты ждут вас. пожалуйста, свяжитесь сkun.zhu@ele.me, вы голодны? С вами передняя часть более захватывающая.