1 poin oleh GN⁺ 2024-08-02 | 1 komentar | Bagikan ke WhatsApp
  • Proyek Go beralih dari kepemimpinan yang berpusat pada Russ Cox selama lebih dari 12 tahun ke struktur baru yang berpusat pada Austin Clements dan Cherry Mui
  • Mulai 1 September 2024, Austin akan menjadi pemimpin teknis untuk tim Go Google dan seluruh proyek Go, sementara Cherry akan memimpin Go core yang mencakup compiler, runtime, dan rilis
  • Cox menilai bahwa kepemimpinan tunggal jangka panjang memberi stabilitas, tetapi bisa mengurangi ruang bagi pemimpin baru untuk berkembang, dan melihat transisi kepemimpinan Python pada 2018 sebagai preseden yang positif
  • Cox tidak meninggalkan Go dan akan tetap menjadi kontributor individu melalui diskusi desain, review CL, pengajuan issue, sebagian pekerjaan pustaka standar, presentasi di GoLab, dan lainnya
  • Ke depan, ia akan lebih fokus pada Gaby dan Oscar untuk meningkatkan produktivitas pelacak issue Go dan menyebarkan pendekatan yang membantu para maintainer open source ke proyek lain

Transisi kepemimpinan Go

  • Mulai 1 September 2024, Austin Clements akan menjadi pemimpin teknis Go
    • Cakupannya meliputi tim Go di Google dan seluruh proyek Go
    • Saat ini Austin adalah pemimpin teknis untuk area yang disebut “Go core”
  • Cherry Mui naik ke peran memimpin area Go core
    • Go core mencakup toolchain compiler, runtime, dan rilis
  • Russ Cox tidak meninggalkan proyek Go, tetapi mengambil langkah mundur dari pusat pengambilan keputusan

Mengapa perlu pergantian setelah 12 tahun kepemimpinan

  • Bagi Cox, pemimpin teknis bukan jabatan kehormatan, melainkan lebih dekat ke peran layanan
    • Selama lebih dari 12 tahun memimpin proyek Go, ia berfokus menciptakan kondisi agar para anggota bisa melakukan pekerjaan yang baik
  • Proyek besar mendapat manfaat dari kepemimpinan yang stabil, tetapi pada titik tertentu juga membutuhkan kekuatan dan sudut pandang segar dari pemimpin baru
  • Cox menilai Go telah membangun stabilitas yang cukup melalui lebih dari 12 tahun kepemimpinan tunggal
  • Ia memandang model BDFL tidak sehat baik untuk individu maupun proyek
    • Sulit menciptakan ruang bagi pemimpin baru
    • Menjadi titik kegagalan tunggal
    • Mengurangi ruang bagi proyek untuk tumbuh lebih jauh
  • Python disebut sebagai contoh yang sangat diuntungkan setelah Guido van Rossum mundur pada 2018 dan memberi ruang bagi orang lain untuk memimpin

Kepercayaan pada Austin Clements dan Cherry Mui

  • Austin telah mengerjakan Go di Google sejak 2014, dan Cherry sejak 2016
  • Cox menilai keduanya memiliki penilaian yang sangat baik serta pengetahuan mendalam tentang Go dan sistem tempat Go berjalan
  • Ia selama ini mengandalkan Austin dan Cherry ketika perlu memahami lebih dalam pertanyaan desain umum maupun detail compiler, linker, dan runtime
  • Para pemimpin yang ada juga akan terus memimpin di bidang masing-masing
    • Roland Shoemaker akan terus memimpin keamanan Go
    • Rob Findley dan Hana Kim akan terus memimpin tooling Go dan dukungan IDE

Peran Russ Cox ke depan

  • Cox berencana secara sadar mundur dari pengambilan keputusan untuk memberi ruang bagi Austin dan pemimpin lain tampil di depan
  • Di dalam Go, ia akan tetap menjadi kontributor individu
    • Berpartisipasi dalam diskusi desain Go
    • Review CL
    • Menjawab pertanyaan terkait histori lama
    • Memberi dukungan saat dibutuhkan
    • Mengajukan issue dan menulis CL
    • Mengerjakan beberapa kemungkinan pustaka standar baru
    • Mengadvokasikan Go di seluruh industri
    • Menyampaikan presentasi terkait Go di GoLab di Italia pada November
  • Detail transisi ini belum ditetapkan dan dibagikan ke mailing list untuk diskusi terbuka
  • Cox dan Austin berharap perubahan ini tidak terlihat sebagai peristiwa besar selain sebagai langkah untuk membuat proyek Go menjadi lebih kuat dan lebih baik

Fokus yang bergeser ke Gaby dan Oscar

  • Cox ke depan akan lebih fokus pada Gaby and Oscar
  • Tujuannya adalah menghasilkan kontribusi yang berguna di pelacak issue Go agar para pekerja Go bisa bekerja lebih produktif
  • Melalui pekerjaan pada Oscar, ia ingin menemukan cara yang membantu maintainer open source dan berharap pendekatan itu dapat diadopsi oleh proyek lain
  • Tiga tujuan tingkat tinggi Oscar adalah
    • Membangun sesuatu yang berguna
    • Mempelajari hal baru
    • Membuka jalan bagi proyek lain
  • Tujuan-tujuan ini terhubung dengan sasaran luas yang selalu dikejar di Go, sehingga Oscar tampak sebagai langkah berikutnya yang alami bagi Cox

Respons komunitas dan permintaan transparansi

  • Daniel Martí menyebut modules dan generics sebagai perubahan besar dan tonggak penting Go dalam 10 tahun terakhir, serta menilai Cox memainkan peran kunci dalam keberhasilan jangka panjangnya
  • Ia juga mengusulkan cara meningkatkan transparansi seputar compiler dan runtime bersamaan dengan diskusi transisi
  • Cherry Mui menjawab bahwa notulen rapat dan office hours adalah peluang yang baik untuk meningkatkan transparansi dan partisipasi antara tim compiler/runtime Google dan komunitas
    • Ia akan memposting pembaruan ke mailing list ketika jadwal office hours berikutnya sudah ditentukan
  • Sejumlah peserta menyampaikan terima kasih atas 12 tahun kepemimpinan Cox dan kontribusinya pada Go, serta mengucapkan selamat atas peran baru Austin dan Cherry

1 komentar

 
GN⁺ 2024-08-02
Komentar Hacker News
  • rsc, terima kasih atas semua pekerjaanmu selama ini. Dalam 12 tahun terakhir, pengembangan Go menjadi jauh lebih menyenangkan berkat race condition detector, standardisasi error wrapping, module, generics, pembaruan toolchain, dan lainnya.
    Masih ada hal-hal yang saya harapkan. Secara pribadi, sum type, enum/range type yang lebih baik, immutability, dan non-nilness ada di wishlist saya, tetapi Go tetap termasuk ekosistem paling menyenangkan yang pernah saya pakai untuk pengembangan.

    • Menurut saya kontribusi teknis terbesar RSC adalah module versioning. Itu elemen yang benar-benar fundamental bagi ekosistem bahasa.
      https://research.swtch.com/vgo-intro
    • Melihat non-nilness membuat saya masih ingat thread ini.
      https://groups.google.com/g/golang-nuts/c/rvGTZSFU8sY/m/R7El...
    • Ini daftar yang merangkum dengan baik hal-hal yang membuat Go menjadi bahasa yang lebih baik dalam beberapa tahun terakhir. Saya juga ingin menambahkan iterator, yang belakangan didorong kuat oleh Russ.
    • Saya rasa Go akan jauh lebih populer seandainya sejak awal memiliki nullable type atau sum type.
    • Jangan lupa juga perubahan semantik pada loop for tradisional tiga klausa: https://go101.org/blog/2024-03-01-for-loop-semantic-changes-...
      Karena perubahan ini, menurut saya Go 1.22 sebenarnya adalah versi Go pertama yang secara serius mematahkan kompatibilitas Go 1, meski pihak resmi Go tidak mengakuinya.
  • Secara pribadi, saya melihat Go sebagai salah satu proyek open source yang paling baik dikelola sejauh ini. Saya juga memberi hormat kepada Google karena telah mendukungnya.

    • Saya penasaran faktor apa yang membuatnya layak disebut proyek yang dikelola dengan baik.
    • Saya penasaran, secara praktis “kepemilikan” Go ada pada siapa.
      Secara teori mungkin ada semacam organisasi atau komite independen, tetapi saya penasaran siapa yang membayar biaya sebagian besar orang yang benar-benar mengerjakannya. Google?
    • Rasanya seperti efek samping dari Go yang gagal dalam misi menggantikan C++ atau Java, lalu menjadi bahasa yang menggantikan Ruby/Python dan sejenisnya di sisi API.
      Karena itu, tujuan proyeknya tidak lagi menaklukkan dunia, melainkan selaras dengan para penggunanya; perang itu diambil oleh Rust, Zig, dan lainnya.
    • Mendukung hanya perilaku glibc dan sesuka hati mengabaikan standar ELF memang kualifikasi proyek yang “paling baik dikelola”. /s
  • Bagian “Saya tidak percaya model BDFL (benevolent dictator for life) sehat bagi orang maupun proyek” menarik. Proyek-proyek terbaik punya BDFL, dan para BDFL terbaik tampaknya skeptis terhadap kekuasaan mereka sendiri.

    • Orang-orang kompeten yang tidak tertarik pada kepemimpinan justru sering menjadi pemimpin terbaik.
      Sebaliknya, orang yang ingin menjadi pemimpin karena ingin dikenal sebagai “pemimpin” kadang tidak punya kemampuan maupun rasa tanggung jawab.
    • Terlepas dari apakah saya setuju dengan seluruh bagian awalnya, tidak terlalu mengejutkan bahwa BDFL terbaik skeptis terhadap kekuasaan mereka sendiri.
      Menurut saya, keuntungan utama dari wewenang satu orang untuk mengambil keputusan sepihak adalah bisa melewati kebuntuan ketika ada banyak pemangku kepentingan. Jika sebuah proyek merasa wajar bagi pemimpinnya untuk membalikkan keputusan yang sudah memiliki konsensus kuat, akan jauh lebih sulit membentuk komunitas yang cukup besar sampai dikenal orang.
    • Saya tidak berpikir pernyataan ini benar. Python punya BDFL, tetapi tampaknya tidak mendapat manfaat besar. Saya juga tidak tahu sikap ini berasal dari proyek-proyek lain yang mana.
      Sekilas, bentuknya mirip birokrasi lain: mungkin mengurangi drama, tetapi tidak meningkatkan kualitas secara mencolok. Di sisi lain, ada sangat banyak proyek yang gagal karena pemilik tunggalnya tidak cukup fleksibel, hanya saja hal semacam itu dianggap tidak layak dibahas.
    • Satu-satunya orang yang pantas memegang kekuasaan adalah orang yang tidak menginginkan kekuasaan.
      Ini jauh melampaui proyek open source.
    • Gagasan BDFL itu sendiri adalah lelucon, dan namanya pun menunjukkan itu.
      Istilah itu adalah pengakuan atas “realitas di lapangan” yang dipegang GvR sebagai pencipta Python, bukan sesuatu yang dimaksudkan secara serius sebagai prinsip manajemen proyek. Itu deskripsi, bukan preskripsi, tetapi konsepnya keburu terlalu direifikasi.
  • rsc, terima kasih banyak atas semua upaya yang dicurahkan pada bahasa yang membawa saya ke software engineering ini.
    Saya sudah mencoba berbagai bahasa pemrograman, tetapi Go masih terasa seperti rumah. Developer experience-nya luar biasa, dan saya sangat menghargai bagaimana bahasa ini dan para penciptanya tanpa kompromi mempertahankan kesederhanaan dan rasa tanggung jawab. Semoga sukses dan mendapat hasil baik dalam semua hal ke depan.

    • Sama-sama. Terima kasih juga untuk komentar ini.
      Saat memulai Go, saya sama sekali tidak menyangka Go akan memberi dampak positif seperti ini pada hidup orang-orang dan menarik orang baru ke pemrograman serta software engineering. Dampak itulah yang paling saya banggakan.
  • Blog RSC sangat bagus: https://research.swtch.com/

    • Baru sekarang saya sadar rsc bisa menjadi akronim dari blog itu.
    • Blog yang luar biasa. Saya pernah mengatakannya di situs ini sebelumnya, tetapi seri regex miliknya kualitasnya absurd tinggi, dan fakta bahwa ia memajangnya begitu saja agar bisa dilihat semua orang adalah sebuah privilese besar.
  • Terima kasih atas semua kontribusi untuk Go.
    Namun ada satu hal yang tidak terkait Go yang saya tidak setuju. Python tidak diuntungkan setelah GvR mundur. “Kepemimpinan” baru bersifat nonteknis dan tiranis, serta membuat sebagian besar kontributor open source sejati pergi.
    Pengembangan mandek kecuali beberapa kontribusi korporat yang kualitasnya meragukan, atmosfernya represif, dan yang penting hanyalah apakah seseorang berada di posisi berkuasa di Microsoft/Instagram/Bloomberg. Ini belum tentu salah perusahaan-perusahaan tersebut. Mereka mungkin tidak tahu bahwa kemurahan hati mereka sedang disalahgunakan.

  • gofmt saja rasanya sudah menghemat waktu luar biasa banyak di seluruh dunia. Pada dasarnya ia ada di hulu yang membuat hampir semua ekosistem bahasa lain berkata, “Oke, mari kita auto-format saja.”
    Saya tidak suka apa yang dilakukan auto-formatter pada kode saya, tetapi saya senang tidak perlu lagi membicarakan whitespace.

    • Menariknya, di semua bahasa lain saya tidak suka auto-formatter dan memakai spasi alih-alih tab, tetapi di Go saya terbiasa sejak awal dengan cara gofmt memformat kode.
      Setelah itu, kita jadi menghargai bahwa tidak perlu menghabiskan banyak waktu lagi untuk hal tersebut, dan setidaknya bagi kebanyakan orang itu bukan masalah.
  • Hari ini saya mengetahui proyek yang ingin ia fokuskan: https://go.googlesource.com/oscar/+/refs/heads/master/README...
    Katanya itu arsitektur berbasis LLM untuk membantu pemeliharaan proyek open source. Tampak keren.

  • https://www.youtube.com/watch?v=wwoWei-GAPo — proyek ini benar-benar sudah berkembang jauh sejak saat itu.
    Senang melihatnya masih hidup dan berkembang. Pada 2009, sepertinya saya tidak menyangka akan jadi seperti ini. Menurut saya, tanpa Russ, Go tidak akan berada di posisinya sekarang. Kontribusinya terhadap proyek ini sangat besar.

  • Terima kasih kepada Russ. Menjadikan dukungan tooling sebagai elemen kelas satu adalah langkah revolusioner, dan sampai sekarang tetap menjadi salah satu ciri paling menonjol dari Go.