GitHub, Glitch и будущее социального кодинга

Dmitry Kulbeda
NOP::Nuances of Programming
6 min readJun 8, 2018

Перевод статьи Anil Dash: GitHub, Glitch and the Future of Social Coding

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

GitHub + Microsoft = Неплохо 👍

Давайте сформулируем мысль чётко: “Покупка Microsoft GutHub, скорее всего, хорошая новость для разработчиков”. Нет лучшего доказательства того, насколько сильно оживилась Microsoft под лидерством Сатья Наделла, чем это. Это казалось чем-то невероятным и невозможным в прошлом. Старожилы могут помнить, что Microsoft чаще описывали как Империю Зла, но их попытки охватить платформы с открытым исходным кодом, а также не-Windows платформы, казались вполне искренними и мы рады, что эта цель процветает.

Аналогичным образом, GitHub заработал свое место в качестве незаменимой платформы для разработчиков, пробив себе почву в качестве первого крупномасштабного проекта для социального кодинга почти 10 лет тому назад. Получить сильное лидерство со стороны Microsoft может пойти только на пользу, особенно для разработчиков использующих платформы Microsoft.

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

(Спойлеры: Если вы используете Glitch, то у вас уже есть представление о том, куда мы направляемся. Если же нет, то здесь вы можете почитать о том, как импортировать ваш GitHub репозиторий в Glitch. Если у вас есть приложение по типу блокнота, которое вы сделали или хотели бы использовать, то можете начать с этого).

Десятилетие на построение лучшей системы контроля версий ⏪

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

Также мы точнее узнали, какие части типичных commit-pull запросов в рабочем процессе всё ещё были слишком сложными и запутанными для понимания.

Используя знания, которые мы получили, а также отзывы, которые мы получили от сообщества разработчиков, мы начали переосмысливать предположения о рабочем процессе и взаимодействии разработчиков, которые все принимали как должное в системах контроля версий. Затем, позднее в том же году, мы выпустили Glitch из беты с совершенно новым подходом к системе контроля версий и назвали это Glitch Rewind. Начинка использует всё тот же git, но возможности пользователя сделали скачок вперёд.

Перемотка commit’ов кода в Glitch

Glitch Rewind и переосмысление социального кодинга 💡

Glitch делает несколько вещей, которые никто не реализовал до этого:

  • Пока вы работаете, Glitch автоматически на фоне делает commit для внесённых вами изменений в вашем git-репозитории, даже если одновременно с одним файлом работает несколько людей. Представьте если бы обычный commit-процесс был бы таким же простым, как и многопользовательский, как и редактирование в Google Docs. Даже не разработчики могут делать это мгновенно.
  • Glitch Rewind позволяет вам откатить commit’ы вашего проекта простым движением слайдера, словно вы перематываете видео. Если вы хотите работать со старой версий, то просто нажмите Play и продолжайте работать. Вы получите предварительный просмотр в тот же момент, когда передвинули шкалу времени. Любой, кто может запустить видео на YouTube, теперь может и откатить изменения в git. Даже если вы действительно знаете что писать в командную строку git, вы предпочтёте работать таким образом большую часть времени.
  • Но внутри это всё ещё простой git. Это означает, что ваши инструменты, процессы, рабочие процессы, интеграции и автоматизации можно беспрепятственно переместить в проекты на Glitch.
  • Мы работает на возможностью Glitch’s “remix”, которая позволит вам делать клон работающего кода, а также делать слияние изменений из “ремиксов” также просто, как перематывание commit’ов сегодня.
  • Страницы проектов Glitch и профили пользователей — это проекты с открытым исходным кодом, расположенные на самом Glitch. Это значит, что если вы хотите, чтобы возможности сообщества и возможности социальной сети на Glitch эволюционировали, то вы можете сделать это сами и стать частью нового сообщества.
  • Бизнес-инструменты, которые вы используете для взаимодействия в коде, должны быть бесшовно подключенной частью большей сети, в которой все вместе пишут код. Glitch для команд предоставляет для работы все возможности взаимодействий Glitch, но без всех тех сложностей, которые возникают во время процесса закупки предприятия.
  • Также Glitch пытается стать лучшим и разносторонним сообществом, которое предоставляет всё: от дружелюбного и доступного дизайна до встроенных инструментов управления кодексами поведения и лицензирования. Также у нас имеется уникальная возможность Glitch-поддержки — если вы застряли где-то во время кодинга на Glitch, то можете просто поднять руку для того, чтобы попросить помощи!

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

Что насчёт других инструментов? 🤔

Скептики среди вас, наверное, думают: “Ну, это всё конечно хорошо, но у нас уже есть альтернативы в виде GitLab или BitBucket, почему бы нам просто не использовать их?”. И мы не будем отрицать, что эти инструменты хорошие. Но они делают всё те же самые фундаментальные предположения о рабочем процессе, что и старое поколение инструментов. Точно также опирались и наши собственные.

Теперь мы считаем, что эти предположения не стараются должным образом. Это то место, где мы хотим поднять планку:

  • Основным блоком для постройки социального кодинга должно быть приложение, а не commit. Стандартным положением проекта должно быть функциональное, работающее приложение, сайт или бот, а не кусок кода, с которым ещё нужно повозиться, чтобы заставить работать. (“Начните с чего-то, что работает.”)
  • Креативность поощряется, так как каждый может сделать изменения для кода и пробовать новые вещи без страха, так как есть возможность отменить любое изменение.
  • Каждый член вашей команды должен иметь возможность commit’ить проект, даже если он ни разу не кодил до этого, не знает что такое git или даже не слышал об этом.
  • Даже опытные разработчики не должны запоминать все непонятные команды для командной строки, даже если это простая отмена commit’а. Совсем немногие разработчики чувствуют себя уверенно в своих возможностях в использовании git, несмотря на то, что почти все должны с ним работать. Это несоответствие помогает сделать кодинг более стрессовым, менее обширным и менее весёлым.
  • Социальная сеть, где мы показываем свой код должна быть такой же прекрасной, как и та, где мы находим прекрасные фото, видео или музыку.
  • Платформа сообщества, которую кодеры используют для того, чтобы поделиться своими работами, должна быть с открытым исходным кодом, чтобы мы все могли поучаствовать в её улучшении. Бизнес-модель, стоящая за сообществом кодеров, должна быть прозрачной и устойчивой, чтобы мы могли ей доверять. А компания, стоящая за сообществом кодеров, должна быть надежной и иметь список достижений, которому мы можем доверять.

И это далеко не всё. Мы написали целый список принципов Glitch. Посмотрите его при желании. Но главная мысль остаётся простой: GitHub кардинально изменил кодинг в течение последних 10 лет и мы все должны отпраздновать этот этап для Microsoft и для сообщества. Это подтверждение важной идеи: мы не кодим в одиночку.

Настало время спросить себя, как мы можем улучшить наш опыт во время работы с git. Можем ли мы проявлять больше коммуникабельности и построить полноценное сообщество вокруг кодинга?

Это то, что из себя представляет Glitch. Ждём не дождёмся, чтобы увидеть, что вы создадите!

--

--