Чому багато програмістів переміщують свій код до github?


114

Протягом останніх 6 місяців і більше я бачив багато кодів, розміщених на sourceforge.net, а також на інших хостинг-сайтах "Переміститися до GitHub". Простий пошук Google із фразою "Переміщено в Github" повертає кілька результатів, що містять текст, переміщений до github. Це дуже бентежить мене, і мені цікаво, чому саме люди рухаються? Це означає, що GitHub кращий чи є якась особлива перевага, яку я не бачу?


16
Я також додам, що жоден сайт не спрощує взаємодію з кодом відразу, ніж github. Більшість сайтів приховують вихідний код за кількома меню. Github також містить посилання на будь-яке інше завдання, яке ви могли б знайти там, де немає проекту, без всякого сміття скрізь (дивлячись на вас, джерело джерела ).
Xeoncross

2
Мені було цікаво те саме, тому я пішов і підписався, і досить скоро мене теж продали. Я переключив усі свої проекти, а також усіх своїх клієнтів.
lorddev

7
бо github - це приємне місце, а git - кращий за рейтинг?

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 - це все-таки найкращі варіанти.


46
Також зауважте, що набір функцій GitHub швидко став набагато привабливішим, ніж будь-який інший хостинг DVCS, що пропонується (включаючи самостійний хостинг). Отже, частина відповіді полягає в тому, що GitHub сексуальна. :-)
Martijn Pieters

49
@MartijnPieters: ... за винятком безкоштовного приватного хостингу, який BitBucket пропонував протягом століть.
День

17
Інші веб-сайти пропонують DVCS. У конкретному випадку SourceForge я просто думаю, що причина полягає в тому, що веб-сайт надзвичайно жахливий, не маючи на увазі підтримувані системи управління версіями.
Конрад Рудольф

17
@Den Yea, я дійсно не знаю, чому BitBucket не популярніший. У нього є приватний хостинг, і давайте вибирати між Git або Mercurial (що мені подобається Mercurial набагато більше)
Earlz

11
Github і Bitbucket працюють на двох різних бізнес-моделях. Github пропонує майже повний набір функцій безкоштовно і змушує вас платити за приватні репости (забороняйте безкоштовні плани Bronze, які він надає будь-кому з електронною адресою .edu . Bitbucket пропонує як публічний, так і приватний хостинг, але стягує вас за [сподіваємось] продуктивність) - збільшуючи додаткові дані. Якщо у вас немає причин приховувати код, Github здається, що це більш логічна модель. Я думаю, що Bitbucket існує, хоча - я, безумовно, люблю Sourcetree краще, ніж рідний git GUI Github (не те, що я насправді використовувати або) ..
Девід Коуден

45

Хостинг проекту - це інфраструктура. Інфраструктура демонструє мережеві ефекти, а це означає, що інфраструктура стає кориснішою, чим більше людей підключається до неї. (Зокрема, корисністю є 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.


15

Sourceforge також пропонує Git , але Github просто робить це краще (поки що).

  • Система їх запиту на витяг працює чудово (набагато краще, ніж, наприклад, Gitorious)
  • Їх нещодавно оновлене сповіщення дуже зручно.
  • Вони відразу показують код

На мою думку, їх вбивчою рисою є "Мережевий графік":

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

Різниця в gitk: вона також показує, що відбувається в гілках інших людей (без того, щоб тягнути їх гілки), що дуже важливо при співпраці.


10
+1 Усі ми знаємо, що зрештою, графіки - це все важливо.
Xeoncross

2
Це також фантастично для пошуку найбільш підтримуваної гілки. Нещодавно мені довелося знайти, яка вилка певного сховища насправді підтримується (нетривіальна, оскільки більш сучасні виделки ще не плили на вершину пошуку Google).
beatgammit

1
також, схоже, github може показати статистику клонів, в той час як я не можу знайти єдиного способу зробити це у sourceforge :(
Power Aquarius Power

11

GitHub - це простий, простий у використанні, простий для початку роботи, потужний і чудово виглядає, і це Web 2.0-ish.

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

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

Кінець дня, я думаю, що це стосується людської психології. Чи виріб простий у використанні, простий у використанні, недорогий (або безкоштовний) ... чи добре він виглядає і чи я щось рекомендую своїм друзям? Для GitHub я б відповів "так" на всі ці питання.


За допомогою коду Google я можу познайомитись із проблемами зірочкою, що дає можливість розробникам знати, які питання важливі для громади, і допомагає мені стежити за прогресом. Як видається, у Github є лише анонімні підписки, що може призвести до спам-коментарів (+1, я теж тощо). Це важливо для популярних проектів з обмеженими ресурсами.
beatgammit

5

Ви також повинні взяти до уваги деякі надзвичайно чудові функції, запропоновані github, про які я ще не бачив.

  • сторінки github з ароматизованою відміткою github
  • мобільний додаток github
  • плагін github eclipse
  • github для мак
  • робочі місця github
  • github для вікон
  • система відстеження квитків github / помилок
  • github developer api, який дозволяє безпроблемно інтегрувати сторонніх розробників
  • часті оновлення та удосконалення інтерфейсу (ви можете буквально побачити зміни від одного дня до другого, тобто текстове поле пошуку зараз динамічно розширюється на фокусі , дивіться на нову кнопку зірки тощо)
  • github gists (добре для скриптів утиліти, коротких фрагментів коду тощо)
  • безшовна інтеграція github через концентратор

Інші сайти можуть мати ці функції, але я впевнений, що жоден сайт там не має всіх.

Ці хлопці є практично скрізь ... повільно розповсюджуючи свої технічні смаки по всьому Інтернету та на робочому столі. Вони тільки стають більшими та кращими, як ми говоримо, і наймають найкращих інженерів (їм навіть вдалося викрасти Філа Хаака у Майкрософт ... зрозуміти).


4

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


1
Ще одна IDE, яка додала підтримку Git, - це Visual Studio, у версії 2013 та новіших версій. Див msdn.microsoft.com/en-us/library/hh850437.aspx подробиці
Бернард Вандер Beken

-1

Якщо чесно, то найголовніше для Git для себе, коли я бачу це: 1. Мережевий графік або я повинен зателефонувати в історію (також коментуючи) 2. Відділення та запит на запит 3. Це більш потужне, дійсно, я б сказав, що це так відчуваєш, що у мене є секретар, який тримає всю свою роботу, і я можу сказати, що в цьому секції записати що-небудь для мене, зміни, все! 4. Відкат легко

Тільки це. Відчуваєш себе сексуально


Помилка, чому я потрапив нижче?
Benyamin Limanto

Хоча я думаю, що у вас були добрі наміри, відповідаючи на запитання, я не думаю, що ваша відповідь додає багато відповіді, як просила ОП. Це звучить як ваша відповідь на запитання "Чому програмісти переміщують свій код до github?" є "тому що мені це подобається". Інші відповіді тут, мабуть, кращі, і тому хтось прихильнився.
Френк Брайс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.