Почему «Разбуди меня на GitHub»? [закрыто]


50

Я понимаю, как работает GitHub , но меня смутило то, почему почти каждый проект OSS в последнее время имеет ссылку «Раздать меня на GitHub» на своей домашней странице. Например,

http://jqtjs.com/ , http://www.daviddurman.com/flexi-color-picker/ и другие.

Почему это так часто? Это то, что они хотят / нуждаются в проверке кода, проверяя улучшения безопасности / производительности, которые они могут не знать, как это сделать?

Это должно показать, что это совместный проект - вы можете добавлять улучшения?

Они работают на GitHub или хотят продвигать свои услуги? Как ни странно, я не думаю, что недавно видел логотип «Проект Fork на Bitbucket ».

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


23
Потому что это проще, чем написать «если вы хотите внести свой вклад в этот проект или проверить исходный код, посмотрите на наш репозиторий на github». ;-)
nietonfir

1
Я немного удивлен, что никто не упомянул ... Что это, каламбур? Innuendo? Но эта конкретная формулировка не будет работать с bitbucket; их сайт испускает атмосферу более профессионального, чем github. Потому что именно так я понял твой вопрос при первом чтении - «почему у битбакета их нет?»
Изката

2
Это социальные виджеты , очень похожие на те, которые появляются со ссылкой «поделиться» в вопросе / ответе SE: вы получаете виджеты для Google+, Facebook и Twitter. Они готовы для использования дизайнерами сайтов, поэтому их легко интегрировать. Я думаю, что нет такой вещи, например, для Bitbucket, так что нечего заметить: если у какого-либо проекта есть собственный, самодельный виджет «разветвляется», он, вероятно, не будет похож на какой-либо другой.
Люк Дантон,

Я голосую, чтобы закрыть этот вопрос как не по теме, потому что речь идет о культуре программного обеспечения с открытым исходным кодом. В настоящее время вопросы о том, как сообщества сотрудничают друг с другом для производства, распространения, маркетинга и иногда монетизации проектов с открытым исходным кодом, обсуждаются в Open Source Stack Exchange .
Томас Оуэнс

Ответы:


20

Помимо стимулирования совместной работы, с точки зрения бизнеса это усилит и усилит трафик, базу пользователей и позиции GitHub на рынке. Так что с этим тоже связана бизнес-стратегия.

Лично я не против этого, потому что GitHub предоставляет ценную услугу сообществу открытого исходного кода.


23
Почему ваш ответ с точки зрения GitHub? Люди не размещают этот логотип на своих сайтах, чтобы усилить трафик, базу пользователей и позиции GitHub на рынке. Это может быть побочным эффектом, но это не цель . Как это GitHub "бизнес-стратегия"? GitHub даже не несет ответственности за размещение этого логотипа на сайтах OSS (сопровождающие сайта OSS несут ответственность).
Бен Ли

3
@Ben Lee Ваш комментарий хорошо принят. Но я бы сказал, что цель не одна , а много . Я не отверг мнение о том, что цель состоит в том, чтобы способствовать сотрудничеству, просто в том, что мы должны также признать, что GitHub также является бизнесом (можно утверждать, что они являются лидерами рынка в этой отрасли), и что еще одна цель Fork Me заключается в GitHub для стратегического преимущества. Конечно, это добровольно, но, тем не менее, эффективно. Это делает GitHub более заметным в Интернете, что является ключевой частью любой стратегии интернет-бизнеса.
AsymLabs

2
@BenLee Как заметил Дмитрий, у Github есть эта страница: github.com/blog/273-github-ribbons У Bitbucket или любого другого сервиса есть что-то подобное?
NoBugs

75

Это должно показать, что это совместный проект - вы можете добавлять улучшения?

Да: у вас нет права выдвигать коммит непосредственно в их репо.
Но у вас есть возможность форкать их репо , что делает его вашим репо, и оттуда выдвигать коммит, подготавливая пул-запросы .

вилка


2
Я знаю, что вы можете разветвляться, а затем вытащить запрос на Github, мой вопрос, почему они говорят "разветвлять меня на Github"?
NoBugs

6
@NoBugs, чтобы вы знали, как внести свой вклад в их проект.
VonC

19
Я думаю, что внимание здесь сосредоточено больше на «развел меня», чем на Github. Вероятно, просто потому, что Github - самый популярный сайт такого рода. Я не думаю, что у кого-то есть большая проблема, если вы раскошелитесь на Bitbucket. Хороший вопрос в любом случае.
JensG

Я не думаю, что у кого-то есть большие проблемы, если вы раскошелитесь на gitorious.org . Это просто, что почти никто не делает ...
Майкл 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 заставляет вас стать более общительным с работой другого).

Говоря, что владелец проекта 'fork me on github' просто хочет убедиться, что вы выбрали Fork on githubвместо этого загрузку кода и публикацию его в своем домашнем каталоге.


7

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

Обновление: лично я добавляю эти ленты GitHub, чтобы люди могли найти меня на GitHub и пометить мои проекты;)


6

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


5

Github пытается расширить свою базу пользователей, включив в нее любую совместную работу, не только хостинг исходного кода; и таким образом они нажимают на вилку и отправляют метод запроса на извлечение . Создание патчей и отправка их по электронной почте не будет привлекательным для большинства людей, кроме программистов и других. Разрешения push-уведомлений здесь не очень важны, поскольку в конечном итоге большинство пользователей git (или mercurial, darcs и т. Д.), Обладающих значительными знаниями об инструменте и рабочем процессе разработки, смогут отправить электронное письмо с прикрепленным к нему патчем.

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

В конце концов, эта лента «Раздавай мне на Github» немного отличается по своему назначению от кнопки «Чирикать эту статью» или «Поделиться этой вещью на G +». (Наличие ветки репозитория в вашем списке репозиториев означает «я пользователь этой штуки», на github есть тысячи форков Linux, хотя Линус Торвальдс не принимает запросы на извлечение.)


2

это еще один способ сказать "патчи приветствуются".

вместо того, чтобы отправлять пожелания и запросы функций, люди могут отправлять запрос на извлечение, где первоначальный автор проверяет, проверяет и объединяет этот запрос.

Исторически разветвление - это враждебное действие, совершаемое группой, которая находится в конфликте с управлением исходного проекта, например, OpenOffice от Sun, используемый для отклонения быстрого плагина C / C ++ SVG, потому что он предпочитает свой собственный медленно работающий плагин на основе Java по политическим причинам.

В большинстве случаев вилки плохие, и ими завидуют люди или люди из эгоистичных компаний, у которых есть планы, которые не делятся с первоначальным сообществом и не соответствуют ему (например, Canonical ), и примером этого является libav / avconv. (который является ответвлением FFMPEG), в этих случаях первоначальное сообщество имеет более высокое качество и безопасность , и они приветствуют исправления, которые соответствуют планам сообщества.

Дэн Уолш отметил старое определение форка

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

Затем он сравнил это с вилкой Github

В настоящее время GitHub изменил смысл. Когда на GitHub или аналогичной платформе существует хранилище программного обеспечения, каждый, кто хочет внести свой вклад, должен нажать кнопку «форк» и начать создавать свои патчи. На момент написания этой статьи Docker на GitHub насчитывал 9 860 вилок, включая нашу. Однако по этому определению все пакеты, которые поставляются с дистрибутивами и содержат патчи, являются вилками. Red Hat поставляет ядро ​​Linux, и я не слышал, чтобы это называлось форком. Но это будет считаться «форком», если вы рассматриваете любой вышестоящий проект, поставляемый с патчами.


1

Все ответы о том, что это сотрудничество, заставляют задуматься: почему бы не сказать " заставляют задуматься Клонировать меня в GitHib» или «Загрузить .zip из GitHub»?

На GitHub вы можете увидеть количество вилок. Но, насколько мне известно, это не подсчет количества клонов или zip-загрузок.

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

PS Я довольно новичок в GitHub, так что, если это совершенно не так, пожалуйста, дайте мне знать.


Не проще ли просто сказать: «Вот как работает распределенный контроль версий, посредством запросов на извлечение, что, конечно, требует, чтобы я сначала разветвил ваш репозиторий, затем зафиксировал свой разветвленный запрос, а затем выдал запрос на извлечение, если я создаю что-то, что стоит поделиться с оригинальным проектом "
Уоррен P

1
Должен признать, что я действительно не "получаю" мерзавец. Почему бы просто не клонировать или получить zip-файл и, если я внесу изменения, настроить любую VCS, которую я хочу? В тех редких случаях, когда я делаю полезные изменения для всех, я могу прибегнуть к электронной почте или сделать ответвление.
user949300

Этот ответ противоречив. Вы справедливо предполагаете, что они пытаются поощрять сотрудничество. Смысл такой ссылки не в том, чтобы дать людям возможность скачать ваш проект, а в том, чтобы вовлечь их в его разработку. Они могут скачать zip или клонировать его, если они просто хотят получить копию для себя, но если они хотят, чтобы у их копии был установлен путь для внесения вклада в исходный проект, который осуществляется с помощью форка, который восходящий поток может вытащить ваши вклады в из.
Калеб

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

0

разветвление на GitHub делает звучание очень легко сказать, как следовать за мной в твиттере. Я привнес немного социализации в мир разработки из моей собственной перспективы, также сделав очевидным, что это открытый исходный код и доступен для изменений. Я также думаю, что это хорошая идея с баннером "fork me on github" на одном конце вашего сайта. веб-сайт проекта


Um. Нет. Для этого есть «звезда» и «смотреть» для репозиториев, а также «следовать» для пользователей. Суть разветвлений заключается в том, чтобы поощрять конкретные действия - направлять вклады вверх по течению - а не просто делать их социальными.
Калеб

0

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


Это самый простой ответ, который на самом деле имеет смысл.
Воланд
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.