Когда наш проект только зарождался, он базировался на гипотезе, что почти для любой библиотеки можно найти changelog, а если найти нельзя, то можно построить его из коммит-мессаджей. Но реальность оказалась не столь радужной, как нам того хотелось: то файл changelog в каком нибудь безобразном формате попадётся, то его перестали вести, а продукт меж тем развивается, то что нибудь ещё. И тогда мы поняли, что распарсить мир – мало, надо его менять.

Изменить что-то за один миг — необычайно сложная задача


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

Mr. Speaker

До появления нашего сервиса, сложно было сравнивать простой ChangeLog с блогом, поскольку не было способа подписаться на обновления. Ведь ссылку на rss фид блога можно закинуть в rss читалку, на соцпрофиль можно подписаться, зафолловив человека, а подписаться на изменения библиотеки было сложно.

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

GitHub, со своей стороны, тоже пытается дать разработчикам интерфейс для коммуникации, построенный вокруг репозиториев. Называется он GitHub Releases. Работает это примерно так: вы проставляете git тег с версией, затем, вместо того, чтобы дописывать ChangeLog, идете в интерфейс GitHub и дописываете там описание того, что же случилось за релиз. Ко всему этому можно приложить некие бинарные артефакты, например собранные под разные платформы. Для релизов, сделанных с помощью GitHub Releases генерится RSS фид, иного способа подписаться на новости проекта пока нет, за исключением сторонних сервисов вроде Sibbell или AllMyChanges. Правда, Sibbel работает только с GitHub Releases, а в AllMyChanges нет такого ограничения, он работает с любыми источниками.

Кстати, по нашим подсчетам, сервис релизов на гитхабе используют уже около 10% от всех проектов, что добавлены на AllMyChanges. Именно поэтому с недавних пор, мы поддержали GitHub Releases, как ещё один источник данных. Они поступают по той узкой трубе, что справа:

Window and ... pipes

Коммуникации это наше ваше всё


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

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

Итак, миссия AllMyChanges состоит в том, чтобы уменьшить количество парней которые пишут в своих release notes: "This update includes minor improvements" и отворачиваются к стенке, засыпая с чувством выполненного долга. Не будьте в их числе, рассказывайте своим пользователям о том, что происходит, рекомендуйте им подписываться на обновления ченьджлога на AllMyChanges.

Комментарии (0)