- Sourcegraph passe à un monorepo privé
- Ce dépôt (
sourcegraph/sourcegraph-public-snapshot) est une copie publique du dépôtsourcegraph/sourcegraphjuste avant la transition
sourcegraph/sourcegraph-public-snapshot) est une copie publique du dépôt sourcegraph/sourcegraph juste avant la transition
1 commentaires
Avis sur Hacker News
Cody reste open source sous licence Apache 2 dans le répertoire
client/cody*du dépôt, et sera bientôt séparé dans un dépôt distinct 100 % open sourceLe principe de licence est de fournir en open source les outils destinés aux développeurs individuels et de faire payer les entreprises
La variante open source limitée de la recherche de code était très peu utilisée, aussi bien par les développeurs individuels que par les entreprises, et l’usage de Sourcegraph Code Search était encore bien plus concentré sur la version officielle non open source que dans des cas comme Google Chrome vs. Chromium ou VS Code vs. VSCodium
Maintenir les deux variantes représentait une charge pour l’équipe d’ingénierie, pour un bénéfice très faible côté utilisateurs
Davantage d’explications ici : https://github.com/sourcegraph/sourcegraph/issues/53528#issu...
Les changements ont été annoncés dans le changelog et dans la PR, et tout le développement s’est fait publiquement
Comme prévu, le grand dépôt monolithique sera scindé entre un dépôt 100 % open source pour Cody et un dépôt non open source pour la recherche de code, puis un billet de blog sera publié cette semaine
Pour le code public, il reste possible d’utiliser gratuitement Sourcegraph Code Search sur https://sourcegraph.com, et pour le code privé, via le palier gratuit en auto-hébergement
Autrement dit, les développeurs individuels peuvent toujours exécuter Sourcegraph Code Search gratuitement à 100 %, et cela n’a aucun impact pour les clients
Il suffit de chercher quelques minutes dans les issues pour trouver pas mal d’exemples : 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 peu de gens pouvaient la compiler, et que même en y arrivant le résultat cassait une release sur quelques-unes, il est logique que l’usage de la version open source ait été faible
VS Code et Chromium, par leur nature et leur popularité, sont faciles à compiler et on peut trouver des versions précompilées à plusieurs endroits
J’installerais volontiers un build « non officiel » de Chromium provenant du dépôt de ma distribution, mais je ne mettrais pas mon code dans un build non officiel de Sourcegraph fabriqué par un inconnu sur GitHub
Comparer les deux est assez injuste, et il y avait aussi d’autres problèmes qui ont freiné l’adoption de l’open source
Pendant un temps, l’image Docker officielle de Sourcegraph incluait une licence gratuite de 10 sièges, ce qui suffisait à beaucoup de monde, donc personne n’allait chercher des alternatives comme le build open source
Annoncer un changement de licence et la fermeture du produit dans un petit bloc d’un fichier de changelog, ou seulement quand quelqu’un soulève le sujet dans GitHub Issues, ce n’est pas une communication suffisante pour un changement de cette ampleur
Ne pas suivre un principe d’open-first, limiter le produit avec des plugins réservés à l’enterprise comme d’autres l’ont dit sous cet article, ne pas fournir de build open source, et changer la licence sans préavis après avoir auparavant bénéficié d’un marketing gratuit agréable grâce au terme open source, cela laisse un goût amer
C’est d’autant plus vrai qu’en ce moment trop d’entreprises font ce genre de chose à cause des taux d’intérêt
Je ne pense pas que Sourcegraph se trompe en estimant que la version open source n’a pas réussi, et il est évidemment bien plus simple de fermer le code
Mais au final, cela revient à juger que l’effort nécessaire pour garder ouvert ce canal d’acquisition ne vaut pas les utilisateurs qui arrivent par ce canal, donc c’est simplement un canal d’acquisition qui se ferme
Il existe une autre possibilité. Je suis davantage d’accord avec l’idée que ce canal n’a jamais été suffisamment ouvert pour avoir une chance réelle de réussir dès le départ
Avec ce type de restriction, ce n’est pas de l’open source, et le manque d’honnêteté saute assez vite aux yeux
Ce type de licence n’est pas approuvé par l’OSI
Le problème de Sourcegraph, c’est qu’il restait difficile d’accès pour les développeurs travaillant sur des projets personnels
Il n’y avait pas d’offre hébergée, et mes projets ne peuvent pas facilement être rendus open source à cause de mon employeur
Quand Sourcegraph App est arrivé, j’étais vraiment enthousiaste à l’idée de pouvoir tester Sourcegraph sur mes projets sans configuration complexe en auto-hébergement
J’avais même réussi à faire fonctionner
scip-clangsur un projet basé sur Bazel, et j’avais aussi essayé une configurationdocker-composedans mon homelabMaintenant que la recherche de code a été retirée de l’application et qu’il y a en plus ce changement, je crains de ne plus pouvoir utiliser Sourcegraph pour mes projets personnels à l’avenir
C’est une occasion manquée
Les développeurs individuels qui utilisent un produit sur leurs projets personnels peuvent devenir de puissants ambassadeurs, et ensuite convaincre leur employeur d’acheter ce produit
Je serais prêt à payer si c’était possible, mais en tant qu’individu, 5 000 dollars par an sont difficiles à justifier
Si vous voulez continuer à en parler après que le sujet aura quitté la première page de HN, rejoignez le Discord : https://discord.gg/rDPqBejz93
Si vous voulez partager directement des retours ou des critiques, faites-le moi savoir. Si cela vous convient, je peux aussi rendre l’enregistrement public.
Si vous cherchez un outil open source de recherche dans le code capable de grep à une vitesse folle sur plusieurs dépôts ou sur un très gros monorepo, je recommande vivement livegrep : https://github.com/livegrep/livegrep
La démo est ici : https://livegrep.com/search/linux
C’était utilisé chez Stripe et c’était assez populaire, et même pour la recherche dans un seul dépôt, livegrep était souvent plus rapide que
ripgrepen localArticle de revue : https://www.alexdebrie.com/posts/faster-code-search-livegrep...
Retour d’expérience de son créateur, nelhage, sur son impact : https://blog.nelhage.com/post/reflections-on-performance/, article sur l’architecture : https://blog.nelhage.com/2015/02/regular-expression-search-w...
Ça fonctionne aussi bien sur plusieurs dépôts tant que ce n’est pas trop gros
Mais ce n’est clairement pas un remplaçant de Sourcegraph pour réellement comprendre le code sous-jacent, suivre les chemins dans le code et rechercher les références
Il ne faut pas monter une startup en partant du principe que le produit de quelqu’un d’autre restera éternellement insuffisant
Avec la récente refonte de la recherche GitHub, il est possible que Sourcegraph ait perdu en pertinence
L’ancienne recherche GitHub utilisait un algorithme proche du pire du pire
Elle supprimait toute ponctuation et tous les espaces pour ne chercher que des identifiants, ne supportait pas les motifs, ne permettait pas la recherche entre guillemets, et les seuls méta-arguments à peu près utiles se limitaient presque à
filename:xyzMaintenant que GitHub a amélioré sa recherche de base, Sourcegraph peut être en danger
J’ai utilisé Sourcegraph chez Lyft, où à l’époque l’argent gaspillé dans les outils logiciels était quasiment illimité, et chez Databricks nous avions installé la version open source, mais personne n’y prêtait attention
Je suis assez fatigué de voir des solutions réservées à GitHub présentées comme le « standard de l’industrie »
Même chose pour les éditeurs qui ne proposent des intégrations qu’avec des produits qui ne marchent que sur GitHub
Git est un protocole décentralisé, alors il faudrait le traiter comme tel
grepGitHub n’est pas gratuit, surtout pour les grandes organisations privées, et Sourcegraph a des fonctions de recherche bien meilleures que GitHub
Si j’ai bien compris, il n’est pas prévu d’ajouter la nouvelle recherche de code à la version on-premise de GitHub
Je me demande si quelqu’un utilisait réellement la version ouverte
J’ai le vague souvenir d’y avoir jeté un œil il y a 2 ou 3 ans, et toutes les fonctionnalités vraiment intéressantes avaient disparu
Le tarif enterprise était d’environ 100 dollars par développeur et par mois, complètement absurde, et il était clair qu’ils ne visaient que de gros clients avec des budgets illimités
Les prix semblent avoir changé depuis, et « Enterprise Starter » est annoncé à partir de 5 000 dollars par an, mais malgré la longue liste d’éléments, il reste très flou de savoir quelles sont les vraies limitations
Ce produit m’intéresse réellement et pourrait être un bon ajout à notre boîte à outils, donc cette opacité tarifaire est regrettable
Ils avaient promis il y a 1 ou 2 ans de corriger ça ou de fournir une image open source officielle, mais cela ne s’est jamais concrétisé
Au final, quelqu’un a créé sur GitHub une release train fonctionnelle et a publié des conteneurs open source, avec plus de 10 000 pulls sur Docker Hub
C’est beaucoup pour des images non officielles
En général, si un outil tiers qui n’est même pas au cœur de l’infra exige un contact commercial, je l’évite
Qu’ils arrêtent de nous faire perdre du temps d’entreprise à parler à des commerciaux pour quelques licences, et qu’ils mettent simplement un champ pour entrer un nombre et un bouton d’achat
Ma confiance envers Sourcegraph a aussi un peu baissé, car ils donnent l’impression de changer de direction, de prix et de règles plusieurs fois par an
J’ai appliqué quelques patches pour ajouter le support d’un proxy OAuth2 et j’ai aussi retiré la télémétrie
Le logiciel lui-même est excellent, très rapide, et fonctionne comme prévu
Quelques mois plus tard, on comptait 70 utilisateurs enregistrés, mais au total seulement 3 personnes l’avaient vraiment utilisé plusieurs fois
C’est complètement bizarre
Mon budget est pourtant assez limité, et je paie plus que ça pour plusieurs produits
Si un outil améliore la productivité ou aide l’entreprise, il vaut largement son coût
La licence a changé il y a presque 3 semaines, mais cette information n’apparaît pas dans le billet de blog de sortie 5.1.0
Il n’y a toujours pas d’annonce officielle
L’auteur des conteneurs open source de Sourcegraph semble avoir signalé que sa release train s’arrête désormais : https://github.com/jensim/sourcegraph-release-train/
Le support pendant la période de démo n’était pas terrible, la prise en charge complexe du C++ était insuffisante, l’intégration avec les systèmes de build C++ modernes laissait à désirer, et le prix était absurde
Ils poussaient sans cesse la fonctionnalité « campaign », qui était un outil d’auto-refactoring excessivement complexe, incapable de prendre en charge ne serait-ce que notre système de build non propriétaire et pourtant bien connu
À la place du coût de cette licence, nous avons embauché deux développeurs pour le refactoring du code ; ils ont ensuite créé d’autres outils, et nous n’avons même pas eu besoin d’embaucher quelqu’un en plus pour s’occuper d’une intégration de service médiocre
Quand on discutait avec eux, il était difficile de dire qu’ils avaient trouvé une niche de marché
Ça s’est peut-être amélioré depuis
Beaucoup de choses ont changé depuis
Ils ont récemment lancé le nouvel indexeur
scip-clang(https://about.sourcegraph.com/blog/announcing-scip-clang), et l’ont utilisé avec succès pour indexer de grosses bases de code comme ChromiumCet indexeur s’appuie sur une base de données de compilation JSON, comme l’ancien indexeur
lsif-clang, et celle-ci peut être générée facilement avec CMake, Bazel, Meson, Make, etc.Ils prennent aussi en charge depuis peu la navigation de code inter-dépôts en C++ : https://about.sourcegraph.com/blog/c-cpp-cross-repo
Je pensais qu’une base de données de compilation JSON se générait relativement bien de nos jours
Elle est utilisée par exemple par le serveur de langage de VS Code
https://github.com/sourcegraph/sourcegraph/issues/53528#issu... semble être un commentaire de quelqu’un du projet qui résume pourquoi ce changement a été fait
Sourcegraph indique qu’ils resteront engagés dans Zoekt, leur moteur open source de recherche de code, et continueront à faire remonter leurs modifications vers l’upstream : https://github.com/sourcegraph/zoekt
Le code source restera public
Les développeurs individuels pourront continuer à utiliser gratuitement Sourcegraph sur le code public de sourcegraph.com et sur du code privé via le free tier auto-hébergé
Très peu de développeurs individuels ou d’entreprises utilisaient la variante limitée de recherche de code qui était open source, et l’écrasante majorité, plus de 99,9 %, utilisait le produit entreprise
Maintenir ces deux variantes à l’avenir représentait une lourde charge pour l’équipe d’ingénierie, pour un bénéfice très faible pour les utilisateurs
Il est aussi indiqué qu’ils proposent une version auto-hébergée gratuite pour les particuliers, mais je n’ai pas réussi à la trouver sur le site
Globalement, je n’ai jamais aimé les produits open core
En tant que personne qui construit des choses, mettre des obstacles devant les utilisateurs et limiter la manière dont ils peuvent utiliser mon travail me donne l’impression d’un manque de sens de l’artisanat
Les décisions qui entravent délibérément la manière dont les gens utilisent le produit donnent parfois l’impression d’être motivées uniquement par la cupidité
Si j’imagine un monde où Sourcegraph serait entièrement du logiciel libre, les clients entreprise auraient probablement quand même payé pour héberger Sourcegraph on-premise de manière sûre
En revanche, ils n’auraient pas pu facturer par siège
Ils auraient dû maintenir un prix du produit suffisamment bas pour qu’un client n’économise pas énormément d’argent en embauchant des ingénieurs pour maintenir Sourcegraph lui-même en on-premise
Je me demande si Sourcegraph, ou d’autres acteurs de l’open core, ont déjà essayé d’estimer combien de clients et de revenus ils perdraient en passant à un modèle entièrement logiciel libre
Créer du logiciel libre et facturer l’hébergement peut constituer la base d’une activité durable, mais cela ne donnera probablement pas le type de résultats qu’un fonds de capital-risque attend d’un investissement réussi
Honnêtement, je trouve acceptable que l’infrastructure soit un logiciel fermé et propriétaire
Parce que si l’on écrit un programme où la sécurité est importante, rendre librement disponible le code de l’infrastructure peut donner beaucoup de munitions aux attaquants
Si l’on croit à la puissance de l’automatisation et à la construction de logiciels de haute qualité, on peut créer un logiciel libre dont le code d’infrastructure reste propriétaire, facile et sûr à déployer et à maintenir dans l’infrastructure du client, avec une charge opérationnelle très faible côté hébergeur
Cette approche pourrait déboucher sur une activité très solide
Je me demande pourquoi on ne voit pas plus souvent ce type d’entreprise
https://github.com/sourcegraph/sourcegraph/commit/3cd931ef54... contient un peu plus d’informations, mais pas énormément
Je me demande quel système open source de recherche dans le code serait adapté pour connecter environ 100 dépôts Git afin de l’utiliser sur le web
Je ne veux pas de la recherche GitHub, qui est trop large et ne peut pas inclure des dépôts comme GitLab
J’avais regardé Debian code search https://github.com/Debian/dcs il y a quelque temps, mais j’ai arrêté mes recherches car cela semblait demander pas mal d’efforts
Cela dit, https://github.com/Debian/dcs/blob/main/howto/building.md semble assez abordable
Il y a aussi Zoekt mentionné par Sourcegraph https://github.com/sourcegraph/zoekt, mais je ne sais pas à quel point c’est réellement utilisable
Si c’était vraiment très bon, je me demande aussi pourquoi la version open source de Sourcegraph existait
Vu les discussions de ces dernières années sur le fait que la version open source de Sourcegraph avait beaucoup pris de retard, il ne semble pas y avoir de projet sérieux de fork
La release GCS https://github.com/google/codesearch semble avoir été open sourcée sans frontend
Plus haut, Livegrep https://github.com/livegrep/livegrep et OpenGrok https://oracle.github.io/opengrok/ ont aussi été recommandés
J’ai assez hâte de les essayer, mais une configuration Docker Compose fonctionnelle aiderait beaucoup pour démarrer
Il y a aussi Eureka https://github.com/Rajeev-K/eureka
Cela semble moins puissant, mais plus facile à déployer
Livegrep(https://github.com/livegrep/livegrep) en est inspiré et est tout à fait utilisable
Zoekt était aussi à l’origine un projet open source de Google, mais sa maintenance s’est arrêtée et Sourcegraph l’a repris
Il alimente la majeure partie de la recherche regex/littérale par défaut de Sourcegraph
Le code de Mozilla peut être recherché via Searchfox(https://searchfox.org/), qui combine l’indexeur de Livegrep, son propre indexeur Git et une base de données de références croisées par langage
OpenGrok(https://github.com/oracle/opengrok) est aussi assez connu, mais j’ai trouvé son interface un peu moins bonne que celles des alternatives
cs: https://github.com/boyter/cs