Sourcegraph descontinúa sus funciones de código abierto
(github.com/sourcegraph)- Sourcegraph pasó a un monorepo privado
- Este repositorio (
sourcegraph/sourcegraph-public-snapshot) es una copia pública del repositoriosourcegraph/sourcegraphjusto antes de la transición
1 comentarios
Comentarios en Hacker News
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 sourceEl 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
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
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 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
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-clangen un proyecto basado en Bazel, e intenté una configuración dedocker-composeen mi homelabAhora 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
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
ripgrepen localReseñ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...
Si no es demasiado grande, también funciona bien con varios repositorios
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:xyzAhora 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ó
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
grepGitHub no es gratis, especialmente para organizaciones privadas grandes, y Sourcegraph tiene capacidades de búsqueda mucho mejores que GitHub
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
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
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
Es completamente rarísimo
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
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 ChromiumEste 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
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
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
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
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.
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.
cs: https://github.com/boyter/cs