¿Por qué "Bifurcarme en GitHub"? [cerrado]


50

Entiendo cómo funciona GitHub , pero una cosa que me ha confundido es por qué casi todos los proyectos de OSS últimamente tienen un enlace "Bifurcarme en GitHub" en su página de inicio. Por ejemplo,

http://jqtjs.com/ , http://www.daviddurman.com/flexi-color-picker/ , y otros.

¿Por qué es esto tan común? ¿Es que quieren / necesitan validación de código, buscando mejoras de seguridad / rendimiento que tal vez no sepan cómo hacer?

¿Está destinado a mostrar que este es un proyecto colaborativo? ¿Puede agregar mejoras?

¿Trabajan para GitHub o quieren promocionar su servicio? Por extraño que parezca, no creo que haya visto un logotipo de " Proyecto fork en Bitbucket " recientemente.

Mi primera reacción a ese logotipo fue que el proyecto probablemente necesita ser modificado (bifurcado) para integrarlo con algo útil, o que están fomentando una base de código fragmentada, alentando a todos a hacer su propio tenedor del proyecto. Pero no creo que esa sea la intención.


23
Debido a que es más fácil que escribir "si desea contribuir a este proyecto o consultar la fuente, consulte nuestro repositorio en github". ;-)
nietonfir

1
Estoy un poco sorprendido de que nadie haya mencionado el ... ¿Qué es, un juego de palabras? ¿Insinuación? Pero esa redacción en particular no funcionaría con bitbucket; su sitio emite una vibra de ser más profesional que github. Porque así es como entendí tu pregunta en la primera lectura: "¿por qué Bitbucket no tiene estos?"
Izkata

2
Son widgets sociales , muy parecidos a los que aparecen con el enlace "compartir" en una pregunta / respuesta SE: obtienes widgets para Google+, Facebook y Twitter. Están listos para usar para los diseñadores del sitio, por lo que son fáciles de integrar. Creo que no hay tal cosa, por ejemplo, para Bitbucket, por lo que no hay nada que notar: si algún proyecto tiene su propio widget 'fork me' hecho en casa, probablemente no se parecería a ningún otro.
Luc Danton

Estoy votando para cerrar esta pregunta como fuera de tema porque se trata de la cultura de software de código abierto. Actualmente, las preguntas acerca de cómo las comunidades colaboran juntas para producir, distribuir, comercializar y, en algún momento, monetizar proyectos de código abierto son temas sobre el intercambio de pila de código abierto .
Thomas Owens

Respuestas:


20

Además del lado de la colaboración de fomento del problema, desde una perspectiva comercial mejorará y fortalecerá el tráfico, la base de usuarios y la posición de mercado de GitHub. Por lo tanto, también hay una pequeña estrategia comercial asociada a ella.

Personalmente, no me importa esto porque GitHub proporciona un servicio valioso a la comunidad de código abierto.


23
¿Por qué es tu respuesta desde la perspectiva de GitHub? La gente no está poniendo ese logotipo en sus sitios para fortalecer el tráfico, la base de usuarios y la posición en el mercado de GitHub. Eso podría ser un efecto secundario, pero ese no es el propósito . ¿Cómo es esto una "estrategia comercial" de GitHub? GitHub ni siquiera es responsable de poner este logotipo en los sitios OSS (los encargados del mantenimiento del sitio OSS sí lo son).
Ben Lee

3
@Ben Lee Tu comentario está bien tomado. Pero afirmaría que no hay un solo propósito, sino muchos . No descarté la opinión de que un propósito es fomentar la colaboración, simplemente que también debemos reconocer que GitHub también es un negocio (podría argumentarse que son el líder del mercado en esta industria), y que otro propósito de Fork Me en GitHub es para ventaja estratégica. Es cierto que esto es voluntario, pero no obstante es efectivo. Hace que GitHub sea más visible en Internet, una parte clave de cualquier estrategia comercial de Internet.
AsymLabs

2
@BenLee Como señaló dmitri, Github tiene esta página: github.com/blog/273-github-ribbons ¿Bitbucket o algún otro servicio tiene algo similar?
NoBugs

75

¿Está destinado a mostrar que este es un proyecto colaborativo? ¿Puede agregar mejoras?

Sí: no tienes derecho a enviar un commit directamente a su repositorio.
Pero tiene la posibilidad de bifurcar su repositorio , lo que lo convierte en su repositorio, y empujar el compromiso desde allí, preparando solicitudes de extracción .

tenedor


2
Sé que puedes bifurcar, luego pedirle a Github, mi pregunta es ¿por qué dicen "bifurca en Github"?
NoBugs

66
@NoBugs para asegurarse de que sabe cómo contribuir de nuevo a su proyecto.
VonC

19
Creo que el enfoque aquí radica más en el "tenedor" que en Github. Probablemente sea simplemente porque Github es el sitio más popular de este tipo. No creo que nadie tenga un gran problema si se bifurca en Bitbucket. Buena pregunta de todos modos.
JensG

Tampoco creo que nadie tenga un gran problema si se bifurca en gitorious.org . Es solo que casi nadie lo hace ...
Michael Paulukonis

37

La insignia "Bifurcarme en Github" está destinada a demostrar que es el proyecto al que se le otorga el derecho de contribuir al proyecto o usarlo como punto de partida para su propio proyecto.

Muestra un poco que "es un proyecto colaborativo y que puedes agregar mejoras".

Te permite jugar con el código o hacer un spin-off del mismo proyecto sin afectar la fuente original.

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

El mismo principio se aplica a todos los demás hosts git.

Los puntos principales (entre muchos otros) de otorgar el derecho de bifurcar un proyecto es

  • fomentar la colaboración: al permitir que las personas trabajen juntas para mejorar el proyecto.
  • agregue conocimiento, al permitir que las personas estudien su código.

Algunos de los proyectos que puede encontrar pueden ser realizados por el personal de Github para sus propias necesidades privadas. No quieren promocionar github. Puede encontrar proyectos por github aquí: https://github.com/github

El motivo por el que no ve insignias de otros hosts es porque Github es la plataforma de colaboración y alojamiento de git más popular.


Exactamente. Los flujos de trabajo de DVCS significan que puedo publicar mis resultados sin infligirlos a otros. Bifurcar significa no tener que pedir permiso para compartir lo que quiera compartir. Si a Internet le gustan tus cambios, los absorberán.
Warren P

15

Imagine que usa su editor de texto favorito, y después de un tiempo descubre que realmente le encantaría implementar alguna función (como la opción de guardar archivo sin bloqueo).

Después de pensar que por undécima vez decides escribir uno tú mismo. Después de encontrar la página de github de este proyecto, tiene dos opciones:

  1. Descargue el código fuente, modifíquelo y guárdelo para usted.
  2. Bifurca el proyecto en un github y trabaja en tu bifurcación.

Si elige la segunda opción, después de hacer que su función esté bien escrita y probada, podría preparar una solicitud de extracción y luego todo el proyecto se beneficiaría de usted.

Sin embargo, si elige la primera ruta, es muy probable que se olvide de su modificación y nadie, excepto usted, se beneficiará de ella (sí, puede compartir el código manualmente, pero algún otro codificador podría olvidarlo fácilmente). te obliga a socializarte más con el trabajo del otro).

Decir que el propietario del proyecto 'bifurcarme en un github' solo quiere asegurarse de que eligió en su Fork on githublugar descargar el código y publicarlo en su directorio de inicio.


7

Solo está allí para mostrar que este es un proyecto de código abierto y lo bifurca si lo desea, sea cual sea el motivo. Además, consulte esta publicación de blog en GitHub: https://github.com/blog/273-github-ribbons

Actualización: Personalmente, agrego estas cintas de GitHub para que la gente pueda encontrarme en GitHub y protagonizar mis proyectos;)


6

Significa que están en Github, donde la bifurcación es barata, y quieren alentar las contribuciones para mejorar su software y comunidad.


5

Github está tratando de ampliar su base de usuarios para incluir cualquier trabajo colaborativo, no solo alojamiento de código fuente; y así empujan el tenedor y envían un método de solicitud de extracción . Hacer parches y enviarlos por correo electrónico no sería atractivo para la mayoría de las personas que no sean programadores o similares. Los permisos push no son realmente importantes aquí, ya que eventualmente la mayoría de los usuarios de git (o mercurial, darcs o lo que sea) con una considerable cantidad de conocimiento de la herramienta y el flujo de trabajo de desarrollo podrían enviar un correo electrónico con un parche adjunto de alguna manera.

Además, Github tiene más que ver con las redes sociales que con el alojamiento de código: su perfil, repositorios y cambios conforman su identidad como desarrollador de software, al igual que sus tweets y '+ 1'. Todas esas cintas y botones y similares se utilizan como un medio de auto-escrutinio, un camino hacia el perfil de la persona a la que pertenece el proyecto. Hoy en día, tener un perfil decente de Github es lo primero que se espera de un desarrollador. Aunque uso mercurial para cualquier cosa, presiono a Github a través de hg-git por estas razones.

Finalmente, la cinta "Bifurcarme en Github" difiere ligeramente del propósito del botón "Tweet this Article" o "Share this Thing on G +". (También tener una bifurcación de un repositorio en su lista de repositorios significa "Soy un usuario de esta cosa", hay miles de tenedores de Linux en github, a pesar de que Linus Torvalds no acepta solicitudes de extracción).


2

Es otra forma de decir "los parches son bienvenidos".

en lugar de enviar deseos y solicitudes de funciones, las personas pueden enviar solicitudes de extracción donde el autor original revisa, valida y fusiona la solicitud de extracción.

Históricamente, la bifurcación es una acción hostil realizada por un grupo que está en conflicto con la gestión del proyecto original, por ejemplo, OpenOffice de Sun solía rechazar el complemento SVG C / C ++ rápido porque prefiere su propio complemento basado en Java que se rompe lentamente por razones políticas.

En la mayoría de los casos, las bifurcaciones son malas y las envidian personas envidiosas o personas de compañías egoístas que tienen planes para hacer eso que no se comparte con la comunidad original y no está alineado con ella (por ejemplo, Canonical ) y un ejemplo de esto es libav / avconv (que es una bifurcación de FFMPEG), en esos casos, la comunidad original tiene una mayor calidad, seguridad y aceptan parches que estén alineados con los planes de la comunidad.

Dan Walsh notó la antigua definición de tenedor

He estado en código abierto durante mucho tiempo, y mi definición de "tenedor" podría estar fechada. Pienso en un "tenedor" como una acción hostil tomada por un grupo para lograr que otros usen y contribuyan a su versión de un proyecto anterior e ignoren la versión "original". Por ejemplo, LibreOffice se bifurca de OpenOffice o se remonta a Xorg bifurcando de Xfree86.

Luego lo comparó con el tenedor de github

Hoy en día, GitHub ha cambiado el significado. Cuando existe un repositorio de software en GitHub o una plataforma similar, todos los que quieran contribuir deben presionar el botón "fork" y comenzar a construir sus parches. Al momento de escribir esto, Docker en GitHub tiene 9,860 tenedores, incluido el nuestro. Sin embargo, según esta definición, todos los paquetes que se envían distribuciones que incluyen parches son bifurcaciones. Red Hat envía el Kernel de Linux, y no he escuchado que se refiera a esto como una bifurcación. Pero se consideraría una "bifurcación" si está considerando cualquier proyecto ascendente enviado con parches de una bifurcación.


1

Todas las respuestas que dicen que esta es la pregunta BEG colaborativa: ¿por qué no decir " Clon mí en GitHib" o "Descargar .zip desde GitHub"?

En GitHub puedes ver un recuento de la cantidad de horquillas. Pero, que yo sepa, no se cuenta la cantidad de clones o descargas zip.

Entonces, diría que es en parte para alentar la colaboración, en parte para obtener comentarios y validación de que las personas están usando su código.

PD: Soy bastante nuevo en GitHub, así que si esto es totalmente incorrecto fuera de la base, hágamelo saber.


¿No es mucho más simple decir: "así es como funciona el control de versiones distribuidas, mediante solicitudes de extracción, que por supuesto requiere que primero bifurque su repositorio, luego me comprometa con mi bifurcación, luego emita una solicitud de extracción si construyo algo que valga la pena compartir con el proyecto original "
Warren P

1
Tengo que admitir que realmente no "entiendo" git. ¿Por qué no simplemente clonar u obtener el archivo zip y, si hago cambios, configurar el VCS que quiera? En los raros casos en que hago cambios útiles para beneficio de todos, podría recurrir al correo electrónico o hacer la bifurcación en ese momento.
user949300

Esta respuesta es contradictoria. Usted sugiere acertadamente que están tratando de alentar la colaboración. El objetivo de este enlace no es darles a las personas un lugar para descargar su proyecto, sino involucrarlos en su desarrollo. Podrían descargar un zip o clonarlo si solo quisieran una copia para ellos, pero si desean que su copia tenga una ruta establecida para contribuir de nuevo al proyecto ascendente que se realiza a través de una bifurcación en la que el flujo ascendente puede extraer sus contribuciones de.
Caleb

@ user949300, aún puede usar git clone https://github.com/$NAME_OF_GITHUB_USER/$NAME_OF_REPOSITORY.gity luego git format-patch masterenviar por correo electrónico o similar
Sebastian Godelet

0

bifurcar en github hace que suene realmente fácil decir como sígueme en twitter. Trae un poco de socialización al mundo del desarrollo desde mi propia perspectiva, lo que también hace obvio que es de código abierto y está disponible para modificaciones. También creo que es un buen concepto con el banner "bifurca en github" en un extremo de tu sitio web del proyecto


Um. No. Para eso hay 'star' y 'watch' para repos, así como 'follow' para los usuarios. El objetivo de las bifurcaciones es alentar un tipo específico de acción –enviar contribuciones río arriba– no solo hacerlo social.
Caleb

0

Probablemente sea mejor que solo tome la respuesta más simple: quieren que sepa que el código está disponible gratuitamente en GitHub. Creo que tus hipótesis son un poco excesivas.


Esta es la respuesta más simple que realmente tiene sentido.
Woland
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.