Чому “Fork me on GitHub”? [зачинено]


50

Я розумію, як працює GitHub , але одне, що мене бентежило, - це те, чому майже кожен проект OSS останнім часом на своїй домашній сторінці має посилання "Fork me on GitHub". Наприклад,

http://jqtjs.com/ , http://www.daviddurman.com/flexi-color-picker/ та інші.

Чому це так часто? Це вони хочуть / потребують перевірки коду, перевіряючи поліпшення безпеки / продуктивності, що вони можуть не знати як зробити?

Чи мається на увазі показати, що це спільний проект - ви можете додати вдосконалення?

Вони працюють для GitHub чи хочуть просувати свою послугу? Як не дивно, я не думаю, що я нещодавно бачив логотип "Fork project на Bitbucket ".

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


23
Тому що це простіше, ніж писати "якщо ви хочете внести свій внесок у цей проект або ознайомитись з джерелом, перегляньте наше сховище в github". ;-)
nietonfir

1
Я трохи здивований, що ніхто не згадав ... Що це, каламбур? Недарма? Але саме ця формулювання не працюватиме з бітбукетом; їхній сайт дає вигляд бути більш професійним, ніж github. Тому що я зрозумів ваше запитання під час першого читання - "чому у бітбукета немає таких?"
Ізката

2
Вони є соціальними віджетами , подібно до тих, які відображаються із посиланням "поділитися" на питання / відповідь щодо SE: ви отримуєте віджети для Google+, Facebook та Twitter. Вони готові до використання для дизайнерів сайтів, тому їх легко інтегрувати. Я думаю, що такого немає, наприклад, для Bitbucket, тому нічого не помітити: якщо у будь-якого проекту є власний, домашній віджет 'fork me', вони, мабуть, не будуть схожі на будь-який інший.
Люк Дантон

Я голосую, щоб закрити це питання поза темою, оскільки мова йде про культуру програмного забезпечення з відкритим кодом. В даний час питання про те, як спільноти співпрацюють для виробництва, розповсюдження, збуту та інколи монетизації проектів з відкритим кодом, є темою на біржі стеків з відкритим кодом .
Томас Оуенс

Відповіді:


20

Окрім проблеми сприяння співпраці, з точки зору бізнесу це сприятиме покращенню та зміцненню трафіку, користувальної бази та позицій на ринку GitHub. Так що з цим пов’язано і трохи бізнес-стратегії.

Особисто я не проти цього, тому що GitHub надає цінну послугу спільноті з відкритим кодом.


23
Чому ваша відповідь з точки зору GitHub? Люди не розміщують логотип на своїх сайтах, щоб посилити трафік, базу користувачів та позиції на ринку GitHub. Це може бути побічним ефектом, але це не є метою . Як це "бізнес-стратегія" GitHub? GitHub навіть не несе відповідальності за розміщення цього логотипу на сайтах OSS (сервіси OSS-сайтів є).
Бен Лі

3
@Ben Lee Ваш коментар добре сприйнятий. Але я запевняю, що не одна мета, а багато . Я не відкидав думку, що метою є сприяння співпраці, просто, що ми також повинні визнати, що GitHub - це також бізнес (можна стверджувати, що вони є лідером ринку в цій галузі), і що інша мета Fork Me на GitHub має стратегічну перевагу. Зазначимо, що це добровільно, але все-таки це ефективно. Це робить GitHub більш помітним в Інтернеті, що є ключовою частиною будь-якої стратегії інтернет-бізнесу.
AsymLabs

2
@BenLee Як зазначив dmitri, у Github є ця сторінка: github.com/blog/273-github-ribbons Чи має Bitbucket чи будь-яка інша служба щось подібне?
NoBugs

75

Чи мається на увазі показати, що це спільний проект - ви можете додати вдосконалення?

Так: ви не маєте права надсилати зобов’язання безпосередньо на їх репо.
Але у вас є можливість розблокувати їх репо , що робить це вашим репо, і відштовхуватися від них, готуючи запити на тягу .

вилка


2
Я знаю, що ви можете роздрібнити, а потім потягнути запит на Github, моє запитання, чому вони кажуть "вилазить мене на Github"?
NoBugs

6
@NoBugs, щоб переконатися, що ви знаєте, як зробити свій внесок у їхній проект.
VonC

19
Думаю, в центрі уваги більше фокусується на «вилці мене», ніж на Github. Це, мабуть, просто тому, що Github - найпопулярніший сайт подібного роду. Я не думаю, що у когось є велика проблема, якщо ви роздвоюєтеся на Bitbucket. Добре питання все одно.
JensG

Я не думаю, що у когось є велика проблема, якщо ви роздрібнитесь на gitorious.org . Просто це майже ніхто не робить ...
Michael Paulukonis

37

Значок "Відправити мене на Github" має на меті показати, що це проект, якому ви надаєте право внести свій внесок у проект або використовувати його як вихідну точку для власного проекту.

Це ніби показує, що "це спільний проект і що ви можете додати вдосконалення".

Це дозволяє вам пограти з кодом або зробити спін-офф того ж проекту, не впливаючи на початкове джерело.

https://help.github.com/articles/fork-a-repo

Цей же принцип стосується всіх інших git хостів.

Основні моменти (серед багатьох інших) надання права на роздрібнення проекту - це

  • сприяти співпраці - дозволяючи людям спільно працювати над покращенням проекту.
  • додайте до знань - дозволяючи людям вивчати ваш код.

Деякі проекти, з якими ви можете зіткнутися, можуть бути співробітниками Github для їх особистих потреб. Вони не хочуть рекламувати github. Ви можете знайти проекти від github тут: https://github.com/github

Щодо того, чому ви не бачите значки інших хостів, це те, що Github - найпопулярніша платформа для розміщення та співпраці git.


Саме так. Робочі процеси DVCS означають, що я можу публікувати свої результати, не наносячи їх іншим. Розсилка означає, що не потрібно просити дозволу ділитися тим, чим ви хочете поділитися. Якщо Інтернету подобаються ваші зміни, вони поглинають їх.
Воррен П

15

Уявіть, що ви користуєтесь улюбленим текстовим редактором, і через деякий час ви виявите, що вам дуже сподобається реалізувати якусь функцію (наприклад, не блокуючи параметр Зберегти файл).

Подумавши, що в одинадцятий раз ви вирішите написати сам. Після того як ви знайдете сторінку github цього проекту, у вас є два варіанти:

  1. Завантажте вихідний код, змініть його та збережіть для себе.
  2. Розкладіть проект на github і працюйте на вилці.

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

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

Говорячи, що "вилазить мене на github", власник проекту просто хоче переконатися, що ви вибрали Fork on githubзамість цього завантаження коду та опублікування його у домашній каталог.


7

Це лише показати, що це проект з відкритим кодом, і ви роздрібнюєте його, якщо хочете, незалежно від причини. Також перегляньте це повідомлення в блозі на GitHub: https://github.com/blog/273-github-ribbons

Оновлення: Особисто я додаю ці стрічки GitHub, щоб люди могли знайти мене на GitHub та зірочки моїх проектів;)


6

Це означає, що вони знаходяться на Github, де роздрібнення дешеве, і вони хочуть заохочувати внески для покращення свого програмного забезпечення та спільноти.


5

Github намагається розширити свою базу користувачів, щоб включити будь-яку спільну роботу, а не лише розміщення вихідного коду; і, таким чином, вони натискають на вилку і надсилають метод запиту на тягу . Створення патчів та надсилання їх електронною поштою не буде привабливим для більшості людей, крім програмістів та інших. Тут не дуже важливі дозволи натиснення, оскільки зрештою більшість користувачів git (або mercurial, darcs або будь-якого іншого), які мають значну кількість знань про інструмент та робочий процес у розробці, зможуть якось надіслати електронний лист із доданим патчем.

Крім того, Github скоріше стосується соціальних мереж, ніж хостингу коду: ваш профіль, репост та зміни складають вашу особу як розробника програмного забезпечення, як і ваші твіти та «+1». Усі ці стрічки та кнопки і так само використовуються як засіб самообладнання, шлях до профілю людини, якій належить проект. На сьогодні, гідний профіль Github - це перше, що очікується від розробника. Навіть незважаючи на те, що я використовую меркуріал ні для чого, я з цих причин підштовхуюсь до Github через hg-git.

Врешті-решт, стрічка "Fork me on Github" за призначенням трохи відрізняється від кнопки "Tweet this Article" або кнопки "Share this Thing on G +". (Крім того, що у вашому списку репостів є роздрібне сховище означає "я користувач цієї речі", у github є тисячі виделок Linux, навіть незважаючи на те, що Лінус Торвальдс не приймає запити на тягнення.)


2

це ще один спосіб сказати "латки вітаються".

Замість того, щоб надсилати побажання та запити на функції, люди можуть надсилати запит на витяг, де оригінальний автор перевіряє, підтверджує та об'єднує запит на отримання.

історично розгортання - це ворожі дії, здійснені групою, яка суперечить управлінню оригінальним проектом, наприклад Sun's OpenOffice, який використовується для відхилення швидкого C / C ++ SVG плагіна, тому що він з політичних причин надає перевагу власному повільному розбитому Java-плагіну.

У більшості випадків вилки погані, і їх переносять заздрісні люди або люди з егоїстичних компаній, у яких плани, які роблять це, не поділяються з початковою спільнотою і не узгоджуються з нею (наприклад, Canonical ). Прикладом цього є libav / avconv (що є вилкою FFMPEG), у цих випадках вихідна спільнота має більш високу якість, безпеку , і вони вітають патчі, які узгоджуються з планами спільноти.

Ден Уолш відзначив старе визначення вилки

Я давно перебуваю у відкритому коді, і моє визначення "вилки" може бути датоване. Я думаю, що "вилка" є ворожою дією, яку вживає одна група, щоб змусити інших використовувати та сприяти їхній версії вищезахисного проекту та ігнорувати "оригінальну" версію. Наприклад, LibreOffice відключає OpenOffice або повертається назад Xorg, відключаючи Xfree86.

Потім він порівнював це з виделкою github

Нині GitHub змінив значення. Коли на GitHub або подібній платформі існує сховище програмного забезпечення, кожен, хто хоче внести свій внесок, повинен натиснути кнопку "fork" і почати створювати свої патчі. Станом на це написання, Docker на GitHub має 9 860 вилок, включаючи наші. За цим визначенням, однак, всі пакети, які постачають дистрибутивні, включаючи виправлення, є форками. Red Hat доставляє ядро ​​Linux, і я не чув, щоб це називалося виделкою. Але це буде вважатися "вилкою", якщо ви розглядаєте будь-який проект, що постачається вище, що постачається з виправленнями вилки.


1

Усі відповіді, що говорять про те, що це спільна робота, задають питання: чому б не сказати " Клонувати мене на GitHib" або "Завантажити .zip з GitHub"?

На GitHub можна побачити кількість вилок. Але, наскільки мені відомо, це не підрахунок кількості клонів чи завантажень на zip.

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

PS Я досить новачок у GitHub, тому, якщо це абсолютно неправильно з бази, будь ласка, повідомте мене.


Чи не набагато простіше просто сказати: "саме так працює розподілений контроль версій шляхом запитів на витягнення, що, звичайно, вимагає, щоб я спочатку роздрібнив ваш репо, а потім взяв на себе вилку, а потім видав запит на витяг, якщо будую щось, що варто спільного доступу з оригінальним проектом "
Warren P

1
Потрібно визнати, що я дійсно не "отримую" git. Чому б не просто клонувати або отримати zip-файл, а якщо я ввожу зміни, налаштувати все, що я хочу, VCS? У рідкісних випадках я вживаю корисних змін для всіх, я можу вдатися до електронної пошти або зайнятися виделкою.
user949300

Ця відповідь суперечлива. Ви слушно припускаєте, що вони намагаються заохочувати співпрацю. Сенс такого посилання полягає в тому, щоб не давати людям місця для завантаження вашого проекту, справа в тому, щоб залучити їх до його розробки. Вони можуть завантажити поштовий індекс або клонувати його, якщо вони просто хотіли копію для себе, але якщо вони хочуть, щоб у їх копії був встановлений шлях, щоб сприяти поверненню до поточного проекту, який робиться через роздрібнення, що вище за течією може тягнути ваші внески з.
Калеб

@ user949300, ви все одно можете просто скористатися, git clone https://github.com/$NAME_OF_GITHUB_USER/$NAME_OF_REPOSITORY.gitа потім git format-patch masterі надіслати електронною поштою або тому подібне
Себастьян Годелет,

0

розгортаючи github, це звучить дуже просто, мов слідкуйте за мною на Twitter. Я не приношу трохи соціалізації у світ розвитку з моєї власної перспективної позитивної інформації, що також дає зрозуміти, що вона є відкритим кодом та доступна для модифікацій. Я також вважаю, що це приємна концепція з банером "вилази мене на github" на одному кінці вашого веб-сайт проекту


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

0

Вам, мабуть, найкраще просто взяти найпростішу відповідь: вони хочуть, щоб ви знали, що код є у вільному доступі на GitHub. Я думаю, ваші гіпотези трохи заперечені.


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