Sourcegraph के CEO के रूप में कहूँ तो, Sourcegraph अब code search और Cody नाम के दो अलग-अलग products में बँट गया है
Cody, repository की client/cody* directories में Apache 2 license वाले open source के रूप में बना हुआ है, और जल्द ही इसे 100% open source वाले अलग repository में अलग कर दिया जाएगा
license का सिद्धांत यह है कि individual developers के tools open source के रूप में दिए जाएँ और companies से शुल्क लिया जाए
code search का limited-feature open source variant न individual developers और न ही companies ने लगभग इस्तेमाल किया, और Sourcegraph code search का उपयोग Google Chrome vs. Chromium, VS Code vs. VSCodium जैसे मामलों की तुलना में भी official non-open-source build की तरफ बहुत ज़्यादा झुका हुआ था
इन दोनों variants को बनाए रखना engineering team पर बोझ था और users को इससे बहुत कम फायदा मिल रहा था
ज़्यादा विस्तृत explanation https://github.com/sourcegraph/sourcegraph/issues/53528#issu... में है
changes की घोषणा changelog और PR में की गई थी, और सारा development सार्वजनिक रूप से हुआ
योजना के मुताबिक बड़े monorepo को Cody के लिए 100% open source repository और code search के लिए non-open-source repository में बाँटने के बाद इस हफ्ते blog post प्रकाशित की जाएगी
public code के लिए https://sourcegraph.com पर, और private code के लिए self-hosted free tier में Sourcegraph code search को आगे भी मुफ्त में इस्तेमाल किया जा सकता है
यानी individual developers अब भी Sourcegraph code search को 100% free में चला सकते हैं, और customers पर इसका कोई असर नहीं है
Sourcegraph ने सिर्फ non-open-source images ही उपलब्ध कराए, build process लंबे समय तक मुश्किल और टूटा हुआ रहा, और open source version का application खुद भी अक्सर खराब होता था
issues में कुछ ही मिनट खोजने पर इससे जुड़े काफ़ी नतीजे मिल जाते हैं: 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
अगर build कर पाने वाले लोग कम हों, और build सफल होने पर भी हर कुछ releases में output टूट जाए, तो open source version का usage कम होना स्वाभाविक है
VS Code और Chromium अपनी प्रकृति और लोकप्रियता की वजह से build करना आसान हैं, और कई जगहों पर उनके prebuilt versions मिल जाते हैं
मैं distro repository का “unofficial” Chromium build तो install कर लूँगा, लेकिन GitHub पर किसी अजनबी द्वारा बनाए गए unofficial Sourcegraph build में अपना code नहीं डालूँगा
इन दोनों की तुलना करना काफ़ी अनुचित है, और open source adoption को रोकने वाली दूसरी समस्याएँ भी थीं
कुछ समय तक official Sourcegraph Docker image में 10-seat free license शामिल था, जो बहुत लोगों के लिए काफ़ी था, इसलिए उन्होंने open source build जैसे alternatives नहीं खोजे
license change और product closure जैसी चीज़ों को changelog file के छोटे block में या तब बताना जब GitHub Issues में कोई इसका ज़िक्र करे, ऐसी changes के लिए पर्याप्त सूचना नहीं मानी जा सकती
open-first principle का उपयोग न करना, और जैसा कि इस पोस्ट के नीचे दूसरे लोगों ने कहा, enterprise-only plugins के ज़रिए product को सीमित करना, open source build उपलब्ध न कराना, और बिना prior notice license बदल देना, जबकि पहले open source terminology के सहारे अच्छा-सा free marketing लिया गया था, यह कड़वा लगता है
खासकर इसलिए भी कि आजकल interest rates की वजह से बहुत-सी कंपनियाँ ऐसा कर रही हैं
मैंने काम पर लंबे समय तक SourceGraph को अपनाने के लिए ज़ोर लगाया, लेकिन open source version deploy करना लगभग असंभव होने की वजह से evaluation तक रुक गया
मुझे नहीं लगता कि open source version के सफल न होने को लेकर Sourcegraph की समझ ग़लत है, और source को बंद करना निश्चित रूप से आसान है
लेकिन नतीजतन इसका मतलब यह है कि उस adoption path को खुला रखने में जो effort लगता है, वह उस path से आने वाले लोगों के बराबर मूल्यवान नहीं समझा गया, इसलिए एक adoption path बंद हो रहा है
एक और संभावना भी है। मुझे इससे ज़्यादा यह बात सही लगती है कि वह path शुरू से ही सफलता देखने लायक पर्याप्त खुला नहीं था
अगर “companies से शुल्क लिया जाए और individual developers के tools को open source बनाया जाए”, तो Open Source शब्द का इस्तेमाल नहीं करना चाहिए
ऐसी पाबंदी लगाते ही वह open source नहीं रहता, और यह बात ईमानदार नहीं लगती, यह आसानी से दिख जाता है
ऐसे licenses को OSI approval नहीं मिला है
मैं उन गिने-चुने लोगों में से एक था जो open source version इस्तेमाल कर रहे थे, और मुझे वह काफ़ी पसंद था, इसलिए यह बदलाव निराशाजनक है
Sourcegraph की दिक्कत यह थी कि personal projects पर काम करने वाले developers के लिए इसे अपनाना मुश्किल था
कोई hosted plan नहीं था, और मेरे projects employer की वजह से आसानी से open source नहीं किए जा सकते
जब Sourcegraph App आया था, तो मैं सचमुच उत्साहित था क्योंकि बिना जटिल self-hosting setup के अपने projects पर Sourcegraph आज़मा सकता था
मैंने Bazel-based project में scip-clang तक चलवा लिया था, और homelab में docker-compose setup भी आज़माया था
अब app से code search हटा दिया गया है, और यह बदलाव भी आ गया है, इसलिए चिंता है कि कहीं आगे मैं personal projects पर Sourcegraph इस्तेमाल ही न कर पाऊँ
यह एक missed opportunity है
जो individual developer अपने personal projects में किसी product का उपयोग करता है, वह मज़बूत advocate बन सकता है, और वही developer अपने employer को product खरीदने के लिए मना भी सकता है
अगर संभव हो तो मैं ख़ुशी से पैसे दूँगा, लेकिन एक व्यक्ति के तौर पर $5,000 प्रति वर्ष को उचित ठहराना मुश्किल है
मुझे लगता है कि यहाँ के सभी comments, जिनमें आलोचनात्मक बातें भी शामिल हैं, निष्पक्ष और सोच-विचार वाले हैं
अगर HN के first page से नीचे जाने के बाद भी और बात करना चाहें, तो Discord https://discord.gg/rDPqBejz93 पर आ सकते हैं
अगर आप feedback या शिकायतें सीधे साझा करना चाहते हैं, तो मुझे बताइए। अगर ठीक हो, तो रिकॉर्डिंग भी सार्वजनिक की जा सकती है।
https://oracle.github.io/opengrok/ भी open source है, और विशाल source base पर भी तेज़ और उपयोगी है, जैसे पूरा Android और Linux kernel एक साथ जोड़ दिया गया हो
https://github.com/boyter/cs भी है, जो छोटे scale को लक्ष्य बनाकर काम कर रहा है
अगर बहुत बड़ा न हो तो यह कई repositories पर भी अच्छी तरह काम करता है
livegrep सचमुच एक ठीक-ठाक web version grep है
लेकिन underlying code को सच में समझने, code path को follow करने, और references खोजने के मामले में यह स्पष्ट रूप से Sourcegraph का विकल्प नहीं है
इस धारणा पर startup नहीं बनाना चाहिए कि किसी और का product हमेशा अधूरा रहेगा
GitHub search के हालिया सुधार के बाद Sourcegraph शायद अपनी प्रासंगिकता खो चुका हो
पुराना GitHub search लगभग सबसे खराब algorithms में से एक इस्तेमाल करता था
वह सारे punctuation और spaces हटा देता था और सिर्फ identifiers खोजता था, patterns भी काम नहीं करते थे, quoted search भी नहीं, और काम की meta arguments में लगभग सिर्फ filename:xyz ही था
अब जब GitHub ने basic search functionality सुधार दी है, तो Sourcegraph जोखिम में हो सकता है
Lyft में Sourcegraph इस्तेमाल किया था, और उस समय Lyft के पास software tools पर बर्बाद करने के लिए लगभग असीमित पैसा था, जबकि Databricks में हमने open source version install किया था लेकिन किसी ने परवाह नहीं की
GitHub search Sourcegraph को तभी बेकार बनाता है जब सारा code GitHub पर host हो GitHub-only solution को “industry standard” की तरह पेश किया जाना अब काफ़ी थका देने वाला है
वही बात उन vendors पर भी लागू होती है जो सिर्फ GitHub पर चलने वाले products के साथ integration ही देते हैं
Git एक decentralized protocol है, इसलिए कृपया उसके साथ वैसा ही व्यवहार करें
GitHub search कम खराब ज़रूर हुआ है, लेकिन अब भी अजीब तरह से कमज़ोर है, इसलिए मैं आज भी नियमित रूप से GitHub repositories डाउनलोड करके सीधा grep करता हूँ
नहीं लगता कि GitHub search Sourcegraph की जगह ले पाएगा
GitHub खासकर बड़े private organizations के लिए free नहीं है, और Sourcegraph की search functionality GitHub से कहीं बेहतर है
सोचता हूँ कि क्या अभी भी enterprise niche बचा है जो GitHub cloud version या GitLab वगैरह इस्तेमाल नहीं करता
मेरी समझ के मुताबिक GitHub के on-premises version में नई code search functionality जोड़ने की कोई योजना नहीं है
सोचता हूँ कि क्या वास्तव में किसी ने open version इस्तेमाल भी किया था
याद धुंधली है, लेकिन 2~3 साल पहले जब मैंने देखा था, तब सारी सच में दिलचस्प features गायब थीं
enterprise pricing लगभग $100 प्रति developer प्रति माह थी, जो पूरी तरह बेतुकी थी, और साफ़ दिखता था कि वे सिर्फ़ असीमित बजट वाले बड़े ग्राहकों को निशाना बना रहे थे
अब लगता है pricing बदल गई है, और “Enterprise Starter” $5,000 प्रति वर्ष से शुरू होता है, लेकिन बहुत सी line items होने के बावजूद असली limits क्या हैं यह बेहद अस्पष्ट है
मुझे इस product में सचमुच दिलचस्पी है और यह हमारे toolset में अच्छा जोड़ हो सकता है, इसलिए pricing का इतना अपारदर्शी होना अफ़सोसजनक है
open source version के लिए कोई official prebuilt Docker image नहीं थी, इसलिए उसे खुद build करना पड़ता था, और लंबे समय तक open source build टूटी हुई थी
1~2 साल पहले इसे ठीक करने या official open source image देने का वादा किया गया था, लेकिन वह हुआ नहीं
आखिरकार एक व्यक्ति ने GitHub पर काम करने वाली release train बनाई और open source containers publish किए, जिनके Docker Hub पर 10,000 से ज़्यादा pulls दर्ज हैं
unofficial image के लिए यह काफ़ी बड़ी संख्या है
अगर infrastructure के core में भी न आने वाला कोई third-party tool sales contact की मांग करे, तो मैं आम तौर पर उससे बचता हूँ
कुछ licenses के लिए sales से निपटकर कंपनी का समय बर्बाद मत कराइए, बस एक number input field और buy button दे दीजिए
Sourcegraph पर मेरा भरोसा भी थोड़ा घटा, क्योंकि ऐसा लगता है कि वह साल में कई बार direction, pricing और rules बदलता है
मज़े के लिए मैंने कंपनी में open source version install किया और लगभग 750 repositories sync कीं
OAuth2 proxy support के लिए कुछ patches लगाए और telemetry भी हटा दी
software खुद शानदार है, बहुत तेज़ है, और जैसा इरादा है वैसा ही काम करता है
कुछ महीनों बाद registered users की संख्या 70 हो गई, लेकिन वास्तव में उसे कुछ बार इस्तेमाल करने वाले कुल 3 लोग ही थे
इससे मुझे New Relic के $400 प्रति माह full user price की याद आती है
अब ऐसा लगता है कि यह AI की तरफ़ ज़ोरदार pivot कर रहा है, और मानो वह यह स्वीकार भी नहीं करना चाहता कि उसका reading product नाम की कोई चीज़ मौजूद है
यह पूरी तरह अजीब है
मेरा नहीं मानना कि $100 प्रति माह चुकाने के लिए “असीमित बजट” चाहिए कहना उचित है
मेरा बजट काफ़ी सीमित है, फिर भी मैं कई products के लिए इससे ज़्यादा भुगतान करता हूँ
अगर कोई tool productivity बढ़ाता है या business में मदद करता है, तो उसके लिए भुगतान करना पूरी तरह उचित है
license लगभग 3 हफ़्ते पहले बदल गया था, लेकिन 5.1.0 release blog post में यह जानकारी नहीं है
अभी तक कोई official announcement भी नहीं है
ऐसा लगता है कि Sourcegraph open source container के लेखक ने बताया है कि उसकी release train अब समाप्त हो गई है: https://github.com/jensim/sourcegraph-release-train/
डेमो अवधि के दौरान सपोर्ट खास नहीं था, जटिल C++ सपोर्ट भी कमज़ोर था, आधुनिक C++ build systems के साथ अच्छा integration नहीं था, और कीमत बेतुकी थी
वे लगातार “campaign” फ़ीचर को आगे बढ़ाते रहे, लेकिन वह एक ज़रूरत से ज़्यादा जटिल auto-refactoring tool था जो हमारे non-proprietary और अच्छी तरह से जाने-पहचाने build system को भी सपोर्ट नहीं कर पाता था
उसके license cost की जगह हमने code refactoring के लिए दो developers रख लिए, और बाद में उन्होंने दूसरे tools भी बनाए, साथ ही उस खराब service integration को संभालने के लिए किसी अलग व्यक्ति को रखने की भी ज़रूरत नहीं पड़ी
जब वे हमसे बात कर रहे थे, तब यह कहना मुश्किल था कि उन्होंने कोई niche market ढूंढ ली है
अब शायद यह बेहतर हो गया हो
“campaign” जैसा पुराना नाम इस्तेमाल होने से लगता है कि Sourcegraph को लगभग 2.5 साल पहले या उससे भी पहले देखा गया था
उसके बाद बहुत कुछ बदल गया है
हाल ही में नया indexer scip-clang जारी किया गया है(https://about.sourcegraph.com/blog/announcing-scip-clang), और इसे Chromium जैसे बड़े codebases को index करने में सफलतापूर्वक इस्तेमाल किया गया है
यह indexer JSON compile database पर निर्भर करता है, जैसा पुराना indexer lsif-clang भी करता था, और इसे CMake, Bazel, Meson, Make आदि से आसानी से बनाया जा सकता है
हाल ही में इसने C++ के लिए cross-repository code navigation भी सपोर्ट करना शुरू किया है: https://about.sourcegraph.com/blog/c-cpp-cross-repo
यह जानकर हैरानी होती है कि license price में 2 developers रखे जा सकते थे, आखिर वह कितना महंगा रहा होगा
यह जानने की उत्सुकता है कि कौन-सा build system इस्तेमाल किया गया था
मुझे लगा था कि आजकल JSON compile database काफ़ी आसानी से generate किया जा सकता है
उदाहरण के लिए, VS Code के language server में भी इसका इस्तेमाल होता है
ध्यान खींचने वाले हिस्से ये हैं
उनका कहना है कि Sourcegraph open source code search engine Zoekt के लिए अपनी प्रतिबद्धता जारी रखेगा और बदलावों को upstream करता रहेगा: https://github.com/sourcegraph/zoekt
source code सार्वजनिक रूप से उपलब्ध रहेगा
individual developers sourcegraph.com पर public code और self-hosted free tier में private code के लिए Sourcegraph का मुफ़्त इस्तेमाल जारी रख सकेंगे
open source वाले सीमित code search variant का इस्तेमाल करने वाले individual developers या कंपनियाँ बहुत कम थीं, और भारी बहुमत यानी 99.9% से अधिक enterprise product इस्तेमाल कर रहे थे
आगे चलकर इन दो variants को बनाए रखना engineering team पर बड़ा बोझ था और users को मिलने वाला लाभ बहुत कम था
कुछ महीने पहले 10 developer seats की अनुमति देने वाला free enterprise license हटा दिया गया था, और शायद कुछ छोटी कंपनियाँ updates टालते हुए open source version को देख रही थीं, लेकिन अब शायद ऐसा नहीं है
लगता है open source version कोई इस्तेमाल नहीं कर रहा था, और वे दो ऐसे versions बनाए नहीं रखना चाहते थे जिन्हें कोई नहीं इस्तेमाल करता
यह भी लिखा है कि individuals के लिए free self-hosted version दिया जाता है, लेकिन साइट पर वह मिला नहीं
कुल मिलाकर मुझे open core products कभी पसंद नहीं आए
कुछ बनाने वाले व्यक्ति के रूप में, users के सामने रुकावटें खड़ी करना और यह सीमित करना कि वे मेरे काम का कितना उपयोग कर सकते हैं, मुझे craftsmanship की कमी जैसा लगता है
लोगों के product इस्तेमाल करने के तरीके में जानबूझकर बाधा डालने वाले फ़ैसले कभी-कभी शुद्ध लालच से प्रेरित लगते हैं
अगर Sourcegraph पूरी तरह free software होता, तो भी enterprise customers शायद Sourcegraph को on-premises सुरक्षित रूप से host करने के लिए पैसे देते
बस वे per-seat billing नहीं कर पाते
उन्हें product pricing इतनी कम रखनी पड़ती कि customers Sourcegraph को on-premises खुद maintain करने के लिए engineers रखकर बहुत अधिक पैसा न बचा पाते
यह जानने की उत्सुकता है कि क्या Sourcegraph या कोई और open core business कभी यह अनुमान लगाने की कोशिश करता है कि पूरी तरह free software बनने पर वे कितने customers और revenue खो देंगे
free software बनाना और hosting के लिए शुल्क लेना एक sustainable business की नींव बन सकता है, लेकिन शायद यह venture capital के successful investments से अपेक्षित स्तर के नतीजे नहीं देगा
सच कहूँ तो मुझे infrastructure का closed proprietary software होना ठीक लगता है
क्योंकि अगर आप security-critical programs लिख रहे हैं, तो infrastructure code को खुला छोड़ना attackers को काफ़ी ammunition दे सकता है
अगर आप automation की ताकत और high-quality software बनाने में विश्वास रखते हैं, तो आप ऐसा free software बना सकते हैं जिसे customer infrastructure में आसानी और सुरक्षित रूप से deploy और maintain किया जा सके, host की तरफ़ से operational burden बहुत कम हो, और infrastructure code proprietary रहे
इस तरह का मॉडल बहुत मज़बूत business बन सकता है
सोचता हूँ कि ऐसे business ज़्यादा क्यों नहीं दिखते
आम तौर पर उम्मीद की जाती है कि license change announcement ऐसा बदलाव लागू करने से पहले आए
वेब पर इस्तेमाल के लिए लगभग 100 Git repositories को जोड़ना हो, तो कौन-सा open source code search system अच्छा रहेगा, यह जानने की उत्सुकता है
GitHub search बहुत व्यापक तरीके से खोजता है और GitLab जैसी repositories को शामिल नहीं कर पाता, इसलिए वह उपयुक्त नहीं है
पहले Debian code search https://github.com/Debian/dcs देखा था, लेकिन किसी वजह से लगा कि इसमें काफी मेहनत लगेगी, इसलिए आगे जांच नहीं की
हालांकि https://github.com/Debian/dcs/blob/main/howto/building.md काफी सुलभ लगता है
Sourcegraph ने जिस Zoekt https://github.com/sourcegraph/zoekt का ज़िक्र किया है, वह भी है, लेकिन यह कितना उपयोगी है इस पर भरोसा नहीं है
अगर यह काफी अच्छा था, तो फिर यह भी जिज्ञासा है कि Sourcegraph का open source version आखिर क्यों मौजूद था
पिछले कुछ वर्षों में Sourcegraph के open source version के काफी पीछे छूट जाने पर हुई चर्चाओं को देखें, तो ऐसा नहीं लगता कि इसे गंभीरता से fork करने की कोई योजना है
GCS release https://github.com/google/codesearch लगता है कि frontend के बिना open source किया गया था
ऊपर Livegrep https://github.com/livegrep/livegrep और OpenGrok https://oracle.github.io/opengrok/ की भी सिफारिश की गई थी
इन्हें आज़माने को लेकर काफी उत्साह है, लेकिन अगर कोई काम करने वाला Docker Compose setup मिल जाए, तो शुरू करने में बहुत मदद होगी
Eureka https://github.com/Rajeev-K/eureka भी है
यह कम शक्तिशाली लगता है, लेकिन deploy करना आसान दिखता है
Google codesearch वास्तव में इस्तेमाल करने लायक “product” नहीं है
Livegrep(https://github.com/livegrep/livegrep) उससे प्रेरित था और काफी उपयोगी है
Zoekt भी मूल रूप से Google का open source project था, लेकिन उसका maintenance रुक गया और Sourcegraph ने उसे आगे संभाला
यह Sourcegraph की ज़्यादातर मूल regex/literal search को चलाता है
Mozilla code को Searchfox(https://searchfox.org/) में खोजा जा सकता है, जो Livegrep के indexer, अपने Git indexer, और language-specific cross-reference database को मिलाकर इस्तेमाल करता है
OpenGrok(https://github.com/oracle/opengrok) भी काफी जाना-पहचाना है, लेकिन मुझे लगा कि इसका UI विकल्पों की तुलना में थोड़ा खराब है
1 टिप्पणियां
Hacker News की राय
Cody, repository की
client/cody*directories में Apache 2 license वाले open source के रूप में बना हुआ है, और जल्द ही इसे 100% open source वाले अलग repository में अलग कर दिया जाएगाlicense का सिद्धांत यह है कि individual developers के tools open source के रूप में दिए जाएँ और companies से शुल्क लिया जाए
code search का limited-feature open source variant न individual developers और न ही companies ने लगभग इस्तेमाल किया, और Sourcegraph code search का उपयोग Google Chrome vs. Chromium, VS Code vs. VSCodium जैसे मामलों की तुलना में भी official non-open-source build की तरफ बहुत ज़्यादा झुका हुआ था
इन दोनों variants को बनाए रखना engineering team पर बोझ था और users को इससे बहुत कम फायदा मिल रहा था
ज़्यादा विस्तृत explanation https://github.com/sourcegraph/sourcegraph/issues/53528#issu... में है
changes की घोषणा changelog और PR में की गई थी, और सारा development सार्वजनिक रूप से हुआ
योजना के मुताबिक बड़े monorepo को Cody के लिए 100% open source repository और code search के लिए non-open-source repository में बाँटने के बाद इस हफ्ते blog post प्रकाशित की जाएगी
public code के लिए https://sourcegraph.com पर, और private code के लिए self-hosted free tier में Sourcegraph code search को आगे भी मुफ्त में इस्तेमाल किया जा सकता है
यानी individual developers अब भी Sourcegraph code search को 100% free में चला सकते हैं, और customers पर इसका कोई असर नहीं है
issues में कुछ ही मिनट खोजने पर इससे जुड़े काफ़ी नतीजे मिल जाते हैं: 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
अगर build कर पाने वाले लोग कम हों, और build सफल होने पर भी हर कुछ releases में output टूट जाए, तो open source version का usage कम होना स्वाभाविक है
VS Code और Chromium अपनी प्रकृति और लोकप्रियता की वजह से build करना आसान हैं, और कई जगहों पर उनके prebuilt versions मिल जाते हैं
मैं distro repository का “unofficial” Chromium build तो install कर लूँगा, लेकिन GitHub पर किसी अजनबी द्वारा बनाए गए unofficial Sourcegraph build में अपना code नहीं डालूँगा
इन दोनों की तुलना करना काफ़ी अनुचित है, और open source adoption को रोकने वाली दूसरी समस्याएँ भी थीं
कुछ समय तक official Sourcegraph Docker image में 10-seat free license शामिल था, जो बहुत लोगों के लिए काफ़ी था, इसलिए उन्होंने open source build जैसे alternatives नहीं खोजे
license change और product closure जैसी चीज़ों को changelog file के छोटे block में या तब बताना जब GitHub Issues में कोई इसका ज़िक्र करे, ऐसी changes के लिए पर्याप्त सूचना नहीं मानी जा सकती
open-first principle का उपयोग न करना, और जैसा कि इस पोस्ट के नीचे दूसरे लोगों ने कहा, enterprise-only plugins के ज़रिए product को सीमित करना, open source build उपलब्ध न कराना, और बिना prior notice license बदल देना, जबकि पहले open source terminology के सहारे अच्छा-सा free marketing लिया गया था, यह कड़वा लगता है
खासकर इसलिए भी कि आजकल interest rates की वजह से बहुत-सी कंपनियाँ ऐसा कर रही हैं
मुझे नहीं लगता कि open source version के सफल न होने को लेकर Sourcegraph की समझ ग़लत है, और source को बंद करना निश्चित रूप से आसान है
लेकिन नतीजतन इसका मतलब यह है कि उस adoption path को खुला रखने में जो effort लगता है, वह उस path से आने वाले लोगों के बराबर मूल्यवान नहीं समझा गया, इसलिए एक adoption path बंद हो रहा है
एक और संभावना भी है। मुझे इससे ज़्यादा यह बात सही लगती है कि वह path शुरू से ही सफलता देखने लायक पर्याप्त खुला नहीं था
ऐसी पाबंदी लगाते ही वह open source नहीं रहता, और यह बात ईमानदार नहीं लगती, यह आसानी से दिख जाता है
ऐसे licenses को OSI approval नहीं मिला है
Sourcegraph की दिक्कत यह थी कि personal projects पर काम करने वाले developers के लिए इसे अपनाना मुश्किल था
कोई hosted plan नहीं था, और मेरे projects employer की वजह से आसानी से open source नहीं किए जा सकते
जब Sourcegraph App आया था, तो मैं सचमुच उत्साहित था क्योंकि बिना जटिल self-hosting setup के अपने projects पर Sourcegraph आज़मा सकता था
मैंने Bazel-based project में
scip-clangतक चलवा लिया था, और homelab मेंdocker-composesetup भी आज़माया थाअब app से code search हटा दिया गया है, और यह बदलाव भी आ गया है, इसलिए चिंता है कि कहीं आगे मैं personal projects पर Sourcegraph इस्तेमाल ही न कर पाऊँ
यह एक missed opportunity है
जो individual developer अपने personal projects में किसी product का उपयोग करता है, वह मज़बूत advocate बन सकता है, और वही developer अपने employer को product खरीदने के लिए मना भी सकता है
अगर संभव हो तो मैं ख़ुशी से पैसे दूँगा, लेकिन एक व्यक्ति के तौर पर $5,000 प्रति वर्ष को उचित ठहराना मुश्किल है
अगर HN के first page से नीचे जाने के बाद भी और बात करना चाहें, तो Discord https://discord.gg/rDPqBejz93 पर आ सकते हैं
अगर आप feedback या शिकायतें सीधे साझा करना चाहते हैं, तो मुझे बताइए। अगर ठीक हो, तो रिकॉर्डिंग भी सार्वजनिक की जा सकती है।
अगर आप कई repositories या किसी बड़े monorepo में पागलपन भरी रफ्तार से grep कर सकने वाला कोई open source search tool ढूंढ रहे हैं, तो मैं livegrep की ज़ोरदार सिफारिश करूंगा: https://github.com/livegrep/livegrep
डेमो https://livegrep.com/search/linux पर है
इसका इस्तेमाल Stripe में हुआ था और यह काफ़ी लोकप्रिय था, और कई बार single-repo search में भी livegrep लोकल
ripgrepसे तेज़ थाreview लेख: https://www.alexdebrie.com/posts/faster-code-search-livegrep...
इसे बनाने वाले nelhage का performance पर प्रभाव-संस्मरण: https://blog.nelhage.com/post/reflections-on-performance/, architecture लेख: https://blog.nelhage.com/2015/02/regular-expression-search-w...
अगर बहुत बड़ा न हो तो यह कई repositories पर भी अच्छी तरह काम करता है
लेकिन underlying code को सच में समझने, code path को follow करने, और references खोजने के मामले में यह स्पष्ट रूप से Sourcegraph का विकल्प नहीं है
इस धारणा पर startup नहीं बनाना चाहिए कि किसी और का product हमेशा अधूरा रहेगा
GitHub search के हालिया सुधार के बाद Sourcegraph शायद अपनी प्रासंगिकता खो चुका हो
पुराना GitHub search लगभग सबसे खराब algorithms में से एक इस्तेमाल करता था
वह सारे punctuation और spaces हटा देता था और सिर्फ identifiers खोजता था, patterns भी काम नहीं करते थे, quoted search भी नहीं, और काम की meta arguments में लगभग सिर्फ
filename:xyzही थाअब जब GitHub ने basic search functionality सुधार दी है, तो Sourcegraph जोखिम में हो सकता है
Lyft में Sourcegraph इस्तेमाल किया था, और उस समय Lyft के पास software tools पर बर्बाद करने के लिए लगभग असीमित पैसा था, जबकि Databricks में हमने open source version install किया था लेकिन किसी ने परवाह नहीं की
GitHub-only solution को “industry standard” की तरह पेश किया जाना अब काफ़ी थका देने वाला है
वही बात उन vendors पर भी लागू होती है जो सिर्फ GitHub पर चलने वाले products के साथ integration ही देते हैं
Git एक decentralized protocol है, इसलिए कृपया उसके साथ वैसा ही व्यवहार करें
grepकरता हूँGitHub खासकर बड़े private organizations के लिए free नहीं है, और Sourcegraph की search functionality GitHub से कहीं बेहतर है
मेरी समझ के मुताबिक GitHub के on-premises version में नई code search functionality जोड़ने की कोई योजना नहीं है
सोचता हूँ कि क्या वास्तव में किसी ने open version इस्तेमाल भी किया था
याद धुंधली है, लेकिन 2~3 साल पहले जब मैंने देखा था, तब सारी सच में दिलचस्प features गायब थीं
enterprise pricing लगभग $100 प्रति developer प्रति माह थी, जो पूरी तरह बेतुकी थी, और साफ़ दिखता था कि वे सिर्फ़ असीमित बजट वाले बड़े ग्राहकों को निशाना बना रहे थे
अब लगता है pricing बदल गई है, और “Enterprise Starter” $5,000 प्रति वर्ष से शुरू होता है, लेकिन बहुत सी line items होने के बावजूद असली limits क्या हैं यह बेहद अस्पष्ट है
मुझे इस product में सचमुच दिलचस्पी है और यह हमारे toolset में अच्छा जोड़ हो सकता है, इसलिए pricing का इतना अपारदर्शी होना अफ़सोसजनक है
1~2 साल पहले इसे ठीक करने या official open source image देने का वादा किया गया था, लेकिन वह हुआ नहीं
आखिरकार एक व्यक्ति ने GitHub पर काम करने वाली release train बनाई और open source containers publish किए, जिनके Docker Hub पर 10,000 से ज़्यादा pulls दर्ज हैं
unofficial image के लिए यह काफ़ी बड़ी संख्या है
अगर infrastructure के core में भी न आने वाला कोई third-party tool sales contact की मांग करे, तो मैं आम तौर पर उससे बचता हूँ
कुछ licenses के लिए sales से निपटकर कंपनी का समय बर्बाद मत कराइए, बस एक number input field और buy button दे दीजिए
Sourcegraph पर मेरा भरोसा भी थोड़ा घटा, क्योंकि ऐसा लगता है कि वह साल में कई बार direction, pricing और rules बदलता है
OAuth2 proxy support के लिए कुछ patches लगाए और telemetry भी हटा दी
software खुद शानदार है, बहुत तेज़ है, और जैसा इरादा है वैसा ही काम करता है
कुछ महीनों बाद registered users की संख्या 70 हो गई, लेकिन वास्तव में उसे कुछ बार इस्तेमाल करने वाले कुल 3 लोग ही थे
यह पूरी तरह अजीब है
मेरा बजट काफ़ी सीमित है, फिर भी मैं कई products के लिए इससे ज़्यादा भुगतान करता हूँ
अगर कोई tool productivity बढ़ाता है या business में मदद करता है, तो उसके लिए भुगतान करना पूरी तरह उचित है
license लगभग 3 हफ़्ते पहले बदल गया था, लेकिन 5.1.0 release blog post में यह जानकारी नहीं है
अभी तक कोई official announcement भी नहीं है
ऐसा लगता है कि Sourcegraph open source container के लेखक ने बताया है कि उसकी release train अब समाप्त हो गई है: https://github.com/jensim/sourcegraph-release-train/
डेमो अवधि के दौरान सपोर्ट खास नहीं था, जटिल C++ सपोर्ट भी कमज़ोर था, आधुनिक C++ build systems के साथ अच्छा integration नहीं था, और कीमत बेतुकी थी
वे लगातार “campaign” फ़ीचर को आगे बढ़ाते रहे, लेकिन वह एक ज़रूरत से ज़्यादा जटिल auto-refactoring tool था जो हमारे non-proprietary और अच्छी तरह से जाने-पहचाने build system को भी सपोर्ट नहीं कर पाता था
उसके license cost की जगह हमने code refactoring के लिए दो developers रख लिए, और बाद में उन्होंने दूसरे tools भी बनाए, साथ ही उस खराब service integration को संभालने के लिए किसी अलग व्यक्ति को रखने की भी ज़रूरत नहीं पड़ी
जब वे हमसे बात कर रहे थे, तब यह कहना मुश्किल था कि उन्होंने कोई niche market ढूंढ ली है
अब शायद यह बेहतर हो गया हो
उसके बाद बहुत कुछ बदल गया है
हाल ही में नया indexer
scip-clangजारी किया गया है(https://about.sourcegraph.com/blog/announcing-scip-clang), और इसे Chromium जैसे बड़े codebases को index करने में सफलतापूर्वक इस्तेमाल किया गया हैयह indexer JSON compile database पर निर्भर करता है, जैसा पुराना indexer
lsif-clangभी करता था, और इसे CMake, Bazel, Meson, Make आदि से आसानी से बनाया जा सकता हैहाल ही में इसने C++ के लिए cross-repository code navigation भी सपोर्ट करना शुरू किया है: https://about.sourcegraph.com/blog/c-cpp-cross-repo
मुझे लगा था कि आजकल JSON compile database काफ़ी आसानी से generate किया जा सकता है
उदाहरण के लिए, VS Code के language server में भी इसका इस्तेमाल होता है
https://github.com/sourcegraph/sourcegraph/issues/53528#issu... प्रोजेक्ट की तरफ़ के किसी व्यक्ति की ऐसी टिप्पणी लगती है जिसमें समझाया गया है कि बदलाव क्यों किया गया
उनका कहना है कि Sourcegraph open source code search engine Zoekt के लिए अपनी प्रतिबद्धता जारी रखेगा और बदलावों को upstream करता रहेगा: https://github.com/sourcegraph/zoekt
source code सार्वजनिक रूप से उपलब्ध रहेगा
individual developers sourcegraph.com पर public code और self-hosted free tier में private code के लिए Sourcegraph का मुफ़्त इस्तेमाल जारी रख सकेंगे
open source वाले सीमित code search variant का इस्तेमाल करने वाले individual developers या कंपनियाँ बहुत कम थीं, और भारी बहुमत यानी 99.9% से अधिक enterprise product इस्तेमाल कर रहे थे
आगे चलकर इन दो variants को बनाए रखना engineering team पर बड़ा बोझ था और users को मिलने वाला लाभ बहुत कम था
यह भी लिखा है कि individuals के लिए free self-hosted version दिया जाता है, लेकिन साइट पर वह मिला नहीं
कुल मिलाकर मुझे open core products कभी पसंद नहीं आए
कुछ बनाने वाले व्यक्ति के रूप में, users के सामने रुकावटें खड़ी करना और यह सीमित करना कि वे मेरे काम का कितना उपयोग कर सकते हैं, मुझे craftsmanship की कमी जैसा लगता है
लोगों के product इस्तेमाल करने के तरीके में जानबूझकर बाधा डालने वाले फ़ैसले कभी-कभी शुद्ध लालच से प्रेरित लगते हैं
अगर Sourcegraph पूरी तरह free software होता, तो भी enterprise customers शायद Sourcegraph को on-premises सुरक्षित रूप से host करने के लिए पैसे देते
बस वे per-seat billing नहीं कर पाते
उन्हें product pricing इतनी कम रखनी पड़ती कि customers Sourcegraph को on-premises खुद maintain करने के लिए engineers रखकर बहुत अधिक पैसा न बचा पाते
यह जानने की उत्सुकता है कि क्या Sourcegraph या कोई और open core business कभी यह अनुमान लगाने की कोशिश करता है कि पूरी तरह free software बनने पर वे कितने customers और revenue खो देंगे
free software बनाना और hosting के लिए शुल्क लेना एक sustainable business की नींव बन सकता है, लेकिन शायद यह venture capital के successful investments से अपेक्षित स्तर के नतीजे नहीं देगा
सच कहूँ तो मुझे infrastructure का closed proprietary software होना ठीक लगता है
क्योंकि अगर आप security-critical programs लिख रहे हैं, तो infrastructure code को खुला छोड़ना attackers को काफ़ी ammunition दे सकता है
अगर आप automation की ताकत और high-quality software बनाने में विश्वास रखते हैं, तो आप ऐसा free software बना सकते हैं जिसे customer infrastructure में आसानी और सुरक्षित रूप से deploy और maintain किया जा सके, host की तरफ़ से operational burden बहुत कम हो, और infrastructure code proprietary रहे
इस तरह का मॉडल बहुत मज़बूत business बन सकता है
सोचता हूँ कि ऐसे business ज़्यादा क्यों नहीं दिखते
https://github.com/sourcegraph/sourcegraph/commit/3cd931ef54... में थोड़ी अतिरिक्त जानकारी है, लेकिन बहुत नहीं
वेब पर इस्तेमाल के लिए लगभग 100 Git repositories को जोड़ना हो, तो कौन-सा open source code search system अच्छा रहेगा, यह जानने की उत्सुकता है
GitHub search बहुत व्यापक तरीके से खोजता है और GitLab जैसी repositories को शामिल नहीं कर पाता, इसलिए वह उपयुक्त नहीं है
पहले Debian code search https://github.com/Debian/dcs देखा था, लेकिन किसी वजह से लगा कि इसमें काफी मेहनत लगेगी, इसलिए आगे जांच नहीं की
हालांकि https://github.com/Debian/dcs/blob/main/howto/building.md काफी सुलभ लगता है
Sourcegraph ने जिस Zoekt https://github.com/sourcegraph/zoekt का ज़िक्र किया है, वह भी है, लेकिन यह कितना उपयोगी है इस पर भरोसा नहीं है
अगर यह काफी अच्छा था, तो फिर यह भी जिज्ञासा है कि Sourcegraph का open source version आखिर क्यों मौजूद था
पिछले कुछ वर्षों में Sourcegraph के open source version के काफी पीछे छूट जाने पर हुई चर्चाओं को देखें, तो ऐसा नहीं लगता कि इसे गंभीरता से fork करने की कोई योजना है
GCS release https://github.com/google/codesearch लगता है कि frontend के बिना open source किया गया था
ऊपर Livegrep https://github.com/livegrep/livegrep और OpenGrok https://oracle.github.io/opengrok/ की भी सिफारिश की गई थी
इन्हें आज़माने को लेकर काफी उत्साह है, लेकिन अगर कोई काम करने वाला Docker Compose setup मिल जाए, तो शुरू करने में बहुत मदद होगी
Eureka https://github.com/Rajeev-K/eureka भी है
यह कम शक्तिशाली लगता है, लेकिन deploy करना आसान दिखता है
Livegrep(https://github.com/livegrep/livegrep) उससे प्रेरित था और काफी उपयोगी है
Zoekt भी मूल रूप से Google का open source project था, लेकिन उसका maintenance रुक गया और Sourcegraph ने उसे आगे संभाला
यह Sourcegraph की ज़्यादातर मूल regex/literal search को चलाता है
Mozilla code को Searchfox(https://searchfox.org/) में खोजा जा सकता है, जो Livegrep के indexer, अपने Git indexer, और language-specific cross-reference database को मिलाकर इस्तेमाल करता है
OpenGrok(https://github.com/oracle/opengrok) भी काफी जाना-पहचाना है, लेकिन मुझे लगा कि इसका UI विकल्पों की तुलना में थोड़ा खराब है
csभी है: https://github.com/boyter/cs