1 poin oleh GN⁺ 2023-07-05 | 1 komentar | Bagikan ke WhatsApp
  • Sourcegraph beralih ke monorepo privat
  • Repositori ini (sourcegraph/sourcegraph-public-snapshot) adalah salinan publik dari repositori sourcegraph/sourcegraph tepat sebelum transisi tersebut

1 komentar

 
GN⁺ 2023-07-05
Komentar Hacker News
  • Berbicara sebagai CEO Sourcegraph, Sourcegraph kini terbagi menjadi dua produk terpisah: pencarian kode dan Cody
    Cody tetap menjadi open source berlisensi Apache 2 di direktori client/cody* dalam repositori, dan dalam waktu dekat akan dipisahkan ke repositori terpisah yang 100% open source
    Prinsip lisensinya adalah menyediakan alat untuk pengembang individu sebagai open source dan mengenakan biaya kepada perusahaan
    Varian open source dengan fitur terbatas untuk pencarian kode hampir tidak digunakan, baik oleh pengembang individu maupun perusahaan, dan penggunaan Sourcegraph Code Search jauh lebih condong ke build resmi non-open-source dibanding kasus seperti Google Chrome vs. Chromium atau VS Code vs. VSCodium
    Memelihara dua varian menjadi beban bagi tim engineering, sementara manfaatnya bagi pengguna sangat kecil
    Penjelasan lebih rinci ada di https://github.com/sourcegraph/sourcegraph/issues/53528#issu...
    Perubahan ini diumumkan di changelog dan PR, dan semua pengembangan dilakukan secara terbuka
    Sesuai rencana, repositori monolitik besar itu akan dibagi menjadi repositori 100% open source untuk Cody dan repositori non-open-source untuk pencarian kode, lalu tulisan blog akan diterbitkan minggu ini
    Untuk kode publik, Sourcegraph Code Search tetap bisa digunakan gratis di https://sourcegraph.com, dan untuk kode privat bisa terus digunakan gratis lewat self-hosted free tier
    Artinya, pengembang individu masih bisa menjalankan Sourcegraph Code Search secara 100% gratis, dan pelanggan tidak terdampak
    • Sourcegraph hanya menyediakan image non-open-source, proses build sudah lama sulit dan sering rusak, dan aplikasi versi open source sendiri juga sering bermasalah
      Hanya dengan mencari issue selama beberapa menit pun sudah muncul cukup banyak hasil terkait: 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
      Jika hanya sedikit orang yang bisa melakukan build, dan bahkan saat berhasil pun hasilnya rusak setiap beberapa rilis, wajar jika penggunaan versi open source rendah
      VS Code dan Chromium mudah dibuild dan versi prebuilt-nya tersedia di banyak tempat berkat sifat dan popularitasnya
      Saya mungkin akan memasang build Chromium “tidak resmi” dari repositori distribusi, tetapi saya tidak akan memasukkan kode saya ke build Sourcegraph tidak resmi buatan orang asing di GitHub
      Membandingkan keduanya cukup tidak adil, dan ada masalah lain juga yang menghambat adopsi open source
      Selama beberapa waktu, image Docker resmi Sourcegraph menyertakan lisensi gratis 10 kursi, dan itu sudah cukup bagi banyak orang, sehingga mereka tidak mencari alternatif seperti build open source
      Memberi tahu perubahan lisensi dan penutupan produk lewat blok kecil di file changelog, atau ketika seseorang menyinggung masalah itu di GitHub Issues, menurut saya bukan pemberitahuan yang memadai untuk perubahan seperti ini
      Tidak memakai prinsip open-first, membatasi produk dengan plugin khusus enterprise seperti yang disebut orang lain di bawah tulisan ini, tidak menyediakan build open source, dan mengubah lisensi tanpa pemberitahuan sebelumnya sambil sebelumnya menikmati pemasaran gratis yang menyenangkan lewat istilah open source, terasa pahit
      Terlebih lagi karena belakangan ini terlalu banyak perusahaan melakukan hal seperti ini akibat suku bunga
    • Saya sudah lama mendorong adopsi SourceGraph di tempat kerja, tetapi deployment versi open source pada praktiknya mustahil, sehingga evaluasinya pun terhalang
      Saya tidak merasa persepsi Sourcegraph bahwa versi open source-nya tidak berhasil itu sepenuhnya salah, dan menutup source memang jelas lebih mudah
      Namun pada akhirnya, ini berarti satu jalur masuk ditutup karena dihitung bahwa upaya untuk menjaga jalur itu tetap terbuka tidak sebanding dengan jumlah orang yang masuk lewat sana
      Ada kemungkinan lain juga. Saya lebih setuju bahwa jalur masuk itu sejak awal tidak cukup terbuka untuk benar-benar sempat berhasil
    • Jika “mengenakan biaya kepada perusahaan dan menjadikan alat untuk pengembang individu sebagai open source”, maka mereka tidak seharusnya memakai istilah Open Source
      Kalau pembatasan seperti ini diberlakukan, itu bukan open source, dan ketidakjujurannya cukup mudah terlihat
      Lisensi seperti ini tidak disetujui OSI
    • Saya salah satu dari sedikit orang yang memakai versi open source, dan cukup menyukainya, jadi perubahan ini mengecewakan
      Kesulitan Sourcegraph adalah sulit diakses bagi pengembang yang mengerjakan proyek pribadi
      Tidak ada paket hosting, dan proyek saya tidak bisa dengan mudah dibuka sebagai open source karena pemberi kerja saya
      Saat Sourcegraph App dirilis, saya sangat antusias karena bisa mencoba Sourcegraph di proyek saya tanpa setup self-hosting yang rumit
      Saya bahkan berhasil membuat scip-clang berjalan di proyek berbasis Bazel, dan juga mencoba konfigurasi docker-compose di homelab saya
      Sekarang pencarian kode dihapus dari aplikasi dan perubahan ini juga terjadi, jadi saya khawatir ke depan saya tidak akan bisa memakai Sourcegraph untuk proyek pribadi
      Ini adalah kesempatan yang terlewatkan
      Pengembang individu yang memakai produk untuk proyek pribadi bisa menjadi pendukung yang sangat kuat, dan pengembang itu juga bisa meyakinkan pemberi kerjanya untuk membeli produk tersebut
      Kalau memungkinkan saya rela membayar, tetapi sebagai satu orang, US$5.000 per tahun sulit dibenarkan
    • Saya rasa semua komentar, termasuk yang kritis di sini, adil dan penuh pertimbangan
      Jika ingin terus berdiskusi setelah topik ini turun dari halaman depan HN, silakan masuk ke Discord https://discord.gg/rDPqBejz93

Jika ingin membagikan masukan atau keluhan secara langsung, beri tahu saya. Jika tidak masalah, rekamannya juga bisa dipublikasikan.

  • Jika Anda mencari alat pencarian open source yang bisa grep super cepat di banyak repositori atau monorepo besar, sangat merekomendasikan livegrep: https://github.com/livegrep/livegrep
    Demonya ada di https://livegrep.com/search/linux
    Pernah dipakai di Stripe dan cukup populer, bahkan untuk pencarian dalam satu repositori pun livegrep sering kali lebih cepat daripada ripgrep lokal
    Ulasan: https://www.alexdebrie.com/posts/faster-code-search-livegrep...
    Refleksi pembuatnya, nelhage, tentang dampaknya: https://blog.nelhage.com/post/reflections-on-performance/, tulisan arsitektur: https://blog.nelhage.com/2015/02/regular-expression-search-w...

    • https://oracle.github.io/opengrok/ juga open source, dan cepat serta berguna bahkan untuk basis kode raksasa seperti gabungan seluruh Android dan kernel Linux
    • Ada juga https://github.com/boyter/cs yang sedang dikembangkan dengan target skala lebih kecil
      Selama tidak terlalu besar, ini juga bekerja baik di banyak repositori
    • livegrep secara harfiah adalah grep versi web yang lumayan bagus
      Tetapi jelas bukan pengganti Sourcegraph yang benar-benar memahami basis kode, mengikuti alur kode, dan mencari referensi
  • Jangan membangun startup dengan asumsi bahwa produk orang lain akan selamanya kurang memadai
    Dengan perombakan pencarian GitHub baru-baru ini, kemungkinan besar Sourcegraph kehilangan relevansinya
    Dulu pencarian GitHub memakai algoritme yang nyaris termasuk yang terburuk
    Ia membuang semua tanda baca dan spasi lalu hanya mencari identifier, tidak mendukung pola, tidak mendukung pencarian dengan tanda kutip, dan hampir satu-satunya argumen meta yang berguna hanyalah filename:xyz
    Sekarang setelah GitHub memperbaiki kemampuan pencarian dasarnya, Sourcegraph bisa berada dalam bahaya
    Saya pernah memakai Sourcegraph di Lyft, dan saat itu Lyft nyaris punya uang tak terbatas untuk dibuang ke alat perangkat lunak; di Databricks kami memasang versi open source, tetapi tak ada yang peduli

    • Pencarian GitHub hanya membuat Sourcegraph jadi tak berarti ketika seluruh kode di-host di GitHub
      Saya sudah cukup lelah dengan solusi khusus GitHub yang diagung-agungkan sebagai “standar industri”
      Hal yang sama berlaku untuk vendor yang hanya merilis integrasi dengan produk yang cuma berjalan di GitHub
      Git adalah protokol terdesentralisasi, jadi tolong perlakukan seperti itu
    • Walaupun pencarian GitHub sekarang tidak seburuk dulu, hasilnya tetap aneh dan kurang bagus, jadi sampai sekarang saya masih rutin mengunduh repositori GitHub lalu langsung grep
    • Saya rasa pencarian GitHub tidak akan menggantikan Sourcegraph
      GitHub tidak gratis, terutama untuk organisasi privat besar, dan fitur pencarian Sourcegraph jauh lebih baik daripada GitHub
    • Saya penasaran apakah masih ada ceruk enterprise yang tidak memakai GitHub versi cloud atau GitLab, dan semacamnya
      Setahu saya, versi on-premises GitHub tidak punya rencana untuk memasukkan fitur pencarian kode baru
  • Saya penasaran apakah benar ada orang yang memakai versi open-nya
    Saya samar-samar ingat pernah melihatnya 2–3 tahun lalu, dan semua fitur yang benar-benar menarik sudah dihilangkan
    Harga enterprise sekitar $100 per pengembang per bulan benar-benar tidak masuk akal, dan jelas mereka hanya membidik pelanggan besar dengan anggaran tak terbatas
    Sekarang tampaknya harganya berubah dan “Enterprise Starter” dimulai dari $5.000 per tahun, tetapi meskipun ada banyak butir penjelasan, tetap sangat tidak jelas apa batasan sebenarnya
    Saya benar-benar tertarik dengan produk ini dan mungkin ini bisa menjadi tambahan yang bagus untuk toolset kami, jadi sangat disayangkan harganya setidak transparan ini

    • Versi open source tidak punya image Docker pra-rakit resmi, jadi harus build sendiri, dan build open source sudah lama rusak
      Mereka berjanji 1–2 tahun lalu akan memperbaikinya atau menyediakan image open source resmi, tetapi itu tidak terjadi
      Pada akhirnya seseorang membuat release train yang berfungsi di GitHub dan mendistribusikan container open source, yang menurut Docker Hub telah mencatat lebih dari 10 ribu pull
      Itu angka yang besar untuk image tidak resmi
      Jika alat pihak ketiga yang bukan inti infrastruktur menuntut kontak sales, saya biasanya langsung menghindar
      Jangan buang waktu perusahaan untuk berurusan dengan sales hanya demi beberapa lisensi; cukup beri kolom input angka dan tombol beli
      Kepercayaan saya pada Sourcegraph juga agak menurun, karena mereka tampak mengubah arah, harga, dan aturan beberapa kali dalam setahun
    • Saya iseng memasang versi open source di perusahaan dan menyinkronkan sekitar 750 repositori
      Saya menerapkan beberapa patch agar mendukung proxy OAuth2 dan juga menghapus telemetry
      Perangkat lunaknya sendiri luar biasa, sangat cepat, dan bekerja sesuai tujuan
      Beberapa bulan kemudian jumlah pengguna terdaftar mencapai 70 orang, tetapi total hanya 3 orang yang benar-benar memakainya beberapa kali
    • Ini mengingatkan saya pada harga pengguna penuh New Relic sebesar $400 per bulan
    • Sekarang mereka tampaknya berputar keras ke AI, dan hampir seperti tidak mau mengakui bahwa produk baca itu pernah ada
      Benar-benar ganjil
    • Menurut saya tidak adil mengatakan bahwa membayar $100 per bulan membutuhkan “anggaran tak terbatas”
      Anggaran saya cukup terbatas, tetapi saya tetap membayar lebih dari itu untuk beberapa produk
      Jika alat tersebut meningkatkan produktivitas atau membantu bisnis, biayanya sangat layak dibayar
  • Lisensinya berubah hampir 3 minggu lalu, tetapi postingan blog rilis 5.1.0 tidak menyebutkan informasi ini
    Masih belum ada pengumuman resmi
    Pembuat container open source Sourcegraph tampaknya telah memberi tahu bahwa release train miliknya sekarang berakhir: https://github.com/jensim/sourcegraph-release-train/

  • Dukungan selama masa demo kurang memuaskan, dukungan C++ yang kompleks juga kurang, tidak terintegrasi dengan baik dengan sistem build C++ modern, dan harganya keterlaluan
    Mereka terus mendorong fitur “campaign”, yang merupakan alat auto-refactoring yang terlalu rumit dan bahkan tidak bisa mendukung sistem build kami yang non-proprietary dan sudah dikenal luas
    Sebagai gantinya, dengan biaya lisensi itu kami mempekerjakan dua developer untuk refactoring kode, dan mereka kemudian juga membuat alat lain, tanpa perlu mempekerjakan orang tambahan hanya untuk menangani integrasi layanan yang buruk
    Saat berbicara dengan kami, sulit untuk mengatakan bahwa mereka benar-benar telah menemukan ceruk pasar
    Mungkin sekarang sudah membaik

    • Dari penggunaan nama lama “campaign”, tampaknya mereka mengevaluasi Sourcegraph sekitar 2,5 tahun yang lalu atau lebih awal
      Sejak itu banyak yang berubah
      Mereka baru-baru ini merilis indexer baru scip-clang (https://about.sourcegraph.com/blog/announcing-scip-clang), dan berhasil memakainya untuk mengindeks codebase besar seperti Chromium
      Indexer ini bergantung pada database kompilasi JSON, sama seperti indexer lama lsif-clang, dan itu bisa dibuat dengan mudah dari CMake, Bazel, Meson, Make, dan lain-lain
      Baru-baru ini mereka juga mulai mendukung navigasi kode lintas repositori untuk C++: https://about.sourcegraph.com/blog/c-cpp-cross-repo
    • Menarik juga bahwa harga lisensinya sampai bisa dipakai untuk mempekerjakan 2 developer; jadi sebenarnya semahal apa itu?
    • Penasaran mereka memakai sistem build apa
      Saya kira database kompilasi JSON sekarang relatif mudah dibuat
      Misalnya, itu juga dipakai di language server VS Code
  • https://github.com/sourcegraph/sourcegraph/issues/53528#issu... tampaknya adalah komentar dari pihak proyek yang merangkum mengapa perubahan itu dilakukan

    • Bagian yang menonjol adalah sebagai berikut
      Sourcegraph mengatakan mereka akan tetap berkomitmen pada Zoekt, mesin pencarian kode open source, dan akan terus meng-upstream perubahan: https://github.com/sourcegraph/zoekt
      Source code akan tetap tersedia secara publik
      Developer individu akan tetap bisa memakai Sourcegraph secara gratis untuk kode publik di sourcegraph.com dan kode privat di self-hosted free tier
      Disebutkan bahwa sangat sedikit developer individu atau perusahaan yang memakai varian code search terbatas yang sebelumnya open source, dan lebih dari 99,9% mayoritas mutlak memakai produk enterprise
      Ke depannya, mempertahankan dua varian itu merupakan beban besar bagi tim engineering, sementara manfaatnya bagi pengguna sangat kecil
    • Beberapa bulan lalu mereka menghapus lisensi enterprise gratis yang mengizinkan 10 kursi developer, dan beberapa perusahaan kecil mungkin sedang menunda update sambil melihat versi open source, tetapi sekarang tampaknya itu tidak lagi menjadi pilihan
    • Tampaknya versi open source hampir tidak dipakai siapa pun, dan mereka tidak ingin mempertahankan dua varian yang tidak digunakan
      Memang tertulis bahwa mereka menyediakan versi self-hosted gratis untuk individu, tetapi saya tidak bisa menemukannya di situs
  • Secara umum saya tidak pernah menyukai produk open core
    Sebagai orang yang membuat sesuatu, menaruh hambatan di depan pengguna dan membatasi sejauh mana mereka bisa memakai hasil kerja saya terasa kurang punya jiwa craftsmanship
    Keputusan yang sengaja mengganggu cara orang memakai produk terasa seperti lahir murni dari keserakahan
    Jika membayangkan dunia di mana Sourcegraph sepenuhnya free software, kemungkinan besar pelanggan enterprise tetap akan membayar agar bisa meng-host Sourcegraph secara aman di on-premises
    Hanya saja, mereka mungkin tidak bisa menagih per seat
    Mereka harus menjaga harga produk cukup rendah agar pelanggan tidak bisa menghemat banyak uang dengan mempekerjakan engineer untuk memelihara Sourcegraph sendiri secara on-premises
    Saya penasaran apakah Sourcegraph atau pelaku open core lain pernah mencoba memperkirakan berapa banyak pelanggan dan pendapatan yang akan hilang jika mereka beralih menjadi free software sepenuhnya
    Membuat free software dan mengenakan biaya hosting bisa menjadi dasar bisnis yang berkelanjutan, tetapi kemungkinan sulit menghasilkan tingkat hasil yang diharapkan venture capital dari investasi yang sukses
    Terus terang, saya rasa tidak masalah jika infrastruktur berupa software tertutup dan proprietary
    Karena jika Anda menulis program yang sensitif terhadap keamanan, membuka secara bebas kode infrastruktur bisa memberi banyak amunisi kepada penyerang
    Jika percaya pada kekuatan otomatisasi dan pembangunan software berkualitas tinggi, Anda bisa membuat free software dengan kode infrastruktur yang proprietary, yang bisa dideploy dan dipelihara dengan mudah dan aman di infrastruktur pelanggan, dengan beban operasional yang sangat kecil dari sisi host
    Pendekatan seperti ini bisa menghasilkan bisnis yang sangat kokoh
    Saya penasaran mengapa kita tidak melihat lebih banyak bisnis seperti ini

  • Ada sedikit informasi tambahan di https://github.com/sourcegraph/sourcegraph/commit/3cd931ef54..., tetapi tidak banyak

    • Biasanya orang berharap pengumuman perubahan lisensi keluar sebelum perubahan tersebut diimplementasikan
  • Ingin tahu sistem pencarian kode open source apa yang bagus untuk menghubungkan sekitar 100 repositori Git agar bisa digunakan di web
    Tidak ingin menggunakan pencarian GitHub karena hasilnya terlalu luas dan tidak bisa mencakup repositori seperti GitLab
    Dulu pernah melihat Debian code search https://github.com/Debian/dcs, tetapi entah kenapa tampaknya butuh usaha yang cukup besar, jadi tidak melanjutkan penelusurannya
    Namun https://github.com/Debian/dcs/blob/main/howto/building.md terlihat cukup mudah didekati
    Ada juga Zoekt yang disebut oleh Sourcegraph https://github.com/sourcegraph/zoekt, tetapi belum yakin seberapa layak dipakai
    Kalau memang cukup bagus, saya juga penasaran kenapa versi open source Sourcegraph dulu ada
    Dari diskusi tentang versi open source Sourcegraph yang makin tertinggal dalam beberapa tahun terakhir, tampaknya tidak ada rencana serius untuk melakukan fork
    Rilis GCS https://github.com/google/codesearch tampaknya di-open-source-kan tanpa frontend
    Di atas juga direkomendasikan Livegrep https://github.com/livegrep/livegrep dan OpenGrok https://oracle.github.io/opengrok/
    Cukup antusias untuk mencobanya, tetapi kalau ada konfigurasi Docker Compose yang sudah jadi, itu akan sangat membantu untuk memulai
    Ada juga Eureka https://github.com/Rajeev-K/eureka
    Terlihat tidak sekuat yang lain, tetapi tampaknya lebih mudah untuk dideploy

    • Google codesearch sebenarnya bukan “produk” yang benar-benar siap dipakai
      Livegrep(https://github.com/livegrep/livegrep) terinspirasi dari sana dan cukup layak digunakan
      Zoekt juga awalnya merupakan proyek open source Google, tetapi pemeliharaannya terhenti lalu dilanjutkan oleh Sourcegraph
      Ini menggerakkan sebagian besar pencarian regex/literal dasar di Sourcegraph
      Kode Mozilla bisa dicari lewat Searchfox(https://searchfox.org/), yang menggabungkan pengindeks Livegrep, pengindeks Git buatan sendiri, dan basis data referensi silang per bahasa
      OpenGrok(https://github.com/oracle/opengrok) juga cukup dikenal, tetapi menurut saya UI-nya sedikit lebih buruk dibanding alternatif lain
    • Untuk repositori kecil dan penggunaan command line, ada juga cs: https://github.com/boyter/cs
    • Ada juga Hound: https://github.com/hound-search/hound