- Sourcegraph wechselt zu einem privaten Monorepo
- Dieses Repository (
sourcegraph/sourcegraph-public-snapshot) ist eine öffentliche Kopie des Repositoryssourcegraph/sourcegraphunmittelbar vor der Umstellung
sourcegraph/sourcegraph-public-snapshot) ist eine öffentliche Kopie des Repositorys sourcegraph/sourcegraph unmittelbar vor der Umstellung
1 Kommentare
Hacker-News-Kommentare
Cody bleibt im Verzeichnis
client/cody*des Repositories als Open Source unter der Apache-2-Lizenz und soll bald in ein separates Repository ausgelagert werden, das zu 100 % Open Source istDas Lizenzprinzip ist, Tools für einzelne Entwickler als Open Source bereitzustellen und Unternehmen dafür bezahlen zu lassen
Die Open-Source-Variante mit eingeschränktem Funktionsumfang für Code Search wurde weder von einzelnen Entwicklern noch von Unternehmen kaum genutzt, und die Nutzung von Sourcegraph Code Search war noch viel stärker auf den offiziellen nicht Open-Source-Build konzentriert als in Fällen wie Google Chrome vs. Chromium oder VS Code vs. VSCodium
Die Pflege beider Varianten war eine Belastung für das Engineering-Team, bei sehr geringem Nutzen für die Nutzer
Eine ausführlichere Erklärung gibt es unter https://github.com/sourcegraph/sourcegraph/issues/53528#issu...
Die Änderungen wurden im Changelog und in PRs angekündigt, und die gesamte Entwicklung findet öffentlich statt
Wie geplant soll das große Monorepo in ein zu 100 % Open-Source-Repository für Cody und ein nicht Open-Source-Repository für Code Search aufgeteilt werden; dazu soll diese Woche ein Blogpost erscheinen
Für öffentlichen Code kann Sourcegraph Code Search weiterhin kostenlos unter https://sourcegraph.com genutzt werden, für privaten Code im kostenlosen Self-Hosting-Tier
Das heißt, einzelne Entwickler können Sourcegraph Code Search weiterhin zu 100 % kostenlos betreiben, und auf Kunden hat das keine Auswirkungen
Schon ein paar Minuten Issue-Suche liefern etliche Treffer dazu: 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
Wenn nur wenige Leute überhaupt bauen können und das Ergebnis selbst bei erfolgreichem Build alle paar Releases kaputt ist, ist es nur natürlich, dass die Open-Source-Version wenig genutzt wird
VS Code und Chromium sind wegen ihrer Art und Popularität leicht zu bauen, und vorkompilierte Versionen sind an vielen Stellen erhältlich
Einen „inoffiziellen“ Chromium-Build aus einem Distributions-Repository würde ich installieren, aber ich würde meinen Code nicht in einen inoffiziellen Sourcegraph-Build einspeisen, den irgendeine unbekannte Person auf GitHub gebaut hat
Diese beiden Dinge zu vergleichen ist ziemlich unfair, und es gab noch andere Probleme, die die Open-Source-Einführung behindert haben
Eine Zeit lang enthielten die offiziellen Sourcegraph-Docker-Images eine kostenlose Lizenz für 10 Seats, was für viele ausreichte, sodass sie nicht nach Alternativen wie einem Open-Source-Build gesucht haben
Lizenzänderungen und Produktschließungen nur in einem kleinen Block in der Changelog-Datei anzukündigen oder dann, wenn jemand das Problem in GitHub Issues anspricht, ist meiner Ansicht nach keine ausreichende Kommunikation für solche Änderungen
Dass man kein Open-First-Prinzip verfolgt, das Produkt stattdessen – wie andere unter diesem Beitrag gesagt haben – über Enterprise-only-Plugins einschränkt, keinen Open-Source-Build bereitstellt und die Lizenz ohne Vorankündigung ändert, nachdem man zuvor angenehmes kostenloses Marketing mit Open-Source-Begriffen mitgenommen hat, hinterlässt einen bitteren Beigeschmack
Besonders, weil derzeit wegen der Zinsen so viele Unternehmen so etwas tun
Ich würde nicht sagen, dass Sourcegraphs Einschätzung falsch ist, wonach die Open-Source-Version nicht erfolgreich war, und den Sourcecode zu schließen ist sicher einfacher
Aber am Ende ist es eine Rechnung, dass der Aufwand, diesen Zufuhrkanal offenzuhalten, weniger wert ist als die Leute, die durch ihn hereinkommen – also wird ein Kanal geschlossen
Es gibt aber auch eine andere Möglichkeit: Ich stimme eher der Ansicht zu, dass dieser Kanal von Anfang an nie weit genug offen war, um überhaupt Erfolg haben zu können
Mit solchen Einschränkungen ist es kein Open Source, und das wirkt ziemlich offensichtlich unehrlich
Solche Lizenzen sind nicht OSI-zertifiziert
Das Problem von Sourcegraph war, dass es für Entwickler mit privaten Projekten schwer zugänglich war
Es gab keinen Hosting-Plan, und ich kann meine Projekte wegen meines Arbeitgebers nicht einfach als Open Source veröffentlichen
Als die Sourcegraph App erschien, war ich wirklich begeistert, weil ich Sourcegraph damit in meinen Projekten ausprobieren konnte, ohne eine komplizierte Self-Hosting-Konfiguration aufzusetzen
Ich habe sogar
scip-clangin einem Bazel-basierten Projekt zum Laufen gebracht und einedocker-compose-Konfiguration in meinem Homelab ausprobiertJetzt wurde Code Search aus der App entfernt, und mit dieser Änderung mache ich mir Sorgen, dass ich Sourcegraph künftig für persönliche Projekte nicht mehr nutzen kann
Das ist eine verpasste Chance
Einzelne Entwickler, die das Produkt in privaten Projekten nutzen, können starke Fürsprecher werden, und diese Entwickler können dann ihren Arbeitgeber vom Kauf des Produkts überzeugen
Wenn es möglich wäre, würde ich gern dafür zahlen, aber 5.000 Dollar pro Jahr sind als Einzelperson schwer zu rechtfertigen
Wenn ihr weiter darüber sprechen wollt, auch nachdem es von der HN-Startseite verschwunden ist, kommt auf Discord https://discord.gg/rDPqBejz93
Wenn du Feedback oder Beschwerden direkt teilen möchtest, lass es mich wissen. Wenn es für dich in Ordnung ist, kann ich die Aufzeichnung auch veröffentlichen.
Wenn du nach einem Open-Source-Suchtool suchst, das über mehrere Repositories oder in einem großen Monorepo mit wahnsinniger Geschwindigkeit grep kann, kann ich livegrep sehr empfehlen: https://github.com/livegrep/livegrep
Eine Demo gibt es unter https://livegrep.com/search/linux
Es wurde bei Stripe genutzt und war recht beliebt, und selbst für die Suche in einem einzelnen Repository war livegrep oft schneller als lokales
ripgrepReview: https://www.alexdebrie.com/posts/faster-code-search-livegrep...
Rückblick des Erstellers nelhage auf die Auswirkungen: https://blog.nelhage.com/post/reflections-on-performance/, Architekturartikel: https://blog.nelhage.com/2015/02/regular-expression-search-w...
Solange es nicht zu groß wird, funktioniert es auch mit mehreren Repositories gut
Aber es ist eindeutig kein Ersatz für Sourcegraph, wenn es darum geht, die zugrunde liegende Codebasis wirklich zu verstehen, Codepfade zu verfolgen und Referenzen zu durchsuchen
Man sollte kein Startup auf der Annahme aufbauen, dass die Produkte anderer für immer unzureichend bleiben
Mit der jüngsten Überarbeitung der GitHub-Suche hat Sourcegraph womöglich seine Relevanz verloren
Die alte GitHub-Suche nutzte fast den schlechtestmöglichen Algorithmus
Sie warf sämtliche Satzzeichen und Leerzeichen weg und suchte nur nach Bezeichnern; Muster wurden nicht unterstützt, Suche mit Anführungszeichen auch nicht, und als brauchbarer Meta-Parameter gab es fast nur
filename:xyzJetzt, da GitHub die Basissuche verbessert hat, könnte Sourcegraph in Schwierigkeiten geraten
Ich habe Sourcegraph bei Lyft genutzt; damals hatte Lyft praktisch unbegrenzt Geld, das für Software-Tools verschwendet werden konnte, und bei Databricks haben wir die Open-Source-Version installiert, aber niemanden hat es interessiert
Ich bin ziemlich müde davon, dass GitHub-exklusive Lösungen als „Industriestandard“ hochgehalten werden
Dasselbe gilt für Anbieter, die nur Integrationen mit Produkten liefern, die ausschließlich auf GitHub funktionieren
Git ist ein dezentrales Protokoll und sollte bitte auch so behandelt werden
grepGitHub ist besonders für große private Organisationen nicht kostenlos, und Sourcegraph hat deutlich bessere Suchfunktionen als GitHub
Soweit ich weiß, ist nicht geplant, die neue Code-Suche in die On-Premises-Version von GitHub zu bringen
Ich frage mich, ob tatsächlich jemand die offene Version genutzt hat
Ich erinnere mich vage daran, sie vor 2–3 Jahren angesehen zu haben, und alle wirklich interessanten Funktionen fehlten
Der Enterprise-Preis lag bei ungefähr 100 US-Dollar pro Entwickler und Monat, also völlig absurd, und es war klar, dass man nur auf große Kunden mit unbegrenztem Budget zielte
Inzwischen scheint sich die Preisgestaltung geändert zu haben, und „Enterprise Starter“ beginnt wohl bei 5.000 US-Dollar pro Jahr, aber trotz der vielen Punkte ist völlig unklar, was die tatsächlichen Einschränkungen sind
Ich interessiere mich tatsächlich für dieses Produkt, und es könnte eine gute Ergänzung für unseren Tool-Stack sein, daher ist diese intransparente Preisgestaltung schade
Vor 1–2 Jahren wurde versprochen, das zu beheben oder ein offizielles Open-Source-Image bereitzustellen, aber daraus wurde nichts
Am Ende hat eine einzelne Person auf GitHub eine funktionierende Release-Pipeline gebaut und Open-Source-Container verteilt; auf Docker Hub wurden mehr als 10.000 Pulls gezählt
Für ein inoffizielles Image ist das eine beachtliche Zahl
Wenn ein Drittanbieter-Tool, das nicht einmal kritisch für die Infrastruktur ist, einen Kontakt mit dem Vertrieb verlangt, meide ich es in der Regel
Verschwendet nicht Unternehmenszeit damit, wegen ein paar Lizenzen mit dem Vertrieb zu reden; gebt mir einfach ein Zahlenfeld und einen Kaufen-Button
Mein Vertrauen in Sourcegraph ist auch etwas gesunken, weil es so wirkt, als würden Richtung, Preise und Regeln mehrmals im Jahr geändert
Ich habe einige Patches angewendet, damit OAuth2-Proxy unterstützt wird, und außerdem die Telemetrie entfernt
Die Software selbst ist hervorragend, sehr schnell und funktioniert wie vorgesehen
Ein paar Monate später waren 70 Nutzer registriert, aber insgesamt hatten nur 3 Leute sie tatsächlich mehr als ein paar Mal verwendet
Völlig bizarr
Mein Budget ist ziemlich begrenzt, und trotzdem zahlen wir für mehrere Produkte mehr als das
Wenn ein Tool die Produktivität steigert oder dem Geschäft hilft, ist es den Preis absolut wert
Die Lizenz wurde schon vor fast drei Wochen geändert, aber im Blogpost zum Release 5.1.0 fehlt diese Information
Es gibt bislang auch keine offizielle Ankündigung
Der Autor des Open-Source-Containers für Sourcegraph scheint mitgeteilt zu haben, dass seine Release-Pipeline jetzt beendet ist: https://github.com/jensim/sourcegraph-release-train/
Der Support während der Demo-Phase war eher schwach, auch die C++-Unterstützung war unzureichend, es integrierte sich nicht gut mit modernen C++-Build-Systemen, und der Preis war absurd hoch
Die Funktion „campaign“ wurde immer weiter gepusht, aber sie war ein viel zu komplexes Tool für automatisches Refactoring, das nicht einmal unser nicht-proprietäres und weit verbreitetes Build-System unterstützen konnte
Statt der Lizenzkosten haben wir zwei Entwickler für Code-Refactoring eingestellt, und diese haben später auch noch andere Tools gebaut; außerdem mussten wir niemanden extra einstellen, nur um eine miserable Service-Integration zu betreuen
Im Gespräch mit uns konnte man kaum sagen, dass sie eine Nische gefunden hatten
Vielleicht ist es inzwischen besser
Seitdem hat sich viel verändert
Vor Kurzem wurde der neue Indexer
scip-clangveröffentlicht (https://about.sourcegraph.com/blog/announcing-scip-clang) und erfolgreich zum Indexieren großer Codebasen wie Chromium eingesetztDieser Indexer hängt von einer JSON-Kompilierungsdatenbank ab; das ist wie beim früheren Indexer
lsif-clangund lässt sich mit CMake, Bazel, Meson, Make usw. leicht erzeugenVor Kurzem kam auch repository-übergreifende Code-Navigation für C++ hinzu: https://about.sourcegraph.com/blog/c-cpp-cross-repo
Ich dachte, JSON-Kompilierungsdatenbanken ließen sich heutzutage relativ gut erzeugen
Sie werden zum Beispiel auch vom Language Server in VS Code verwendet
https://github.com/sourcegraph/sourcegraph/issues/53528#issu... scheint ein Kommentar von jemandem aus dem Projekt zu sein, der zusammenfasst, warum die Änderung vorgenommen wurde
Sourcegraph werde sich weiterhin dem Open-Source-Code-Such-Engine Zoekt widmen und weiter Änderungen upstreamen: https://github.com/sourcegraph/zoekt
Der Source Code bleibe weiterhin öffentlich zugänglich
Einzelne Entwickler könnten Sourcegraph auf sourcegraph.com für öffentlichen Code und in der kostenlos selbst gehosteten Stufe für privaten Code weiter gratis nutzen
Nur sehr wenige Einzelentwickler oder Unternehmen hätten die Open-Source-Variante mit eingeschränkter Code-Suche verwendet, und die überwältigende Mehrheit von über 99,9 % habe das Enterprise-Produkt genutzt
Künftig beide Varianten zu pflegen, sei eine große Belastung für das Engineering-Team gewesen, bei sehr geringem Nutzen für die Nutzer
Es steht dort auch, dass eine kostenlose selbst gehostete Version für Einzelpersonen angeboten wird, aber auf der Website konnte ich sie nicht finden
Insgesamt mochte ich Open-Core-Produkte noch nie
Als jemand, der Dinge baut, fühlt es sich wenig handwerklich an, Nutzern Hindernisse in den Weg zu legen und einzuschränken, in welchem Umfang sie mein Werk verwenden können
Entscheidungen, die bewusst stören, wie Menschen ein Produkt nutzen, wirken manchmal wie reine Gier
Wenn ich mir eine Welt vorstelle, in der Sourcegraph vollständig freie Software wäre, hätten Enterprise-Kunden wahrscheinlich trotzdem dafür bezahlt, Sourcegraph sicher On-Premises zu hosten
Pro Sitz hätte man dann allerdings nicht abrechnen können
Man hätte den Produktpreis niedrig genug halten müssen, damit Kunden nicht viel Geld sparen, indem sie Engineers einstellen, um Sourcegraph selbst On-Premises zu betreiben und zu warten
Ich frage mich, ob Sourcegraph oder ein anderes Open-Core-Unternehmen jemals abgeschätzt hat, wie viele Kunden und wie viel Umsatz verloren gingen, wenn man vollständig auf freie Software umstellen würde
Freie Software zu entwickeln und Geld für Hosting zu verlangen kann die Grundlage für ein tragfähiges Geschäft sein, liefert aber wahrscheinlich nur schwer die Art von Ergebnis, die Venture Capital bei erfolgreichen Investments erwartet
Ehrlich gesagt finde ich es in Ordnung, wenn Infrastruktur geschlossene proprietäre Software ist
Denn wenn man sicherheitskritische Programme schreibt, kann das freie Offenlegen des Infrastruktur-Codes Angreifern viel Munition liefern
Wenn man an die Kraft von Automatisierung und den Bau hochwertiger Software glaubt, kann man freie Software schaffen, die sich in Kundeninfrastrukturen einfach und sicher ausrollen und warten lässt, deren Betriebsaufwand aus Sicht des Hosts sehr gering ist und deren Infrastruktur-Code proprietär ist
So etwas kann zu einem sehr soliden Geschäft führen
Ich frage mich, warum wir nicht mehr solcher Unternehmen sehen
In https://github.com/sourcegraph/sourcegraph/commit/3cd931ef54... gibt es noch ein paar zusätzliche Informationen, aber nicht viele
Ich frage mich, welches Open-Source-Code-Suchsystem gut wäre, um etwa 100 Git-Repositories anzubinden, damit es im Web nutzbar ist.
Die GitHub-Suche ist zu breit und kann keine Repositories wie GitLab einbeziehen, daher ist das nicht gewünscht.
Früher habe ich mir Debian code search https://github.com/Debian/dcs angesehen, aber es wirkte irgendwie so, als würde es ziemlich viel Aufwand erfordern, deshalb habe ich die Recherche nicht zu Ende geführt.
Allerdings wirkt https://github.com/Debian/dcs/blob/main/howto/building.md recht zugänglich.
Es gibt auch Zoekt, das von Sourcegraph erwähnt wurde: https://github.com/sourcegraph/zoekt, aber ich bin mir nicht sicher, wie brauchbar es ist.
Wenn es ziemlich gut wäre, frage ich mich auch, warum es dann überhaupt eine Open-Source-Version von Sourcegraph gab.
Wenn man die Diskussionen der letzten Jahre sieht, dass die Open-Source-Version von Sourcegraph stark zurückgefallen ist, scheint es keine ernsthaften Pläne für einen Fork zu geben.
Das GCS-Release https://github.com/google/codesearch scheint ohne Frontend Open Source gemacht worden zu sein.
Weiter oben wurden auch Livegrep https://github.com/livegrep/livegrep und OpenGrok https://oracle.github.io/opengrok/ empfohlen.
Ich freue mich schon ziemlich darauf, sie auszuprobieren, aber eine funktionierende Docker-Compose-Konfiguration würde beim Einstieg sehr helfen.
Es gibt auch Eureka https://github.com/Rajeev-K/eureka.
Es wirkt weniger leistungsfähig, aber die Bereitstellung scheint einfacher zu sein.
Livegrep(https://github.com/livegrep/livegrep) wurde davon inspiriert und ist ziemlich brauchbar.
Zoekt war ursprünglich ebenfalls ein Google-Open-Source-Projekt, wurde dann aber nicht mehr gepflegt, und Sourcegraph hat es übernommen.
Es treibt den Großteil der Standard-RegEx-/Literal-Suche von Sourcegraph an.
Mozilla-Code kann über Searchfox(https://searchfox.org/) durchsucht werden; dort wird der Indexer von Livegrep mit einem eigenen Git-Indexer und sprachspezifischen Cross-Reference-Datenbanken kombiniert.
OpenGrok(https://github.com/oracle/opengrok) ist ebenfalls ziemlich bekannt, aber ich fand die UI im Vergleich zu den Alternativen etwas schlechter.
cs: https://github.com/boyter/cs