2 puntos por GN⁺ 2024-08-21 | 1 comentarios | Compartir por WhatsApp
  • A mediados de 2019, mientras buscaba trabajo, tuve que elegir entre Google Goteam y Sourcegraph
  • Elegí Sourcegraph por su cultura de construir todo de forma pública
  • Toda la documentación era pública por defecto, y los RFC técnicos y de producto, PR/FAQ, etc., se guardaban en carpetas públicas de Google Drive
  • Toda la implementación del producto se realizaba en repositorios públicos de GitHub
  • Ahora el repositorio sourcegraph/sourcegraph se volvió privado
  • Esta fue una decisión que destruyó la cultura atractiva de Sourcegraph
  • Sourcegraph dejó un snapshot público llamado sourcegraph/sourcegraph-public-snapshot

Mantener las referencias

  • Mientras trabajaba en Sourcegraph, escribí muchos artículos en el blog de ingeniería
  • Muchos artículos usaban como referencia enlaces al código público relacionado
  • Ahora todos esos enlaces están rotos
  • Existe el dicho: "Las URI geniales no cambian"
  • Estoy tratando de preservar tanta información como sea posible para evitar que los enlaces se rompan de repente
  • Hice un fork de sourcegraph/sourcegraph en efritz/sourcegraph
  • Los forks no heredan los pull requests, y los commits que no están referenciados directamente en una rama no son visibles
  • Según la documentación de GitHub, aunque un repositorio público se vuelva privado, los forks siguen existiendo
  • Sin embargo, cuando el repositorio original se vuelve privado, los commits fuera de la rama main pueden desaparecer

Scraping de commits relacionados

  • Ejecuté un programa en Go para encontrar todos los commits
  • Este programa generó 2,645 archivos de metadatos de pull requests
  • Usé jq para leer los payloads JSON y extraer los datos
  • Generé los archivos pr_ids.txt, commits.txt y replace_pairs.txt
  • Ejecuté un segundo programa para listar los commits no fusionados de cada pull request
  • Este programa agregó commits al archivo commits.txt

Traer commits a una nueva red de repositorios

  • Los traje al fork creando ramas que contienen cada SHA relevante
  • Usé un script en Bash para ejecutar las operaciones de git de forma secuencial

Reescritura de referencias

  • Ahora ya puedo enlazar cada referencia a su destino dentro del fork
  • Implementé el proceso automatizado con xargs
  • Reescribí las referencias directas a commits para que apunten al fork, y las referencias a pull requests para que apunten al commit de merge

Resumen de GN⁺

  • El cambio de Sourcegraph a privado tuvo un gran impacto en la cultura open source
  • Muchos enlaces de referencia del blog de ingeniería se rompieron, y preservarlos requirió mucho esfuerzo
  • Se usaron forks de GitHub y scripts para reescribir referencias y preservar commits
  • Este artículo destaca la sostenibilidad de los proyectos open source y la importancia de los enlaces de referencia

1 comentarios

 
GN⁺ 2024-08-21
Opiniones en Hacker News
  • Opinión del CEO de Sourcegraph:

    • La razón para volver privado el código base interno es mantener el enfoque
    • Ser open source y mantener todo público implica mucho trabajo adicional y riesgos
    • Deben enfocarse en crear un excelente producto de búsqueda/inteligencia de código para los clientes
    • Siguen haciendo mucho por los desarrolladores y la comunidad OSS
      • Ofrecen un popular servicio público de búsqueda de código
      • Mantienen mucho código open source
    • Si otros fundadores están pensando en si hacer público su código o no, puede asesorarlos
  • Opinión de otro usuario:

    • Sourcegraph era vista como una empresa que entendía bien la cultura de desarrolladores, pero los cambios recientes son decepcionantes
    • Intentó encontrar la hoja de ruta pública, pero la mayoría de la documentación también pasó a ser privada
    • El handbook que antes era público se movió a Notion, y la mayoría de las partes importantes enlazan a documentos privados de Google
  • Opinión de otro usuario:

    • Recientemente desapareció el índice de búsqueda pública de Sourcegraph
    • Usaba mucho Sourcegraph hasta que mejoró la búsqueda de GitHub
    • Ahora los repositorios de GitLab y muchos repositorios de GitHub desaparecieron del índice
    • No le queda otra que volver a GitHub por la falta de confianza en la función de búsqueda
  • Opinión de otro usuario:

    • Hizo un fork de la versión open source para quitar la telemetría, desactivar las actualizaciones, eliminar código propietario, crear imágenes de Docker e implementar una autenticación Oauth2 ligera
    • Planea ejecutarlo por mucho tiempo detrás de Oauth2-Proxy
    • Es un software muy confiable
  • Opinión de otro usuario:

    • Usaba mucho Sourcegraph para trabajo de ingeniería inversa en macOS
    • Gracias a la búsqueda de Sourcegraph, existen muchos proyectos
    • Espera que la función de búsqueda no desaparezca en el futuro
  • Opinión de otro usuario:

    • Volver privado todo el trabajo de desarrollo es extraño y desconcertante
    • Se pregunta por qué pasaron a privado si solo con restricciones de licencia probablemente ya podían lograr sus objetivos de negocio
  • Opinión de otro usuario:

    • Usó mucho Sourcegraph, pero se pregunta cuánta gente realmente pagó por ello
    • Operar una empresa open source es difícil
    • Entiende que, a medida que la empresa madura, hay cosas que ya no puede seguir ofreciendo gratis
  • Opinión de otro usuario:

    • El proyecto Software Heritage archivó la mayoría de los repositorios de Sourcegraph
    • El último rastreo fue a mediados de julio de 2024
  • Opinión de otro usuario:

    • Menciona un episodio anterior en el que ya se había hablado de que Sourcegraph dejaba de ser open source
  • Opinión de otro usuario:

    • Citó y recomendó mucho Sourcegraph, pero en realidad nunca pagó por usarlo
    • Tiene curiosidad por saber por qué abandonaron el open source, aunque no le sorprende