Почему «Разбуди меня на 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.