Почему многие программисты переносят свой код на github?

114

В течение последних 6 месяцев и более я видел много кодов, размещенных на sourceforge.net, а также на других хостинговых сайтах «Перейти на GitHub». Простой поиск Google с фразой «Перемещено в Github» возвращает несколько результатов, содержащих текст, перемещенный в Github. Это очень смущает меня, и мне интересно, почему именно люди двигаются? Значит ли это, что GitHub лучше или есть какое-то особое преимущество, которого я не вижу?

Чибуэзе Опата
источник
16
Я также добавил бы, что ни один сайт не облегчает взаимодействие с кодом сразу же, как github. Большинство сайтов скрывают исходный код за несколькими меню. Github также содержит ссылки практически на любые другие задачи, которые вы можете выполнить прямо в проекте дома, без всякой всякой ерунды повсюду (глядя на вашу sourceforge ).
Xeoncross
2
Мне было интересно то же самое, поэтому я пошел и подписался, и довольно скоро меня тоже продали. Я переключил все свои проекты, и все мои клиенты тоже были на борту.
лорддев
7
потому что github хорошее место, а git лучше чем cvs?
4
SourceForge начал добавлять рекламное ПО в бинарные выпуски своих разработчиков для Windows; один из распределительных серверов SF в Корее был взломан.
Охотник на оленей
1
Laucnpad - еще худший преступник в сокрытии источника. Что выделяется, так это некоторые "Серии и вехи" -> Магистраль -> "Код для этой серии: Следующая ветвь была зарегистрирована как основная ветвь для этой серии релизов: lp: ~ USER / PROJ / trunk" -> еще одна метаданная страница для сундука? где код? о да, -> "Просмотр кода" ... Собственно, теперь я наконец-то заметил, что на первой странице было "Просмотр кода". Но все эти одинаково, но тонко разные страницы метаданных сбивают с толку.
Бени Чернявский-Паскин

Ответы:

102

Это признак более широкого перехода к распределенным системам управления версиями .

Некоторые веб-сайты, на которых традиционно размещались нераспределенные VCS (например, Codeplex & SourceForge), немного медлительно добавляли поддержку DVCS (например, Git или Mercurial). Таким образом, люди, которые хотели использовать DVCS для своего проекта, были вынуждены перенести свои проекты на поставщиков, которые их поддерживали (например, Github или BitBucket). Github был одним из первых, кто предложил поддержку DVCS, и, естественно, многие люди перенесли туда свой код, чтобы воспользоваться им.

Эти другие веб-сайты только сейчас начинают догонять DVCS (например, Codeplex теперь поддерживает Mercurial & Git), но они все еще отстают в плане таких функций, как разветвление и отправка запросов на извлечение. Чтобы действительно использовать преимущества DVCS, Github и Bitbucket по-прежнему являются лучшими вариантами.

MattDavey
источник
46
Также обратите внимание, что набор функций GitHub быстро стал гораздо привлекательнее, чем любой другой хостинг DVCS (включая самос хостинг). Таким образом, часть ответа в том, что GitHub сексуален. :-)
Мартин Питерс
49
@MartijnPieters: ... за исключением бесплатного частного хостинга, который BitBucket предлагал целую вечность.
День
17
Другие сайты предлагают DVCS. В конкретном случае SourceForge, я просто думаю, что причина в том, что веб-сайт ужасен, не говоря уже о поддерживаемых системах контроля версий.
Конрад Рудольф
17
@ Да, я действительно не знаю, почему BitBucket не так популярен. Он имеет частный хостинг, и вы можете выбирать между Git или Mercurial (который мне больше нравится в Mercurial)
Earlz
11
Github и Bitbucket работают на двух разных бизнес-моделях. Github предлагает почти полный набор функций бесплатно и заставляет вас платить за частные репозитории (за исключением бесплатных бронзовых планов, которые он дает любому, имеющему адрес электронной почты .edu . Bitbucket предлагает как публичный, так и частный хостинг, но взимает плату за [надеюсь] производительность) - Увеличение дополнений. Если у вас нет причин скрывать свой код, Github кажется более логичной моделью. Я действительно думаю, что Bitbucket появится, хотя - мне, безусловно, нравится Sourcetree лучше, чем родной Git GUI Gitub (не то, чтобы я действительно использовать либо) ..
Дэвид Коуден
45

Хостинг проектов - это инфраструктура. Инфраструктура демонстрирует сетевые эффекты, а это значит, что инфраструктура становится более полезной, чем больше людей подключено к ней. (В частности, полезность - O (number_of_connections), что означает, что для любого отдельного члена это O (total_members), а для всей системы - O (total_members ^ 2)). Это, в свою очередь, приводит к эффекту, называемому естественной монополией, что означает, что для такой системы естественно, что выживет только один конкурент, поскольку полезность увеличивается, когда все используют одну и ту же систему.

Таким образом, имеет смысл присоединиться к лидеру рынка, который является GitHub. В GitHub больше репозиториев, больше пользователей, больше веток, больше ревизий, больше всего, чем в SourceForge, Google Code и CodePlex вместе взятых .

Интересный вопрос, конечно, если сетевые эффекты означают, что лидер рынка автоматически получает естественную монополию, как GitHub смог сломать SourceForge?

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

  • GitHub был первым, кто предложил хостинг Git с набором функций, сравнимым с набором SourceForge (или, по крайней мере, той частью SourceForge, которую использовало большинство людей)
  • GitHub был классным с точки зрения пользовательского интерфейса: стильный современный веб-интерфейс
  • GitHub был классным в технологическом отношении: Ruby on Rails, Sinatra, Erlang, node.js
  • GitHub был Web 2.0, с его акцентом на социальное кодирование и пользователей над проектами
Йорг Миттаг
источник
6
+1 за объяснение сетевых эффектов. Но я действительно думаю, что SourceForge был намного больше, чем Github, до внезапной безудержной миграции ... и вы почти
звучите
2
Кроме того, рассмотрим создание клиента GitHub для Windows - впервые, как разработчик Windows, я не чувствую себя гражданином второго сорта, когда речь заходит об использовании Git для контроля версий, и GitHub несет ответственность за это.
Carson63000
25

Я думаю, что одной из причин является разная аудитория: sourceforge в первую очередь предназначен для размещения приложений , вероятно, наиболее заметной особенностью страницы проекта является ссылка на скомпилированный исполняемый файл (или какую-либо другую загрузку). Другими словами, он нацелен на пользователей , а не разработчиков.

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

Я думаю, что это одна из причин, по которой ориентированные на разработчиков инструменты и библиотеки переходят на github.

svick
источник
15

Sourceforge также предлагает Git , но Github делает это лучше (пока).

  • Их система запросов по запросу работает хорошо (намного лучше, чем Gitorious, например)
  • Их недавно обновленное уведомление очень удобно.
  • Они показывают код сразу

Их убийственная особенность , на мой взгляд, это «Граф сети»:

введите описание изображения здесь

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

Николас Рауль
источник
10
+1 Мы все знаем, что в конечном итоге графики имеют значение.
Xeoncross
2
Это также фантастика для нахождения самой ухоженной ветки. Недавно мне пришлось выяснить, какой форк определенного репозитория действительно поддерживается (нетривиально, потому что более современные вилки еще не всплыли на вершину поиска Google).
beatgammit
1
также, похоже, github может показывать статистику клонов, хотя я не могу найти ни одного способа сделать это на sourceforge :(
Aquarius Power
11

GitHub прост, удобен в использовании, прост в освоении, мощен, выглядит великолепно и является версией Web 2.0.

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

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

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

Суман
источник
С помощью кода Google я могу отмечать проблемы, которые позволяют разработчикам знать, какие проблемы важны для сообщества, и помогают мне отслеживать прогресс. Github, похоже, имеет только анонимные подписчики, что может привести к спаму в комментариях (+1, я тоже и т. Д.). Это важно для популярных проектов с ограниченными ресурсами.
beatgammit
5

Вы также должны принять во внимание некоторые потрясающие функции, предлагаемые github, о которых я еще не упоминал.

  • страницы GitHub с уценкой GitHub
  • мобильное приложение github
  • Github Eclipse плагин
  • GitHub для Mac
  • рабочие места github
  • GitHub для Windows
  • GitHub билет / система отслеживания ошибок
  • GitHub Developer API, который позволяет бесшовной интеграции со сторонними
  • частые обновления / улучшения пользовательского интерфейса (вы можете буквально видеть изменения от одного дня к следующему, т.е. текстовое поле поиска теперь динамически расширяется по фокусу , часы становятся новой звездочкой и т. д.)
  • Github Gists (хорошо для служебных скриптов, коротких фрагментов кода и т. д.)
  • бесшовная интеграция с GitHub через концентратор

Другие сайты могут иметь эти функции, но я уверен, что ни один сайт не имеет их всех.

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

A-Dubb
источник
4

Еще одной причиной, которая может привлечь дополнительных разработчиков в GitHub, является то, что инструменты разработчика начинают использовать git, и платформы, такие как Eclipse, теперь имеют встроенную поддержку Git (применимо к пакетам для Java, разработчиков C ++ и т. Д.), Делая для загрузки проекта на GitHub требуется меньше шагов.

Джессика Браун
источник
1
Другая среда разработки, в которой добавлена ​​поддержка Git, - это Visual Studio версии 2013 и более поздних. См. Msdn.microsoft.com/en-us/library/hh850437.aspx для деталей
Бернард Вандер Бекен
-1

Честно говоря, самая важная вещь Git для меня, когда я ее вижу: 1. Сетевой график или я должен назвать историю (также комментирую) 2. Запрос ветвления и извлечения 3. Он более мощный, на самом деле, я бы сказал, что это так Чувствуется, что у меня есть секретарь, хранящий всю мою работу, и я могу сказать, что записал что-нибудь для меня, изменения, все! 4. Откатить легко

Просто это. Чувствует себя сексуально, используя его

Беньямин Лиманто
источник
эээ, почему я опустился ниже?
Беньямин Лиманто
Хотя я думаю, что у вас были добрые намерения, чтобы ответить на вопрос, я не думаю, что ваш ответ много добавляет к ответу, о котором просил ФП. Это звучит как ваш ответ на вопрос «Почему программисты переносят свой код на github?» это "потому что мне это нравится". Другие ответы здесь, вероятно, лучше, и поэтому кто-то отрицает.
Фрэнк Брайс