1 puntos por GN⁺ 2023-07-05 | 1 comentarios | Compartir por WhatsApp
  • Sourcegraph pasó a un monorepo privado
  • Este repositorio (sourcegraph/sourcegraph-public-snapshot) es una copia pública del repositorio sourcegraph/sourcegraph justo antes de la transición

1 comentarios

 
GN⁺ 2023-07-05
Comentarios en Hacker News
  • Hablando como CEO de Sourcegraph, Sourcegraph ahora se divide en dos productos separados: búsqueda de código y Cody
    Cody sigue siendo open source bajo licencia Apache 2 en el directorio client/cody* del repositorio, y pronto se separará en un repositorio independiente que será 100% open source
    El principio de licenciamiento es ofrecer herramientas para desarrolladores individuales como open source y cobrarles a las empresas
    La variante open source de funcionalidad limitada para búsqueda de código casi no fue usada ni por desarrolladores individuales ni por empresas, y el uso de la búsqueda de código de Sourcegraph estaba aún más inclinado hacia la compilación oficial no open source que en casos como Google Chrome vs. Chromium, o VS Code vs. VSCodium
    Mantener las dos variantes era una carga para el equipo de ingeniería y el beneficio para los usuarios era muy pequeño
    Hay una explicación más detallada en https://github.com/sourcegraph/sourcegraph/issues/53528#issu...
    Los cambios se anunciaron en el changelog y en el PR, y todo el desarrollo se hizo de forma pública
    Según lo planeado, después de dividir el gran monorepo en un repositorio 100% open source para Cody y un repositorio no open source para búsqueda de código, publicarán una entrada de blog esta semana
    Se podrá seguir usando gratis la búsqueda de código de Sourcegraph para código público en https://sourcegraph.com, y para código privado en el nivel gratuito de self-hosting
    Es decir, los desarrolladores individuales todavía pueden ejecutar la búsqueda de código de Sourcegraph 100% gratis, y no hay impacto para los clientes
    • Sourcegraph solo ofrecía imágenes no open source, el proceso de compilación había sido difícil y frágil durante mucho tiempo, y la propia aplicación de la versión open source también se rompía con frecuencia
      Basta con buscar unos minutos en los issues para encontrar bastantes resultados al respecto: https://github.com/sourcegraph/sourcegraph/issues/43231, https://github.com/sourcegraph/sourcegraph/issues/43203, https://github.com/sourcegraph/sourcegraph/issues/6790, https://github.com/sourcegraph/sourcegraph/issues/6783
      Si poca gente podía compilarlo, y aun cuando lo lograban el resultado se rompía cada pocas versiones, es natural que el uso de la versión open source fuera bajo
      VS Code y Chromium, por su naturaleza y popularidad, son fáciles de compilar y se pueden conseguir versiones precompiladas en varios lugares
      Puede que instale una compilación “no oficial” de Chromium desde el repositorio de una distro, pero no voy a meter mi código en una compilación no oficial de Sourcegraph hecha por un desconocido en GitHub
      Comparar ambos casos es bastante injusto, y también había otros problemas que frenaban la adopción del open source
      Durante un tiempo, la imagen oficial de Docker de Sourcegraph incluía una licencia gratuita para 10 asientos, y como eso era suficiente para mucha gente, no buscaban alternativas como una compilación open source
      No considero que anunciar cambios de licencia y el cierre del producto en un pequeño bloque dentro del archivo de changelog, o cuando alguien menciona el problema en GitHub Issues, sea una comunicación suficiente para cambios de este tipo
      Es amargo ver que no se use un principio open-first, que el producto se limite con plugins solo para enterprise como dijeron otros aquí abajo, que no se ofrezcan compilaciones open source, y que se cambie la licencia sin aviso previo después de haber aprovechado antes el marketing gratuito y positivo asociado al término open source
      Más aún porque hoy en día demasiadas empresas están haciendo esto por culpa de las tasas de interés
    • Durante mucho tiempo impulsé la adopción de SourceGraph en el trabajo, pero la distribución de la versión open source era prácticamente imposible, así que ni siquiera pasó de la evaluación
      No diría que la percepción de Sourcegraph de que la versión open source no tuvo éxito sea equivocada, y claramente es más fácil cerrar el código
      Pero al final eso significa que calcularon que el esfuerzo de mantener abierta esa vía de entrada no valía tanto como la gente que llegaba por ella, así que una de las vías de adopción queda cerrada
      También hay otra posibilidad. Estoy más de acuerdo con la idea de que esa vía nunca estuvo lo bastante abierta como para tener una oportunidad real de éxito desde el principio
    • Si “se les cobra a las empresas y las herramientas para desarrolladores individuales se hacen open source”, entonces no deberían usar el término Open Source
      Si pones ese tipo de restricciones, no es open source, y es bastante fácil ver que no es algo honesto
      Ese tipo de licencia no está aprobada por la OSI
    • Yo era una de las pocas personas que usaban la versión open source y me gustaba bastante, así que este cambio me decepciona
      La dificultad de Sourcegraph era que para los desarrolladores con proyectos personales resultaba poco accesible
      No había un plan alojado, y mis proyectos no podían publicarse fácilmente como open source por motivos de mi empleador
      Cuando salió Sourcegraph App, me emocionó mucho porque podía probar Sourcegraph en mis proyectos sin una configuración compleja de self-hosting
      Hasta logré hacer funcionar scip-clang en un proyecto basado en Bazel, e intenté una configuración de docker-compose en mi homelab
      Ahora quitaron la búsqueda de código de la app y además llegan estos cambios, así que me preocupa no poder seguir usando Sourcegraph para proyectos personales en el futuro
      Esta fue una oportunidad desperdiciada
      Un desarrollador individual que usa el producto en proyectos personales puede convertirse en un defensor muy fuerte, y ese desarrollador puede convencer a su empleador de comprar el producto
      Si fuera posible, pagaría con gusto, pero como una sola persona es difícil justificar US$5 mil al año
    • Creo que todos los comentarios, incluyendo los críticos, son justos y considerados
      Si quieren seguir conversando después de que esto salga de la portada de HN, pueden entrar al Discord https://discord.gg/rDPqBejz93

Si quieres compartir comentarios o quejas directamente, avísame. Si te parece bien, también puedo hacer pública la grabación.

  • Si buscas una herramienta de búsqueda open source para hacer grep a velocidad absurda en varios repositorios o en un monorepo grande, recomiendo muchísimo livegrep: https://github.com/livegrep/livegrep
    La demo está en https://livegrep.com/search/linux
    Se usó en Stripe y fue bastante popular; incluso para buscar en un solo repositorio, muchas veces livegrep era más rápido que ripgrep en local
    Reseña: https://www.alexdebrie.com/posts/faster-code-search-livegrep...
    Reflexión sobre su impacto por parte de su autor, nelhage: https://blog.nelhage.com/post/reflections-on-performance/, artículo sobre la arquitectura: https://blog.nelhage.com/2015/02/regular-expression-search-w...

    • https://oracle.github.io/opengrok/ también es open source, y es rápido y útil incluso en una base de código enorme como juntar todo Android más el kernel de Linux
    • También está https://github.com/boyter/cs, que se está desarrollando con un objetivo de menor escala
      Si no es demasiado grande, también funciona bien con varios repositorios
    • livegrep es, literalmente, una versión web de grep bastante buena
      Pero claramente no es un reemplazo de Sourcegraph, que sí permite entender de verdad el código subyacente, seguir rutas de código y buscar referencias
  • No deberías fundar una startup bajo la premisa de que el producto de otra persona será insuficiente para siempre
    Con la renovación reciente de la búsqueda de GitHub, es muy posible que Sourcegraph haya perdido relevancia
    La búsqueda anterior de GitHub usaba un algoritmo casi de lo peor
    Tiraba toda la puntuación y los espacios, buscaba solo identificadores, no aceptaba patrones ni búsquedas entre comillas, y casi el único metaparámeter útil era filename:xyz
    Ahora que GitHub mejoró la búsqueda básica, Sourcegraph podría estar en riesgo
    Usé Sourcegraph en Lyft, donde en ese momento prácticamente había presupuesto ilimitado para desperdiciar en herramientas de software, y en Databricks instalamos la versión open source, pero a nadie le importó

    • La búsqueda de GitHub solo vuelve irrelevante a Sourcegraph cuando todo tu código está alojado en GitHub
      Ya me cansé bastante de que una solución exclusiva de GitHub sea tratada como “estándar de la industria”
      Lo mismo con los vendors que solo sacan integraciones con productos que funcionan únicamente en GitHub
      Git es un protocolo descentralizado, así que por favor trátelo como tal
    • Aunque la búsqueda de GitHub haya mejorado un poco, sigue siendo raramente mala, así que todavía hoy bajo repositorios de GitHub con regularidad y simplemente hago grep
    • No creo que la búsqueda de GitHub vaya a reemplazar a Sourcegraph
      GitHub no es gratis, especialmente para organizaciones privadas grandes, y Sourcegraph tiene capacidades de búsqueda mucho mejores que GitHub
    • Me pregunto si todavía queda un nicho enterprise que no use la versión cloud de GitHub o GitLab, etc.
      Según entiendo, no hay planes de llevar la nueva búsqueda de código a la versión on-premise de GitHub
  • Me pregunto si realmente hubo gente usando la versión abierta
    Recuerdo vagamente haberla revisado hace 2 o 3 años, y todas las funciones realmente interesantes estaban ausentes
    El precio enterprise era como de 100 dólares por desarrollador al mes, completamente absurdo, y era evidente que apuntaban solo a clientes grandes con presupuestos infinitos
    Ahora parece que el precio cambió y “Enterprise Starter” dice desde 5 mil dólares al año, pero aunque lista muchas cosas, no queda nada claro cuáles son las limitaciones reales
    De verdad me interesa este producto y podría ser una buena adición a nuestro stack de herramientas, así que da lástima que el precio sea tan opaco

    • La versión open source no tenía imagen oficial precompilada de Docker, así que había que compilarla uno mismo, y durante mucho tiempo el build open source estuvo roto
      Hace 1 o 2 años prometieron arreglarlo o proporcionar imágenes oficiales open source, pero no pasó
      Al final una persona armó en GitHub un release train funcional y distribuyó contenedores open source, que en Docker Hub acumularon más de 10 mil pulls
      Es bastante para una imagen no oficial
      Si una herramienta de terceros que ni siquiera es crítica para la infraestructura exige contacto comercial, por lo general la evito
      No me hagan perder tiempo de la empresa tratando con ventas por unas cuantas licencias; solo denme un campo para ingresar un número y un botón de compra
      También perdí algo de confianza en Sourcegraph, porque parece cambiar de dirección, precios y reglas varias veces al año
    • Instalé la versión open source en la empresa por curiosidad y sincronicé unos 750 repositorios
      Apliqué algunos parches para que soportara un proxy OAuth2 y también eliminé la telemetría
      El software en sí es excelente, muy rápido y funciona tal como fue diseñado
      Unos meses después había 70 usuarios registrados, pero en total solo 3 personas lo usaron más de unas cuantas veces
    • Me recuerda al precio de usuario full de New Relic de 400 dólares al mes
    • Ahora parece que están girando con fuerza hacia AI, y casi da la impresión de que ni quieren reconocer que existe un producto de lectura
      Es completamente rarísimo
    • No me parece justo decir que pagar 100 dólares al mes requiere un “presupuesto infinito”
      Mi presupuesto es bastante limitado y aun así pagamos más que eso por varios productos
      Si es una herramienta que mejora la productividad o ayuda al negocio, perfectamente vale la pena pagarla
  • La licencia cambió hace casi 3 semanas, pero esa información no aparece en el post del blog del lanzamiento 5.1.0
    Todavía no hay anuncio oficial
    Parece que el autor de los contenedores open source de Sourcegraph avisó que su release train ya terminó: https://github.com/jensim/sourcegraph-release-train/

  • El soporte durante el período de prueba fue bastante malo, también faltaba soporte para C++ complejo, no se integraba bien con sistemas modernos de build de C++, y el precio era absurdo
    Siguieron insistiendo con la función “campaign”, pero era una herramienta de autorrefactorización demasiado compleja que ni siquiera podía soportar nuestro sistema de build no propietario y bien conocido
    En lugar de pagar ese costo de licencia, contratamos a dos desarrolladores para refactorización de código, y luego ellos también hicieron otras herramientas, además de que no tuvimos que contratar a alguien aparte para encargarse de una integración de servicios deficiente
    Cuando hablábamos con ellos, era difícil decir que hubieran encontrado un nicho de mercado
    Puede que ahora haya mejorado

    • Por el hecho de que usaste el nombre antiguo “campaign”, parece que evaluaste Sourcegraph hace unos 2.5 años o antes
      Desde entonces ha cambiado mucho
      Hace poco lanzaron el nuevo indexador scip-clang(https://about.sourcegraph.com/blog/announcing-scip-clang) y lo usaron con éxito para indexar bases de código grandes como Chromium
      Este indexador depende de una base de datos de compilación JSON, igual que el indexador anterior lsif-clang, y se puede generar fácilmente desde CMake, Bazel, Meson, Make, etc.
      Recientemente también pasó a soportar navegación de código entre repositorios en C++: https://about.sourcegraph.com/blog/c-cpp-cross-repo
    • Me intriga cuánto costaba exactamente, si con el precio de la licencia pudieron contratar a 2 desarrolladores
    • Me da curiosidad qué sistema de build usaban
      Pensaba que hoy en día las bases de datos de compilación JSON se pueden generar relativamente bien
      Por ejemplo, también se usan en el servidor de lenguaje de VS Code
  • https://github.com/sourcegraph/sourcegraph/issues/53528#issu... parece ser un comentario de alguien del proyecto que resume por qué hicieron el cambio

    • Lo más llamativo es esto
      Sourcegraph dice que seguirá comprometido con Zoekt, el motor de búsqueda de código open source, y que seguirá enviando cambios upstream: https://github.com/sourcegraph/zoekt
      También dice que el código fuente seguirá siendo público
      Los desarrolladores individuales podrán seguir usando Sourcegraph gratis tanto con el código público de sourcegraph.com como con código privado en el nivel gratuito self-hosted
      Muy pocos desarrolladores individuales o empresas usaban la variante limitada de búsqueda de código que era open source, y la gran mayoría absoluta, más del 99.9%, usaba el producto enterprise
      Mantener ambas variantes en adelante era una carga importante para el equipo de ingeniería y el beneficio para los usuarios era muy pequeño
    • Hace unos meses eliminaron la licencia enterprise gratuita que permitía 10 asientos de desarrollador, y algunas empresas pequeñas probablemente estaban postergando actualizaciones mientras miraban la versión open source, pero ya no parece ser el caso
    • Parece que nadie usaba la versión open source, y no querían seguir manteniendo dos versiones que nadie usaba
      También dice que ofrecen una versión self-hosted gratuita para individuos, pero no pude encontrarla en el sitio
  • En general, nunca me han gustado los productos open core
    Como alguien que crea cosas, poner obstáculos frente a los usuarios y limitar hasta dónde pueden usar lo que hice me parece una falta de oficio
    A veces también se siente que las decisiones tomadas para obstaculizar deliberadamente la manera en que la gente usa el producto provienen puramente de la codicia
    Si imagino un mundo en el que Sourcegraph fuera completamente software libre, aun así es muy probable que los clientes enterprise hubieran pagado para alojar Sourcegraph on-premises de forma segura
    Lo que no habrían podido hacer es cobrar por asiento
    Habrían tenido que mantener el precio del producto lo bastante bajo para que al cliente no le saliera mucho más barato contratar ingenieros y mantener Sourcegraph por su cuenta on-premises
    Me pregunto si Sourcegraph, o cualquier otra empresa open core, ha intentado alguna vez estimar cuántos clientes e ingresos perdería al pasarse por completo al software libre
    Crear software libre y cobrar por el hosting puede ser la base de un negocio sostenible, pero probablemente sea difícil que produzca resultados al nivel que espera el capital de riesgo de una inversión exitosa
    Sinceramente, creo que está bien que la infraestructura sea software cerrado y propietario
    Porque si estás escribiendo programas en los que la seguridad es importante, publicar libremente el código de infraestructura puede darle mucha munición a los atacantes
    Si crees en el poder de la automatización y en construir software de alta calidad, puedes hacer software libre cuya infraestructura sea propietaria, que se despliegue y mantenga fácil y seguramente en la infraestructura del cliente, con una carga operativa muy baja para quien lo hospeda
    Este enfoque podría llevar a un negocio muy sólido
    Me pregunto por qué no vemos más negocios así

  • https://github.com/sourcegraph/sourcegraph/commit/3cd931ef54... tiene un poco de información adicional, pero no mucha

    • Normalmente uno esperaría que el anuncio de cambio de licencia saliera antes de implementar ese cambio
  • Me pregunto qué sistema de búsqueda de código open source sería bueno para conectar alrededor de 100 repositorios Git y poder usarlo en la web.
    No quiero la búsqueda de GitHub porque busca de forma demasiado amplia y no puede incluir repositorios como los de GitLab.
    Antes vi Debian code search https://github.com/Debian/dcs, pero por alguna razón parecía requerir bastante esfuerzo, así que no terminé de investigarlo.
    Aun así, https://github.com/Debian/dcs/blob/main/howto/building.md parece bastante accesible.
    También está Zoekt, que mencionó Sourcegraph https://github.com/sourcegraph/zoekt, pero no estoy seguro de qué tan usable sea.
    Si fuera tan bueno, también me pregunto por qué existía la versión open source de Sourcegraph.
    Viendo las discusiones de los últimos años sobre cómo la versión open source de Sourcegraph se quedó muy atrás, no parece que haya un plan serio de hacer un fork.
    La release de GCS https://github.com/google/codesearch parece haberse liberado como open source sin frontend.
    Más arriba también recomendaron Livegrep https://github.com/livegrep/livegrep y OpenGrok https://oracle.github.io/opengrok/.
    Me entusiasma bastante probarlos, pero tener una configuración de Docker Compose que funcione ayudaría mucho para empezar.
    También está Eureka https://github.com/Rajeev-K/eureka.
    Parece menos potente, pero también más fácil de desplegar.

    • Google codesearch no es realmente un “producto” utilizable.
      Livegrep(https://github.com/livegrep/livegrep) se inspiró en eso y es bastante usable.
      Zoekt también era originalmente un proyecto open source de Google, pero dejó de mantenerse y Sourcegraph se hizo cargo.
      Impulsa la mayor parte de la búsqueda básica por regex/literales de Sourcegraph.
      El código de Mozilla se puede buscar en Searchfox(https://searchfox.org/), que combina el indexador de Livegrep, su propio indexador de Git y bases de datos de referencias cruzadas por lenguaje.
      OpenGrok(https://github.com/oracle/opengrok) también es bastante conocido, pero siempre sentí que su UI era un poco peor que la de las alternativas.
    • Para repositorios pequeños y uso desde línea de comandos también está cs: https://github.com/boyter/cs
    • También está Hound: https://github.com/hound-search/hound