¿Por qué Facebook NO UTILIZA Git?
HTML-код
- Опубликовано: 5 окт 2024
- Analizaremos la razon BRUTAL de por que facebook no utiliza Git y cambio a otro Sistema Control de Versiones
Artículo analizado: graphite.dev/b...
▶ No te pierdas más directos en: / midudev - Наука
Me da la impresión de que facebook es un monolito gigante funcionando en un xampp en windows server XDD
Ajajajajajaja
Como toda buena empresa, un monolito gigante
es que deber ser así, igualmente con lo pequeña que es la web es imposible llegar a esa cantidad de archivos
@@robergrosoPorque casi toda la lógica está en el backend, procesos principalmente. La web es como la puntita visible de Facebook.
@@robergroso vos sos el de reddit
La mayoria de comentarios asocian a GIT como Github...
Aca lo que se debate es el Sistema de Control de Versiones.
Como puede ser Subversion(SVN), CVS, Mercurial y Git entre los mas usados o populares.
Honestly, the best practice would be for them to divide it, that's quite evident, and not so difficult. But yeah, alternatives are great too and it's nice to see that a great business pays attention (and therefore keeps alive) another great tool
@@guillermocasalcaro270 yo hablo espanhol tambien (dammit I need to add the lang to this keyboard) y entiendo (we develop stuff too)
That's it buddy
Es un wey que habla español, solo se esta luciendo. Largate de aqui
Si, me a pasado eso con git. Cuando trabajaba para el proyecto Chamilo. Git status me demoraba algo de 10 min. Igual el git add y commit
es culpa de que el repositorio es demasiado grande? o porque el historial es grande?
se me ocurre dos soluciones, dividir el proyecto en varias partes o en el segundo caso hacer una version 2.0 con un nuevo repositorio
@@chefakulos dos, git no es tan bueno manejando historial y proyectos gigantes, la solución para los mortales es hacer más repos jajaja
A mi me pasaba trabajando con el source code de firefox
@@Gabozxc hay un argumento al hacer clone para no descargar todos los commits.
creo q era --depth o --depth-z
@@chefaku--depth 1
Mi abuela me dijo una vez: "No es lo que pides... si no como lo pides" eso dice mucho de ti. Pero en otro universo paralelo... tampoco era acertada la respuesta de Git.
ES VERDAD, PERO AQUI NO APLICA
Una genia tu abuela, toda la razón. De todas maneras si lees los correos originales de parte de Facebook no pidieron ayuda de mala manera ni nada, simplemente a Git no le pudo importar menos xD
En pocas palabras se cambiaron porque en otros repositorios si recibieron soporte. En Git les dijeron así es, no hay otra forma.
Y eso es peligroso, porque nada impide que facebook financie, mejor mercurial y le pueda comer mercado a git
@@Gabozxc lo que sucede con eso es que git puede perder una parte importante de aprendizaje y/o de mejorar su producto. El fuerte de git es ser masivo, gratis y robusto.
En algún momento puede necesitar superar retos como el que evitaron y entrar en el mal vicio de Microsoft que cómo solo ellos eran los reyes del mercado pago, nadie los iba a sacar del camino, ya vimos por historia que dejaron de ser reyes del navegador IExplorer porque nadie atendió a los usuarios que se quejaban de lentitud, llegaron los de Chrome y les quitaron cuota de mercado además que perdieron usuarios del explorador, perdieron usuarios que preferían Chrome con su principal recomendación un buscador por defecto que era Google con sus recomendaciones de búsqueda en los top de publicidad de los que mejor pagaban por estar allí. La lección de no atender un proceso lento se transformó en la perdida de usuarios, compradores potenciales y alimentadores de una base de datos que son los millones de usuarios que ayudan a mejorar su producto.
Ahora en algún futuro tendrán una empresa tan grande como Facebook problemas similares? Puede ser, pero otro ya tendrá ventaja porque ya solventó ese problema. Todos abandonaran git por lentitud? Lo dudo pero otras personas que requieran mejores soluciones pueden empezar a recomendar abandonar esos repositorios y pierdan grandes empresas que pueden realizar aportes significativos al proyecto.
Mientras el usuario sea respetuoso, no vaya contra principios empresariales (los de tu empresa) y tenga conocimiento de lo que ofreces sin quebrantar la ley, se le atiende porque puede fortalecer la empresa.
@@Gabozxc viendo el historial de facebook no me extrañaría, es como un EA Games pero masivo
y con lo siniestro que es zuckerberg seguramente querría acaparar mercurial para que sus proyectos del metaverse sean con el y anda a saber que pajas mentales mas
@@GabozxcPeligroso? La palabra correcta seria "ideal". Que Meta proceda a mejorar y promover una alternativa a Git es lo mejor que puede suceder.
1. Ningún manejo de versiones le quitaria mercado a Git; es simplemente la herramienta utilizada - por defecto - para colaborar en código abierto. No hay competencia.
2. Facebook es un caso absolutamente aislado. Probablemente podamos contar con los dedos de ambas manos las unicas companias cuyos repositorios pueden presentar problemas de rendimiento al utilizar Git.
Finalmente, el video en si es bastante falto de explicación. La conclusión a la cual llega @juanparra884 tampoco es del todo cierta (lo cual es entendible, si solo se basa en la informacion retratada en el video).
No eligen Mercurial por "no recibir soporte" de parte de Git, lo hacen porque para ambas herramientas se debían modificar funcionamientos internos de manera significativa para cumplir con las necesidades de la compania, en ese sentido Mercurial era una herramienta mucho mas fácil de extender, así que esa fue la ruta que tomaron.
Buen día Midu, una pregunta ¿qué arquitectura y frameworks utiliza meta? Sería interesante una serie que sea sobre cómo están creadas las aplicaciones más famosas del mercado y si para estas aplicaciones es mejor no utilizar frameworks y todo sea vanilla o sí utilizar frameworks para backend y para frontend no.
USAN MUCHOS FRAMEWORKS Y MUCHOS DE ELLOS, ELLOS LOS CREAN
Seria bueno saber que tal el rendimiento de git ahora en 2024, si esos problemas fueron publicados hace 10 años, me pregunta es esa...
Como va Git ahora en estos momentos? ha mejorado? que pasaría si Meta vuelve a git, solo en un escenario hipotético, les iría mejor? o seguirían con estos problemas de rendimiento brutal?
La pregunta aquí es porque meta tiene esos problemas y ninguna otra compañia los tiene? Sera que los programadores de meta no pudieron optimizar ??
Gracias por todo tu trabajo y la información que nos traes Midu.
mi pregunta es si con mercurial que lo desconocia, esos datos son reales por que deja en muy mal lugar a git, ya no por el soporte por el rendimiento
Creo que la pregunta es, como es que facebook esta en un solo repositorio, veo más un problema de arquitectura
Y, también que no hacen commits muy seguido. Tantos cambios pueden haber para que demore hacer un get status?
Y no podían haber usado submódulos con git? Traerse en local un proyecto tan grande es una barbaridad. Yo en la uni di cvs en linux. Por entonces los controles de versiones distribuidos no existían. Llegué a trabajar con SVN y aquello era infernal.
Cada vez que oigo SVN tiemblo
Qué problema hay con SVN? Yo uso SVN y Git, y entiendo que Git es mucho más potente, pero con un proyecto compartido es una odisea.
A nosotros en la uni no nos enseñaron ningún sistema de control de versiones.
Según Wikipedia: Git es un software de control de versiones diseñado por Linus Torvalds, pensando en la EFICIENCIA, la confiabilidad y compatibilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran número de archivos de código fuente.
totalmente! y además fue diseñado para manejar las versiones del kernal de Linux, que por mucho es de los proyectos más grandes existentes hoy día
Desde entonces yo creo que pese a mostrarse poco cooperativo si que han hecho mejoras, nuestro proyecto legacy es un Prestashop tuneado que igual tiene 80K archivos y no me he puesto a contar lineas, pero hay ficheros con 8K filas, y va todo bien.
También el hardware de 2024 no es el de 2012 (en aquel entonces estarían todos con discos duros y ahora todos tienen SSD o NVME)
Me gustaría saber un poco más de esta decisión, que les llevó para en 2012, siendo una empresa tan grande en aquel entonces, a querer meterlo todo en un único repo, con los problemas que da eso a la hora de sacar releases y tal... imagino que sus motivos tendrían.
Amazon solucionó esto dividiendo el código en distintos repositorios y no hacerlo fue una decisión de facebook. No es culpa de git.
el falto el .gitignore a facebook.. xD
Git es open source, si hicieron billones usando tecnología gratis open source podrían haber invertido y ayudado a mejorar git en vez de pedir cosas.
me recuerda a la historia de cómo surgió Git como tecnología cuando su sistema de control de versiones que hasta ese entonces se les ofrecía gratuito, iba a empezar a ser cobrado. Cabreó un poco a bueno de Linus quien decidió crear su propio gestor de versiones
Usé Mercurial hasta hace unos 10 años, y es excelente. Tuve que cambiar a Git porque los clientes usaban eso. El hecho que se puede cambiar la historia en Git es un disparate. Y ese repositorio es grande, pero no es tan grande. El problema de multiple repositorios es que crea un poblema de versiones compatibles, que puede ser grave en proyectos con multiple aplicaciones que tiene que interaccionar entre ellas.
Básicamente pelea de egos, no estoy seguro pero no tengo dudas de que con los años Facebook habrá dividido su repositorio porque si bien un monorepo trae ventajas, si tu proyecto es tan gigante pues la verdad si es bastante lógico manejarlo en diferentes repos, además muchas funcionalidades de Facebook se pueden trabajar como microservicios.
Por otro lado git seguramente habrá trabajado para optimizar su codigo especialmente con repositorios muy grandes.
Mmm... Yo trabajé hace unos meses como contractor para Meta dando soporte a algo relacionado con software de Occulus y todo estaba en Git y Github, no sé si para el resto sea igual por que todos los equipos y más los contractors estamos tan aislados que sólo tenemos acceso a lo que necesitamos trabajar puntualmente, eso si eran muchos repos y una burrada de cantidad archivos. Pero pues eso... Era Git sobre Github. Lo único "especial" era que no se manejaba el modelo de git flow de toda la vida si no el de trunk based.
Pareceria que un sistema operativo Linux tiene que ser muchísimo mas complejo que un programa como Facebook, que a simple vista es bastante cutrecillo
Un claro ejemplo de que el servicio al cliente es muy importante para el negocio
No. Es un claro ejemplo de que a los clientes hay que escogerlos bien, y no por ser Facebook eres un buen cliente o un buen partner. Git se debe a ese 99% de desarrolladores que lo usan, no a una empresa multimillonaria que puede pagarse su desarrollo si quiere. Git hizo bien en no malgastar recursos en hipotéticas mejoras que sólo afectaban al 0.0000001% de los usuarios. Gracias a no hacer caso a necesidades particulares de usuarios tan poco representativos de la mayoría, Git ha podido centrarse en el resto de casos, que formamos el 99% de los desarrolladores mundiales.
Git es muy bueno...pero a nivel de rendimiento en grandes repositorios es basura. En OpenBSD siguen usando CVS porque es mil veces más rápido y con la llegada de Got están trabajando para evitar estos problemas.
Una respuesta así a Facebook es bastante lamentable. Meta debería pagar millones de dólares a Git por soporte que simplemente no les importo.
Error de Facebook. Git tenía razón. Que a Facebook les diese pereza hacer lo que tocaba y preferir que alguien se adapatara a ellos y no ellos a lo que tocaba es otra historia.
Qué esperaban? Que el sistema de control de versiones más ampliamente usado cambiase para ellos? O crear un git especial paralelo?
Ya se cambiarán, el problema que tienen solo pasa si tienen binarios trackeados, y claro eso es un error de gestión del sistema de control de versiones
@@migueldeirala no, así no es, no es un tema de preferencia sin más, se trata de un tema de escalado, onboarding en un proyecto a alguien nuevo, replicación de código a alguien novato, inclusión de características o librerías en productos propios con orígenes de diferentes vendors que usan git. No es un tema de preferencia sin más. No es un capricho tonto, el tema está en que Facebook eligió mal
XD ?
Nunca pensé en darle la razón en algo a FB pero en este caso hicierón bien en cambiarse
No entendi por que querian tenerlo todo en un mono repo inmenso, que ventaja tiene eso sobre tenerlo organizado en distintos repos?
Porque es una locura tener que hacer tracking de las dependencias entre tantos repositorios. Se podrían hablar de cientos o incluso miles. Además que tienen tools que le permiten gestionar interdependiencias o solo clonar las partes que le interesan al dev.
Meta siendo Meta
Ellos no tienen una 4spwcie de super set de PHP Hack? Ellos siguieron con el desarrollo?
mi respuesta a Facebook seria del tipo, "ya estas bastante grandecito, si tienes un problema y puedes pagar a los mejores ingenieros del mundo, ponte tú a hacer tu propio git y no molestes" eres una de las empresas mas cotizadas de todas, arregla tus problemas que aca apenas nos alcanza para pagar la factura de luz
Esto me hace preguntarme, como hacen con el Kernel de Linux? 🙃
Dudo mucho que Linux tenga más código que un monorepo de una big tech como Meta o Google.
¿Y es tan molesto usarlo como GIT? En un curso estabamos en grupo haciendo un proyecto y a una compañera le hizo todos conflictos y terminó haciendo un pull donde tomaba cosas viejas como nuevas y además se le borró todo lo que hizo ella al hacer el pull tambien.
Git me parece super complejo, Mercurial es más sencillo.
Seria Interesante que Git implemente la lectura y escritura de archivos que usa Rust
Gracias por tus videos
Me parece extraño, Microsoft usa GIT para el codigo de Windows, que es mas grande, por que no funcionaria de forma correcta para Facebook?
Pensé en GITLAB, primera vez que escucho de Mercurial
Gitlab, usa igual igualmente, igual que GitHub etc etc
Gitlab sigue siendo git
@@Oscar-kx8xh cierto, mala mia.
Claro un gigante como fb haciendo demandas al software open source... Mi pregunta es que ofrecieron? Capital financiero? Humano?
O sea que cualquier dev tiene TODO el repo. No solo me parece mala practica por los problemas mencionados, tambien me parece mala practica desde el punto de vista de la seguridad.
Ese monolito de facebook debe pesar unos 200 GB de puro codigo
Órale, ni al utilizar Actix web me tarda tanto al compilar y ejecutar
Al final si se cambiaron por un tema de rendimiento
medio raro que solo facebook tenga esos problemas con git. Microsoft y google tienen muchisimos mas productos que ellos
Microsoft aparte de usar Git, usa también Team Foundation Version Control (TFVC)
La diferencia es que los demás tienen varios repositorios para solucionar ese problema y aparte cuentan con muchos más servidores a su disposición que Facebook
@@Ericelrojo32 ok, entonces la gente de git tenia razon, es probelma de facebook y su manera de hacer las cosas
Google tampoco usa git
@@elpiojo95 Google usa su propio sistema que es a una escala superior del git.
Cómo hace linux entonces, o es que el código de facebook es mas grande que el de linux? Acabo de descargarlo y son 273mb, no entiendo que alguién me explique...
El mono repo de Facebook es lo mejor para trabajar, es increíble increíblemente rápido y fácil
Honestamente a simple vista me parece muy irresponsable de Facebook tener todo en un solo repositorio, la respuesta que les dio Git fue perfectamente valida y tiene todo el sentido del mundo, ademas tenia otros beneficios, a mi parecer es mas manejable tener el código mejor subdividido en varios repositorios. Asumo que tendrán sus razones pero me parece una mala practica y honestamente no creo que mercurial les haya bajado mucho el tiempo de respuesta quizá se lo bajaron de 40 minutos a 2 minutos para la mayoría de operaciones, 2 minutos seguiría siendo una bestialidad.
Mercurial solo lo usa Facebook
Hay más empresas que lo usan....
15gb comprimido, Yisus
Y si usan git submodules ? asunto solucionado
Que buen contenido el tuyo tio
Facebook hubiera podido sugerir mejoras para optimizar y no lo hizo
toda empresa grande deberia tener sus propios sistemas ¿porque? seguridad informatica
Brutal, brutal....
pense que ivan a utilizar subversion.
Hay que dejar de pensar que Facebook es quien tiene la potestad de marcar el camino de lo que está bien y que está mal. Saber que hacen es interesante, pero casi nadie va a necesitar usar sus mismos patrones o herramientas en sus propios proyectos. Porque simplemente, Facebook tiene sus propios problemas ultra puntuales a su empresa/tamaño/negocio.
Me pareció perfecta la respuesta de Git.
yo uso git cada 2 o 3 dias y me toma menos de 20 segundos
no se de que tamaño de proyecto estaran hablando pero yo no me quejo
Justamente, el tamaño importante
1 word: Monorepo
Jajaja qué ganarán haciéndolo de esa forma?
No le veo mucho sentido...
Va en contra de la separación de responsabilidades, el "divide y vencerás"
Usan monorepo por eso tienen el problema. Monorepo vs multirepo, ambos tienen ventajas y desventajas... no siempre multirepo es una respuesta.
Y tampoco tiene que ir necesariamente en contra de la separación de responsabilidades tener 1 repositorio grande.
Yo uso SVN en el trabajo en lugar de GIT
El kernell de de Linux es gigante. alo final que e es mas interesante, un Sistema operativo, o una red sociual
Hay que estar demente para meter todo en un mismo repo gigante.
los dos fueron arrogantes el de FB y GIT... egos encontrados hahaha
Que lo migren a PHP, 4x veces mas rapido? pero que clase de comentario es ese, en primera se esta hablando de Control de Versiones, en segunda 4 veces mas rápido?? a que te refieres, cuando uno le tiene miedo al cambio y a la realidad dice cada tonteria, 4 veces mas rapido porfavor ...
🔥
no he visto el video, pero tengo como regla general de que si facebook hace algo, yo sin razon alguna se que es una decicion de mierda y lo mejor es tomar de primera que es la forma incorrecta de hacerlo
❤
Meta es el problema aqui con una mala organizacion de su proyecto segregarlo seria lo mejor, pero quieren seguir con su monstruo y que herramientas gratuitas como git le solucionen su mala practica jajaja
Que es Git❓❓❓🤷♂️
Pues oye, que vagos los de Facebook. Git es open source, no sé porque tiene que ir a los desarrolladores a decir nada. Es que mira que no habea en Facebook gente que sepa de de C
Pero como van a tener un repositorio tan grande xd
En research sí usan git
El comentario de "que lo cambien a PHP" XD
Facebook: "Somos pobres! puedes hacer un trabajo gratis y mejorar su rendimiento?" 😢😢😢
hay empresas donde usan git para el desarrollo pero para despliegue no, y es por miedo xDD
me esperaba un beef y me llevé un bluf
Si no es brutal, no volveré a ver tu canal.
Para mí que tenían que ponerse a estudiar git un poco más...
Team Git Here 😅
Igual el problema no es que git sea lento o poco eficiente, igual el problema es otro y lo tiene facebook en como escribe tanto código., jaja.
Supongo que Git es gigante pero no sé hasta qué punto se la puede sudar perder un cliente como Facebook... porque no solo será Facebook, sino todos los proyectos que tenga Meta. No das muy buena imagen la verdad.
Git no tiene clientes porque no venden nada. Tiene usuarios y se financia con donaciones. Se hizo en concreto para gestionar el kernel de linux y hoy en día la mayor parte de la industria lo adopta porque ha demostrado ser muy bueno en muchas cosas sin llegar a ser perfecto pero es absurdo plantear en modificar el proyecto para que se adapte a las necesidades de Meta. Es como si Microsoft que ha adoptado React en varios de sus proyectos llame a Meta a pedir que se adapten React a una necesidad en concreta o dejarán de usarlo Evidentemente Meta les dirá que se vayan por dónde vinieron. Los que no dan buena imagen son los que exigen en la comunidad open source sin ofrecer nada a cambio mas que "dadme soporte, soy Meta y quieres que use tu producto".
Afortunadamente la comunidad de linux se ha caracterizado por no tragar mierda de las grandes corporaciones y el ecosistema demuestra que ha sido una decision correcta
Al final fue por la mediocridad de los desarrolladores.
Linus trovalds 2014: a tomar por saco 😂
Por qué usas BRAVE ?
Por qué no?
@@NimbleTron Porque no puedes llevarte tus marcadores, contraseñas y datos de formulario de un dispositivo a otro solo usando tu cuenta de Google (por ponerte un ejemplo)
@@devenmotolos puedes migrar fácilmente, es casi un estandar
jajaja yo use SVN
La redaccion parece mas de un scammer de pakistan que del procurador de facebook😂
Chan...
En resumen, por ocio 😂
La respuesta de git es la correcta😂😂
mas feo que tener todo en un solo repo XD
Esa desatencion le puede salir cara a git.
Qué tanto, si dominan el mercado y hasta para desarrollar Linux se usa Git (lo crearon para eso)
Todo en un repo alv 😂
Yo no uso ninguna....no la uso para nada ... Y les cuento porque....no es mi idea que algo me simplifique la vida...en realidad yo busco emocion...adrenalina......si ya sė lo que pensará n....adrenalina de escritorio pero adrenalina al final😅
Claramente Facebook tiene un infierno de codigo, debe ser una porqueria trabajar en ese proyecto...
Es un proyecto gigante, todo se complica. Estamos hablando de miles de desarrolladores, no 5. Todo anda más lento.
@@victoravr10 miles de desarrolladores para hacer esa basura?
@@JulLunbasura que cuesta miles de millones de dólares, dime los tuyos, ¿cuánto valen?
@@JulLunNo entiendo tu punto. Es un proyecto, hacen esfuerzos por mejorar en variados aspectos cada año. Proveen estándares para el mundo entero. ¿tienes alguna observación concreta de algún repositorio? ¿alguna queja con una implementación? Son personas, ¿porque tratas como basura su trabajo? ¿Te crees el creador de Linux?
@@carlosmejia9976 si tenes miles de desarrolladores para millones de lineas de codigo es factible que sean miles de malos desarrolladores cobrando migajas generando millones de lineas de codigo no performante. Podria aseverar que la mayoria de esos "devs" son hindues. Y por favor no me vengas con el "y lo tuyo" por favor. Llevo mas de 10 años desarrollando software, pase por muchas empresas grandes, chicas, nacionales, internacionales, hasta una radicada especificamente en India. Conozco la industria, los desarrolladores ganamos bien, pero los que dirigen las empresas ganan lejos mejor, aun cuando sus empresas son un desastre. El problema es que a veces cuando no es posible escalarlas se invierte mucho mas dinero que el que se deberia por el simple hecho de que los proyectos no performan, y siempre hay cosas que hacen que los proyectos se estanquen por no innovar, por no mantener personal idoneo con conocimientos que son vitales para el proyecto, y manteniendo personal nuevo sin ningun tipo de conocimiento de lo que realmente deberia hacer. Este es un caso perfecto para ejemplificar esto, claramente Meta esta a la deriva. Que el gerente de tecnologia no sepa como mejorar la forma en que utiliza GIT y encima haga a la empresas invertir mucho mas dinero en un manejador de versiones que casi no se utiliza te da una idea de donde puede llegar a quebrar una empresa, a veces los inutiles de los gerentes generales se dan cuenta y hacen cambios positivos. Ese gerente de tecnologia no creo que siga en Meta, yo siendo el gerente general de Meta lo hubiera echado a los dias de haber tomado esa desicion de seguir con Mercurial. Los inutiles que manejan mal las empresas sobresalen en las revisiones cuando toman ese tipo de desiciones. Tan estupidos no son los que manejan la papota. Ademas, hablando de todo esto: ¿Quien sabes que soy yo? ¿Porque insultas y juzgas? Se mas precavido con las palabras, te puedo cruzar en una entrevista en cualquier momento.