2 poin oleh GN⁺ 2024-08-21 | 1 komentar | Bagikan ke WhatsApp
  • Pada pertengahan 2019, saat sedang mencari pekerjaan, harus memilih antara Google Goteam dan Sourcegraph
  • Alasan memilih Sourcegraph adalah karena budayanya yang memungkinkan membangun semuanya secara terbuka
  • Semua dokumen pada dasarnya bersifat publik, dan RFC teknis serta produk, PR/FAQ, dan lainnya disimpan di folder Google Drive publik
  • Seluruh implementasi produk dilakukan di repositori GitHub publik
  • Kini repositori sourcegraph/sourcegraph telah dialihkan menjadi privat
  • Ini merupakan keputusan yang merusak budaya menarik yang dimiliki Sourcegraph
  • Sourcegraph menyisakan snapshot publik bernama sourcegraph/sourcegraph-public-snapshot

Menjaga referensi tetap hidup

  • Selama bekerja di Sourcegraph, banyak tulisan dipublikasikan di blog engineering
  • Banyak tulisan menggunakan tautan ke kode publik terkait sebagai referensi
  • Sekarang semua tautan tersebut rusak
  • Ada ungkapan, "URI yang keren tidak berubah"
  • Sedang berupaya menjaga sebanyak mungkin informasi agar tautan tidak tiba-tiba rusak
  • sourcegraph/sourcegraph di-fork menjadi efritz/sourcegraph
  • Fork tidak mewarisi pull request, dan commit yang tidak dirujuk langsung oleh branch tidak akan terlihat
  • Menurut dokumentasi GitHub, fork tetap ada meskipun repositori publik dialihkan menjadi privat
  • Namun, jika repositori asal menjadi privat, commit di luar branch main bisa menghilang

Mengais commit terkait

  • Sebuah program Go dijalankan untuk menemukan semua commit
  • Program ini menghasilkan 2.645 file metadata pull request
  • jq digunakan untuk membaca payload JSON dan mengekstrak data
  • File pr_ids.txt, commits.txt, dan replace_pairs.txt dibuat
  • Program kedua dijalankan untuk mencantumkan commit yang tidak di-merge dari setiap pull request
  • Program ini menambahkan commit ke file commits.txt

Membawa commit ke jaringan repositori baru

  • Branch yang berisi setiap SHA terkait dibuat lalu dibawa ke fork
  • Skrip Bash digunakan untuk menjalankan operasi git secara berurutan

Menulis ulang referensi

  • Kini setiap referensi dapat ditautkan ke target di fork
  • Proses otomatis diimplementasikan menggunakan xargs
  • Referensi commit langsung ditulis ulang ke fork, dan referensi pull request ditulis ulang ke commit hasil merge

Ringkasan GN⁺

  • Peralihan Sourcegraph menjadi privat berdampak besar pada budaya open source
  • Banyak tautan referensi di blog engineering rusak, dan dibutuhkan banyak upaya untuk mempertahankannya
  • Referensi ditulis ulang dan commit dipertahankan dengan menggunakan fork GitHub dan skrip
  • Artikel ini menekankan keberlanjutan proyek open source dan pentingnya tautan referensi

1 komentar

 
GN⁺ 2024-08-21
Komentar Hacker News
  • Pendapat CEO Sourcegraph:

    • Alasan basis kode internal diubah menjadi privat adalah demi fokus
    • Menjaga agar tetap open source dan terbuka menimbulkan banyak pekerjaan tambahan dan risiko
    • Perlu fokus membuat produk pencarian/inteligensi kode yang hebat untuk pelanggan
    • Mereka masih melakukan banyak hal untuk pengembang dan komunitas OSS
      • Menyediakan layanan pencarian kode publik yang populer
      • Memelihara banyak kode open source
    • Jika pendiri lain sedang mempertimbangkan apakah kode mereka perlu dibuka, ia bersedia diajak berkonsultasi
  • Pendapat pengguna lain:

    • Sourcegraph dianggap sebagai perusahaan yang sangat memahami budaya pengembang, sehingga perubahan terbaru ini terasa disayangkan
    • Ia mencoba mencari roadmap publik, tetapi sebagian besar dokumentasi telah diubah menjadi privat
    • Handbook yang sebelumnya terbuka dipindahkan ke Notion, dan sebagian besar bagian penting menaut ke dokumen Google privat
  • Pendapat pengguna lain:

    • Indeks pencarian publik Sourcegraph baru-baru ini menghilang
    • Sebelum fitur pencarian GitHub membaik, ia sering menggunakan Sourcegraph
    • Sekarang repositori GitLab dan banyak repositori GitHub telah hilang dari indeks
    • Karena fitur pencariannya tidak lagi dapat diandalkan, ia tidak punya pilihan selain kembali ke GitHub
  • Pendapat pengguna lain:

    • Ia mem-fork versi open source, menghapus telemetri, menonaktifkan pembaruan, menghapus kode proprietari, membuat image Docker, dan mengimplementasikan autentikasi Oauth2 yang ringan
    • Ia berencana lama menjalankannya di belakang Oauth2-Proxy
    • Ini adalah perangkat lunak yang sangat andal
  • Pendapat pengguna lain:

    • Ia banyak menggunakan Sourcegraph untuk pekerjaan reverse engineering di macOS
    • Banyak proyek ada berkat pencarian Sourcegraph
    • Ia berharap fitur pencarian itu tidak hilang ke depannya
  • Pendapat pengguna lain:

    • Menjadikan seluruh pekerjaan pengembangan sebagai privat terasa aneh dan membingungkan
    • Ia mempertanyakan mengapa harus beralih ke privat, padahal pembatasan lisensi saja tampaknya sudah cukup untuk mencapai tujuan bisnis
  • Pendapat pengguna lain:

    • Ia sering menggunakan Sourcegraph, tetapi bertanya-tanya berapa banyak orang yang benar-benar membayarnya
    • Menjalankan perusahaan open source adalah hal yang sulit
    • Seiring perusahaan makin matang, ia jadi memahami bahwa ada hal-hal yang tidak bisa terus diberikan secara gratis
  • Pendapat pengguna lain:

    • Proyek Software Heritage telah mengarsipkan sebagian besar repositori Sourcegraph
    • Perayapan terakhir dilakukan pada pertengahan Juli 2024
  • Pendapat pengguna lain:

    • Ia menyebut episode sebelumnya bahwa Sourcegraph sudah tidak lagi open source
  • Pendapat pengguna lain:

    • Ia sering mengutip dan merekomendasikan Sourcegraph, tetapi belum pernah benar-benar membayarnya
    • Ia penasaran mengapa mereka meninggalkan open source, tetapi tidak terlalu terkejut