1 puan yazan GN⁺ 2023-07-05 | 1 yorum | WhatsApp'ta paylaş
  • Sourcegraph gizli bir monorepo'ya geçti
  • Bu depo (sourcegraph/sourcegraph-public-snapshot), geçişten hemen önceki sourcegraph/sourcegraph deposunun herkese açık kopyasıdır

1 yorum

 
GN⁺ 2023-07-05
Hacker News görüşleri
  • Sourcegraph CEO'su olarak söylemek gerekirse, Sourcegraph artık kod arama ve Cody adlı iki ayrı ürüne ayrılmış durumda
    Cody, deponun client/cody* dizinlerinde Apache 2 lisanslı açık kaynak olarak kalıyor ve yakında %100 açık kaynak olan ayrı bir depoya ayrılacak
    Lisans ilkemiz, bireysel geliştiricilere yönelik araçları açık kaynak sunup şirketlerden ücret almak
    Kod aramanın sınırlı özelliklere sahip açık kaynak varyantını ne bireysel geliştiriciler ne de şirketler neredeyse hiç kullanmıyordu; Sourcegraph kod arama kullanımı, Google Chrome vs. Chromium, VS Code vs. VSCodium örneklerindekinden bile çok daha fazla resmi, açık kaynak olmayan build tarafına kaymıştı
    İki varyantı sürdürmek mühendislik ekibine yük bindiriyordu ve kullanıcılara sağladığı fayda çok küçüktü
    Daha ayrıntılı açıklama https://github.com/sourcegraph/sourcegraph/issues/53528#issu... adresinde
    Değişiklikler değişiklik günlüğünde ve PR'da duyuruldu; tüm geliştirme açık şekilde yürütülüyor
    Planlandığı gibi büyük monorepo'yu Cody için %100 açık kaynak bir depo ve kod arama için açık kaynak olmayan bir depoya ayırdıktan sonra bu hafta bir blog yazısı yayımlayacağız
    Herkese açık kod için https://sourcegraph.com üzerinden, özel kod için de self-hosted ücretsiz katmanda Sourcegraph kod aramayı ücretsiz kullanmaya devam edebilirsiniz
    Yani bireysel geliştiriciler Sourcegraph kod aramayı hâlâ %100 ücretsiz çalıştırabilir; müşteriler için bir etkisi yok
    • Sourcegraph yalnızca açık kaynak olmayan imajlar sağlıyordu; build süreci uzun zamandır zor ve bozuktu, açık kaynak sürümde uygulamanın kendisi de sık sık bozuluyordu
      Issue'larda birkaç dakika arama yapmak bile epey sonuç çıkarıyor: 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 edebilen kişi azsa ve build başarılı olsa bile birkaç release'te bir ortaya çıkan çıktı bozuluyorsa, açık kaynak sürüm kullanımının düşük olması doğal
      VS Code ve Chromium, yapıları ve popülerlikleri sayesinde build etmesi kolay ve birçok yerde önceden build edilmiş sürümleri bulunabiliyor
      Dağıtım depolarındaki “resmi olmayan” Chromium build'ini kurarım ama GitHub'da tanımadığım birinin yaptığı resmi olmayan Sourcegraph build'ine kodumu koymam
      Bu ikisini karşılaştırmak oldukça adaletsiz; açık kaynak benimsenmesini engelleyen başka sorunlar da vardı
      Bir süre resmi Sourcegraph Docker imajı 10 koltukluk ücretsiz lisans içeriyordu ve bu birçok kişi için yeterliydi; bu yüzden açık kaynak build gibi alternatifler aramadılar
      Lisans değişikliğini ve ürünün kapatılmasını değişiklik günlüğü dosyasındaki küçük bir blokta ya da biri GitHub Issues'da sorunu dile getirdiğinde bildirmek, böyle bir değişiklik için yeterli duyuru sayılmaz
      Open-first ilkelerini kullanmayıp, aşağıda başkalarının söylediği gibi ürünü yalnızca enterprise'a özel eklentilerle sınırlayıp, açık kaynak build sağlamayıp, önceden haber vermeden lisansı değiştirirken daha önce açık kaynak terminolojisiyle hoş bir ücretsiz pazarlama yapmış olmaları acı bir durum
      Özellikle de faiz oranları yüzünden bugünlerde bu tür şeyleri yapan şirketlerin sayısı çok fazla olduğu için
    • İş yerimde SourceGraph'ın benimsenmesi için uzun süre bastırdım, ancak açık kaynak sürümü dağıtmak fiilen imkânsız olduğu için değerlendirme aşaması bile tıkandı
      Sourcegraph'ın açık kaynak sürümün başarılı olmadığı yönündeki algısının yanlış olduğunu düşünmüyorum; kaynağı kapatmak kesinlikle daha kolay
      Ama sonuçta bu, o edinim kanalını açık tutmak için gereken çabanın o kanaldan gelen insanlar kadar değerli olmadığı hesabıyla bir edinim kanalının kapanması anlamına geliyor
      Başka bir olasılık da var: o edinim kanalının baştan beri başarı görmeye yetecek kadar açık olmadığı görüşüne daha çok katılıyorum
    • “Şirketlerden ücret alıp bireysel geliştiricilere yönelik araçları açık kaynak yapmak” istiyorsanız Open Source terimini kullanmamalısınız
      Bu tür kısıtlar koyarsanız bu açık kaynak değildir; samimi olmadığınız oldukça kolay görülür
      Bu tür lisanslar OSI onaylı değildir
    • Açık kaynak sürümü kullanan az sayıdaki kişiden biriydim ve oldukça seviyordum; bu yüzden bu değişiklik hayal kırıklığı yarattı
      Sourcegraph'ın zorluğu, kişisel projeler üzerinde çalışan geliştiriciler için erişiminin zor olmasıydı
      Hosting planı yok ve işverenim nedeniyle projelerimi kolayca açık kaynak yapamıyorum
      Sourcegraph App çıktığında, karmaşık bir self-hosted kurulum olmadan projelerimde Sourcegraph'ı deneyebileceğim için gerçekten heyecanlanmıştım
      Bazel tabanlı projemde scip-clang'i bile çalışır hâle getirdim, ev laboratuvarımda docker-compose kurulumunu da denedim
      Şimdi uygulamadan kod arama kaldırıldı ve bu değişiklik de geldi; ileride kişisel projelerimde Sourcegraph'ı kullanamayacağımdan endişeliyim
      Bu kaçırılmış bir fırsat
      Ürünü kişisel projelerinde kullanan bireysel geliştiriciler güçlü savunucular olabilir ve bu geliştirici işverenini ürünü satın almaya ikna edebilir
      Mümkün olsa memnuniyetle para öderdim ama tek kişi olarak yılda 5 bin doları gerekçelendirmek zor
    • Buradaki eleştirel olanlar dahil tüm yorumların adil ve düşünceli olduğunu düşünüyorum
      HN ana sayfasından düştükten sonra da konuşmaya devam etmek isterseniz Discord'a katılabilirsiniz: https://discord.gg/rDPqBejz93

Geri bildirim ya da şikâyetleri doğrudan paylaşmak istersen bana haber ver. Uygunsa kaydı da yayımlayabilirim.

  • Birden fazla depoda ya da büyük bir tek depoda çılgın hızda grep yapabilen açık kaynaklı bir arama aracı arıyorsanız livegrep’i şiddetle tavsiye ederim: https://github.com/livegrep/livegrep
    Demosu https://livegrep.com/search/linux adresinde
    Stripe’ta kullanıldı ve epey popülerdi; tek depo aramasında bile livegrep’in yerel ripgrepten daha hızlı olduğu durumlar sıkça oluyordu
    İnceleme yazısı: https://www.alexdebrie.com/posts/faster-code-search-livegrep...
    Geliştiricisi nelhage’in etki değerlendirmesi: https://blog.nelhage.com/post/reflections-on-performance/, mimari yazısı: https://blog.nelhage.com/2015/02/regular-expression-search-w...

    • https://oracle.github.io/opengrok/ da açık kaynaklı; Android’in tamamı ile Linux çekirdeğinin birleşimi gibi devasa kod tabanlarında bile hızlı ve kullanışlı
    • Daha küçük ölçeği hedefleyerek üzerinde çalışılan https://github.com/boyter/cs de var
      Aşırı büyük olmadığı sürece birden fazla depoda da iyi çalışıyor
    • livegrep kelimenin tam anlamıyla iyi bir web tabanlı grep
      Ancak alttaki kodu gerçekten anlayabilen, kod yollarını izleyebilen ve referansları arayabilen Sourcegraph’ın yerini tutacak bir alternatif kesinlikle değil
  • Başkasının ürününün sonsuza kadar yetersiz kalacağı varsayımıyla startup kurmamak gerekir
    GitHub aramasındaki son yenilemeyle Sourcegraph’ın alakasını yitirmiş olması çok muhtemel
    Eski GitHub araması neredeyse olabilecek en kötü algoritmayı kullanıyordu
    Tüm noktalama işaretlerini ve boşlukları atıp yalnızca tanımlayıcıları arıyordu; desen araması yoktu, tırnak içinde arama yoktu ve işe yarar meta argüman olarak neredeyse sadece filename:xyz vardı
    GitHub artık temel arama işlevini iyileştirdiğine göre Sourcegraph risk altında olabilir
    Lyft’te Sourcegraph kullanıyorduk; o dönemde Lyft’in yazılım araçlarına harcayacak neredeyse sınırsız parası vardı, Databricks’te ise açık kaynak sürümü kurduk ama kimse umursamadı

    • GitHub araması, Sourcegraph’ı ancak kodun tamamı GitHub’da barındırılıyorsa anlamsız kılar
      Yalnızca GitHub’a yönelik çözümlerin “endüstri standardı” diye yüceltilmesinden oldukça yoruldum
      Sadece GitHub’da çalışan ürünler ve entegrasyonlar çıkaran tedarikçiler için de aynı şey geçerli
      Git merkeziyetsiz bir protokoldür; lütfen ona öyle davranılsın
    • GitHub araması daha az kötü hale gelmiş olsa da hâlâ tuhaf biçimde yetersiz; bu yüzden hâlâ düzenli olarak GitHub depolarını indirip sadece grep yapıyorum
    • GitHub aramasının Sourcegraph’ın yerini alacağını sanmıyorum
      GitHub özellikle büyük özel organizasyonlar için ücretsiz değil ve Sourcegraph’ın arama özellikleri GitHub’dan çok daha iyi
    • GitHub’ın bulut sürümünü ya da GitLab vb. kullanmayan kurumsal bir nişin hâlâ kalıp kalmadığını merak ediyorum
      Anladığım kadarıyla GitHub’ın on-premises sürümüne yeni kod arama özelliğini ekleme planı yok
  • Açık sürümü gerçekten kullanan biri var mı merak ediyorum
    2-3 yıl önce baktığımı belli belirsiz hatırlıyorum; gerçekten ilginç özelliklerin hepsi eksikti
    Kurumsal fiyat geliştirici başına ayda yaklaşık 100 dolardı ve tamamen akıl dışıydı; yalnızca sınırsız bütçeli büyük müşterileri hedefledikleri açıktı
    Şimdi fiyatlandırma değişmiş gibi görünüyor ve “Enterprise Starter”ın yıllık 5 bin dolardan başladığını söylüyorlar; ancak birçok madde olmasına rağmen gerçek kısıtların ne olduğu çok belirsiz
    Bu ürünle gerçekten ilgileniyorum ve araç setimize iyi bir ek olabilir, ama fiyatlandırmanın bu kadar opak olması üzücü

    • Açık kaynak sürüm için resmi önceden derlenmiş Docker imajı yoktu, kendiniz derlemeniz gerekiyordu ve açık kaynak build’i uzun süre bozuk kaldı
      1-2 yıl önce bunu düzelteceklerini ya da resmi bir açık kaynak imajı sağlayacaklarını vaat ettiler ama gerçekleşmedi
      Sonunda biri GitHub’da çalışan bir release train oluşturup açık kaynak konteynerini yayımladı; Docker Hub’a göre 10 binden fazla pull görünüyor
      Resmi olmayan bir imaj için yüksek bir rakam
      Altyapının kritik parçası bile olmayan üçüncü taraf bir araç satış ekibiyle iletişim istiyorsa genelde uzak dururum
      Birkaç lisans için satışla uğraşarak şirket zamanını harcatmayın; sayı gireceğimiz bir alan ve satın alma düğmesi verin yeter
      Sourcegraph’a güvenim de biraz azaldı; yönünü, fiyatını ve kurallarını yılda birkaç kez değiştiriyor gibi görünüyor
    • Eğlencesine şirkete açık kaynak sürümü kurdum ve yaklaşık 750 depoyu senkronize ettim
      OAuth2 proxy desteği için birkaç yama uyguladım, telemetriyi de kaldırdım
      Yazılımın kendisi harika, çok hızlı ve amaçlandığı gibi çalışıyor
      Birkaç ay sonra kayıtlı kullanıcı sayısı 70’e ulaştı ama gerçekten birkaç kez deneyen toplam sadece 3 kişiydi
    • Aylık 400 dolarlık New Relic tam kullanıcı fiyatı aklıma geliyor
    • Şimdi yapay zeka tarafına güçlü biçimde pivot ediyor gibi görünüyor ve okuma ürününün varlığını bile neredeyse kabul etmek istemiyorlar sanki
      Tamamen tuhaf
    • Ayda 100 dolar ödemek için “sınırsız bütçe” gerektiğini söylemenin adil olmadığını düşünüyorum
      Bütçemiz oldukça sınırlı olmasına rağmen çeşitli ürünlere bundan daha fazlasını ödüyoruz
      Verimliliği artıran veya işe katkı sağlayan bir araçsa maliyetini fazlasıyla hak edebilir
  • Lisans neredeyse 3 hafta önce değişti, ancak 5.1.0 sürüm blog yazısında bu bilgi yok
    Henüz resmi bir duyuru da yok
    Sourcegraph açık kaynak konteynerinin yazarı, kendi release train’inin artık sona erdiğini duyurmuş gibi görünüyor: https://github.com/jensim/sourcegraph-release-train/

  • Demo dönemindeki destek pek iyi değildi; karmaşık C++ desteği de yetersizdi, modern C++ derleme sistemleriyle iyi entegre olmuyordu ve fiyatı akıl almazdı
    “campaign” özelliğini sürekli öne sürüyorlardı; bizim tescilli olmayan ve iyi bilinen derleme sistemimizi bile destekleyemeyen, aşırı karmaşık bir otomatik refactoring aracıydı
    O lisans maliyeti yerine kod refactoring’i için iki geliştirici işe aldık; onlar daha sonra başka araçlar da geliştirdi ve berbat servis entegrasyonuyla ilgilenmesi için ayrıca birini işe almamız da gerekmedi
    Bizimle konuştuklarında bir niş pazar bulduklarını söylemek zordu
    Şimdi daha iyi hale gelmiş olabilir

    • “campaign” gibi eski adı kullanmanız, Sourcegraph’ı yaklaşık 2,5 yıl önce ya da daha öncesinde değerlendirdiğinizi gösteriyor gibi
      O zamandan beri çok şey değişti
      Yakın zamanda yeni indeksleyici scip-clangı yayımladık (https://about.sourcegraph.com/blog/announcing-scip-clang) ve Chromium gibi büyük kod tabanlarını indekslemek için başarıyla kullandık
      Bu indeksleyici JSON derleme veritabanına dayanıyor; bu, önceki indeksleyici lsif-clang ile aynı ve CMake, Bazel, Meson, Make vb. ile kolayca oluşturulabiliyor
      Yakın zamanda C++ için depolar arası kod gezinme desteği de eklendi: https://about.sourcegraph.com/blog/c-cpp-cross-repo
    • Lisans fiyatıyla 2 geliştirici işe alabildiğinize göre, acaba ne kadar pahalıydı diye merak ediyorum
    • Hangi derleme sistemini kullandığınızı merak ediyorum
      JSON derleme veritabanlarının bugünlerde nispeten kolay üretilebildiğini düşünüyordum
      Örneğin VS Code’un dil sunucusunda da kullanılıyor
  • https://github.com/sourcegraph/sourcegraph/issues/53528#issu... proje tarafından birinin değişikliğin neden yapıldığını özetlediği bir yorum gibi görünüyor

    • Dikkat çeken kısımlar şöyle
      Sourcegraph’ın açık kaynak kod arama motoru Zoekte bağlı kalmaya devam edeceği ve değişiklikleri upstream’e göndermeyi sürdüreceği söyleniyor: https://github.com/sourcegraph/zoekt
      Kaynak kodun herkese açık kalmaya devam edeceği söyleniyor
      Bireysel geliştiricilerin Sourcegraph’ı sourcegraph.com’daki herkese açık kodlarda ve kendi barındırdıkları ücretsiz katmandaki özel kodlarda ücretsiz kullanmaya devam edebileceği söyleniyor
      Açık kaynak olan sınırlı kod arama varyantını kullanan bireysel geliştirici veya şirket sayısının çok az olduğu; ezici çoğunluğun, yani %99,9’dan fazlasının, enterprise ürünü kullandığı söyleniyor
      Bundan sonra iki varyantı sürdürmenin mühendislik ekibi için büyük bir yük olduğu ve kullanıcılara sağladığı faydanın çok küçük kaldığı belirtiliyor
    • Birkaç ay önce 10 geliştirici koltuğuna izin veren ücretsiz enterprise lisansını kaldırdılar; bazı küçük şirketler güncellemeleri erteleyip açık kaynak sürümü inceliyor olmalıydı ama artık öyle değil gibi
    • Açık kaynak sürümü kimsenin kullanmadığı ve kimsenin kullanmadığı iki sürümü sürdürmek istemedikleri anlaşılıyor
      Bireyler için ücretsiz self-hosted sürüm sundukları da yazıyor ama sitede bulamadım
  • Genel olarak open core ürünleri hiç sevmedim
    Bir şeyler üreten biri olarak, kullanıcıların önüne engeller koyup çalışmamın hangi kapsamda kullanılabileceğini sınırlamak bana zanaatkârlık eksikliği gibi geliyor
    İnsanların ürünü kullanma biçimini kasıtlı olarak zorlaştıran kararlar da tamamen açgözlülükten çıkmış gibi hissettiriyor
    Sourcegraph’ın tamamen özgür yazılım olduğu bir dünya hayal edersek, enterprise müşterilerin yine de Sourcegraph’ı şirket içinde güvenli biçimde barındırmak için para ödemiş olması muhtemeldi
    Ancak koltuk başına ücretlendirme yapamazlardı
    Müşterilerin bir mühendis işe alıp Sourcegraph’ı kendi şirket içinde sürdürerek büyük para tasarrufu yapamaması için ürün fiyatını yeterince düşük tutmaları gerekirdi
    Sourcegraph’ın ya da diğer open core işletmelerin tamamen özgür yazılıma geçtiklerinde ne kadar müşteri ve gelir kaybedeceklerini hiç tahmin edip etmediklerini merak ediyorum
    Özgür yazılım üretip barındırma ücreti almak sürdürülebilir bir işin temeli olabilir, ancak risk sermayesinin başarılı bir yatırımdan beklediği düzeyde sonuç vermesi muhtemelen zor
    Açıkçası altyapının kapalı, tescilli yazılım olmasını sorunlu görmüyorum
    Güvenliğin önemli olduğu programlar yazıyorsanız, altyapı kodunu serbestçe yayımlamak saldırganlara bolca mühimmat vermek anlamına gelebilir
    Otomasyonun gücüne ve yüksek kaliteli yazılım geliştirmeye inanıyorsanız, müşteri altyapısına kolay ve güvenli biçimde dağıtılıp sürdürülebilen, host açısından operasyon yükü çok küçük olan ve altyapı kodu tescilli kalan özgür yazılım yapabilirsiniz
    Bu yaklaşım çok sağlam bir işe dönüşebilir
    Neden bu tür işleri daha fazla görmediğimizi merak ediyorum

  • https://github.com/sourcegraph/sourcegraph/commit/3cd931ef54... adresinde biraz ek bilgi var ama çok değil

    • Lisans değişikliği duyurusunun, bu değişiklik uygulanmadan önce gelmesini beklemek genelde normaldir
  • Web’de kullanabilmek için yaklaşık 100 Git deposunu bağlayacak hangi açık kaynak kod arama sisteminin iyi olduğunu merak ediyorum
    GitHub araması çok geniş arıyor ve GitLab gibi depoları kapsayamadığı için istemiyorum
    Daha önce Debian code search’e https://github.com/Debian/dcs bakmıştım ama nedense biraz fazla emek gerektiriyor gibi göründüğünden araştırmayı tamamlamadım
    Yine de https://github.com/Debian/dcs/blob/main/howto/building.md oldukça erişilebilir görünüyor
    Sourcegraph’ın bahsettiği Zoekt https://github.com/sourcegraph/zoekt de var ama ne kadar kullanılabilir olduğundan emin değilim
    Epey iyiyse Sourcegraph açık kaynak sürümünün neden var olduğunu da merak ediyorum
    Son birkaç yılda Sourcegraph açık kaynak sürümünün epey geride kaldığına dair tartışmalara bakınca, ciddi biçimde fork etme planı yok gibi görünüyor
    GCS sürümü https://github.com/google/codesearch frontend olmadan açık kaynak yapılmış gibi
    Yukarıda Livegrep https://github.com/livegrep/livegrep ve OpenGrok https://oracle.github.io/opengrok/ da önerilmişti
    Denemek için oldukça heyecanlıyım ama çalışan bir Docker Compose ayarı varsa başlamakta çok yardımcı olurdu
    Eureka https://github.com/Rajeev-K/eureka da var
    Daha az güçlü görünüyor ama dağıtımı daha kolay gibi

    • Google codesearch gerçekte kullanılabilir bir “ürün” değil
      Livegrep(https://github.com/livegrep/livegrep) ondan ilham aldı ve oldukça kullanılabilir
      Zoekt de başlangıçta bir Google açık kaynak projesiydi ama bakımı kesildi ve Sourcegraph devraldı
      Sourcegraph’ın temel regex/literal aramasının büyük kısmını çalıştırıyor
      Mozilla kodu Searchfox’ta(https://searchfox.org/) aranabiliyor; Livegrep’in indeksleyicisi, kendi Git indeksleyicisi ve dile özgü çapraz referans veritabanlarını birlikte kullanıyor
      OpenGrok(https://github.com/oracle/opengrok) da oldukça iyi biliniyor ama alternatiflere göre UI’ı biraz daha kötü geldi
    • Küçük depolar ve komut satırı kullanımı için cs de var: https://github.com/boyter/cs
    • Hound da var: https://github.com/hound-search/hound