Berkontribusi pada Gutenberg: Pengalaman Kontributor Baru
Diterbitkan: 2018-10-13
Berikut ini adalah posting tamu oleh Chris Van Patten yang berbagi pengalamannya belajar dan berkontribusi pada Gutenberg. Ada banyak pembicaraan tentang penghalang masuk yang lebih tinggi dari Gutenberg untuk kontributor baru. Van Patten adalah pendiri Tomodomo, sebuah agensi digital untuk penerbit majalah.
Selama beberapa bulan terakhir, tetapi terutama selama beberapa minggu terakhir, telah ada percakapan ekstensif tentang hambatan masuk yang ada dalam berkontribusi pada editor Gutenberg untuk WordPress yang akan datang.
Tentu saja, pengalaman setiap orang bersifat subjektif dan unik. Saya tidak bisa berpura-pura memahami apa yang semua orang rasakan. Tetapi pengalaman saya berbeda dari apa yang telah diartikulasikan oleh beberapa orang, dan saya ingin membagikan pendapat saya sendiri.
Hari-hari Awal
Saya telah menggunakan WordPress selama hampir separuh hidup saya; hampir 15 tahun sekarang. Saya ingat beberapa versi awal WordPress: tema klasik, munculnya Kubrick, MP6, hingga hari ini.

Seperti banyak orang di komunitas, saya sepenuhnya belajar secara otodidak. Saya tidak memiliki latar belakang dalam ilmu komputer, dan tidak memiliki instruksi formal di bawah ikat pinggang saya. Saya mengambil kode melalui trial-and-error, mengubah file dan merusak situs saya karena saya ingin membuat perubahan.
Sejak hari-hari awal itu, WordPress selalu menjadi CMS pilihan saya baik untuk proyek pribadi maupun untuk klien dengan agensi saya Tomodomo. Tetapi meskipun saya telah berkomitmen pada platform WordPress, kontribusi saya kembali terbatas.
Aturan, ritual, dan etiket seputar posting di Trac tampak misterius dan tidak terbaca. Sampai hari ini, saya tidak dapat membuat patch SVN jika hidup saya bergantung padanya. Dan sebagian besar kode inti, yang dipenuhi dengan sejarah bertahun-tahun dan kompatibilitas mundur, sulit bagi saya untuk dipisahkan.
Jadi sebagai gantinya, saya berkontribusi dengan cara lain: open source plugin kustom sederhana yang saya buat, mengatur WordCamps dan pertemuan, dan berbicara di WordCamps di seluruh dunia. Tetapi selalu mengganggu saya bahwa saya tidak dapat menemukan cara untuk mendapatkan 'alat peraga' yang sulit dipahami itu.
(Oke, jadi saya benar-benar mendapatkan alat peraga pada satu rilis, tetapi saya yakin itu adalah kesalahan; saya tidak membuka tiket atau memberikan tambalan.)
Pergi… Pergi… Gutenberg
Ketika saya pertama kali belajar tentang Gutenberg dan mulai menjelajah, saya khawatir. Awalnya tampak menakutkan. Kemampuan JavaScript saya tidak melampaui jQuery. React tidak dapat dipahami dan sepertinya saya membutuhkan gelar doktor untuk memahami beberapa ide di baliknya. Saya masih tidak mengerti bagaimana Webpack bekerja dengan sihirnya. Apakah ada orang, benar-benar?
Tetapi kemungkinan antarmuka blok baru terlalu menarik untuk diabaikan, jadi saya mulai menyelam dan mencari tahu cara kerjanya. Pada hari-hari tenang itu (alias awal tahun ini), Gutenberg masih cukup kasar, dan ada banyak peluang untuk perbaikan. Saya mulai mengintai repo GitHub, membaca masalah, memeriksa kode, dan secara umum mencoba memahami apa yang sedang terjadi.
Saat saya bermain-main dengan Gutenberg untuk proyek klien, saya mulai melaporkan masalah: hal-hal sederhana, seperti bug antarmuka pengguna. Saya mulai mengomentari tiket, biasanya menawarkan saran untuk fitur tertentu, mencoba mengadvokasi dari perspektif pengembang independen.
Saya bahkan mengajukan permintaan tarik pertama saya! Itu sederhana. Saya memperbarui README untuk memasukkan hari dan waktu pertemuan #core-editor mingguan (Rabu pukul 1 siang UTC, jika Anda bertanya-tanya). Itu adalah awal yang tidak menguntungkan, tetapi saya bersemangat untuk menggabungkannya.

Seiring waktu, pengetahuan saya bertambah. Itu seperti hari-hari awal saya dalam pengembangan web, mempelajari properti CSS di sini, dan elemen HTML di sana. Saya mempelajari apa itu komponen dan bagaimana Anda dapat menggunakannya kembali dalam situasi yang berbeda. Saya belajar tentang JSX, dan ES6, dan beberapa akronim gila lainnya yang Anda temui di Gutenland.
Karena saya lebih banyak membangun dengan Gutenberg, saya juga menemukan cara baru untuk membangun Gutenberg itu sendiri . Saya dapat lebih memahami diskusi, dan menawarkan pemikiran dan saran saya. Saya mulai membuka permintaan tarik, sebagian besar berurusan dengan masalah desain tetapi juga memecahkan bug dan kebiasaan kecil. Saya bermaksud menghadiri pertemuan mingguan yang sebelumnya saya tambahkan ke README, menimpali ketika saya merasa saya memiliki lebih banyak perspektif untuk dibagikan.
Hari ini saya memiliki 25 masalah baru dan 27 permintaan tarik di bawah ikat pinggang saya, di samping lusinan komentar tentang tiket yang ada. Saya adalah 'anggota' tim Gutenberg di GitHub, dan mencoba mencari waktu setiap hari untuk melakukan triase bug baru atau meninjau pull request. Saya butuh hampir sepanjang tahun untuk mencapai titik itu dan tentu saja tidak selalu mudah. Saya masih harus banyak belajar.
Ketika saya mendengar tentang betapa sulitnya berkontribusi pada Gutenberg, saya tidak dapat menyesuaikannya dengan pengalaman saya sendiri. Itu tidak berarti itu mudah: Gutenberg melakukan hal-hal yang sangat berbeda dari inti WordPress, dan tidak diragukan lagi ada kurva belajar.
Saran untuk Berkontribusi pada Gutenberg
Jika Anda tidak nyaman coding sejak hari pertama, ada banyak cara lain untuk berkontribusi. Bacalah masalah dan tambahkan ide dan saran Anda sendiri. Coba uji dan replika laporan bug. Cari melalui dokumentasi inline untuk kesalahan ketik dan koreksi tata bahasa. Semua ini berharga, dan selalu dihargai.
Saat Anda menyerap cara Guten melalui osmosis, Anda akan menemukan bahwa kodenya tidak sesulit yang Anda pikirkan — hanya saja berbeda. Orang-orang cerdas yang membangun Gutenberg telah melakukan pekerjaan yang hebat dalam menyembunyikan bagian 'ilmu komputer' sehingga kita semua tidak perlu khawatir tentang pengikatan data dan ide kompleks lainnya. Saya masih tidak dapat menjelaskan manajemen keadaan, penyimpanan data, atau API konteks tetapi saya telah berhasil menemukan area kecil dari kode untuk ditingkatkan.
Ini bukan untuk menyangkal frustrasi atau kebingungan siapa pun dengan Gutenberg dan perkembangannya. Dokumentasi masih kurang di banyak tempat. Beberapa API tidak intuitif. Perkakasnya bukan yang paling sederhana untuk diatur. Ini adalah masalah nyata, dan saya tidak ingin berpura-pura tidak ada; kita pasti bisa berbuat lebih banyak untuk membuat pengembangan Gutenberg lebih mudah.
Dan tentu saja saya memiliki hak istimewa untuk memeriksa: Saya beruntung memiliki waktu untuk menghabiskan waktu di repo GitHub, bereksperimen dengan kode, dan berpartisipasi dalam rapat mingguan. Saya menyadari itu bukan kenyataan bagi banyak orang.
Jika Anda tidak dapat menemukan waktu, Editor Klasik akan terus menjadi opsi, dan tidak perlu malu untuk memperpanjang pembaruan. Mungkin perlu waktu agar pengalaman Gutenberg menjadi seintuitif yang kita semua inginkan, dan menunggu itu benar-benar masuk akal.
Tetapi jika Anda membuka diri untuk beberapa ide baru tentang apa itu WordPress, dan dapat meluangkan waktu, Anda mungkin akan terkejut melihat betapa mudahnya untuk berkontribusi. Jika Anda bingung, buka #core-editor atau forum. Jangan takut untuk memposting laporan atau saran bug; kami mungkin menggabungkannya dengan masalah lain jika sebelumnya dilaporkan, tetapi informasi tambahannya tetap berharga. Setiap pengalaman penting.
Saya sangat bersemangat tentang masa depan WordPress dengan Gutenberg dan akhirnya menjadi kontributor WordPress sejati. Jalan kita masih panjang, tetapi itu berarti masih banyak cara menarik untuk membuat perbedaan. Proyek ini hanya akan semakin kuat dengan adanya suara komunitas yang lebih independen.
Saya harap Anda akan bergabung dengan kami!
