Fitur Platform Web Crowdfunding Dengan Prioritas Terbuka
Diterbitkan: 2022-03-10Dalam posting terakhir saya, saya menjelaskan beberapa fitur CSS yang menarik — beberapa di antaranya hanya tersedia di satu browser. Sebagian besar pengembang web memiliki beberapa fitur yang mereka inginkan tersedia lebih luas, atau tersedia sama sekali. Saya mendorong pengembang untuk menggunakan, membicarakan, dan meningkatkan bug implementasi dengan browser untuk mencoba mengimplementasikan fitur, namun, bagaimana jika ada cara yang lebih langsung untuk melakukannya? Bagaimana jika pengembang web dapat berkumpul dan mendanai pengembangan fitur ini?
Ini adalah model yang diluncurkan oleh konsultan sumber terbuka Igalia dengan eksperimen Prioritas Terbuka mereka. Ide dasarnya adalah model crowdfunding untuk fitur platform web. Jika kami ingin fitur diimplementasikan, kami dapat memasukkan sejumlah kecil uang untuk membantu mendanai pekerjaan itu. Jika tujuan tercapai, fitur tersebut dapat diimplementasikan. Artikel ini didasarkan pada wawancara dengan Brian Kardell, Advokat Pengembang di Igalia.
Apa itu Prioritas Terbuka?
Gagasan prioritas terbuka adalah bahwa komunitas dapat memilih dan membantu mendanai pengembangan fitur. Igalia telah memilih daftar fitur target, yang semuanya diimplementasikan atau sedang diimplementasikan di setidaknya satu mesin. Oleh karena itu, mendanai sebuah fitur akan membantunya menjadi tersedia lintas-browser, dan lebih bermanfaat bagi kami sebagai pengembang. Daftar awal adalah:
- CSS
lab( )
warna di Firefox -
:focus-visible
di WebKit/Safari - HTML
inert
di WebKit/Safari - Argumen daftar pemilih untuk
:not( )
di Chrome - Dukungan Penahanan CSS di WebKit/Safari
- Dukungan CSS
d
(jalur SVG) di Firefox
Situs web memberikan penjelasan lebih lanjut tentang setiap fitur dan semua detail tentang cara kerja pendanaan. Igalia bekerja sama dengan Open Collective untuk mengelola ikrar tersebut.
Siapa Igalia?
Anda mungkin belum pernah mendengar tentang Igalia, tetapi Anda akan mendapat manfaat dari pekerjaan mereka. Igalia bekerja pada mesin browser, dan memiliki pengetahuan khusus tentang semua mesin tersebut. Mereka memiliki jumlah komitmen tertinggi kedua untuk sumber Chrome dan WebKit pada tahun 2019. Jika Anda menyukai Tata Letak Grid CSS, maka Anda harus berterima kasih kepada Igalia atas implementasinya di Chrome dan WebKit. Pekerjaan untuk menambahkan fitur ke browser tersebut dilakukan oleh tim di Igalia, bukan oleh insinyur yang bekerja secara internal di perusahaan browser.
Inilah yang membuat ide ini begitu menarik. Ini bukan kasus mengumpulkan uang dan kemudian mencoba membujuk seseorang untuk melakukan pekerjaan itu. Igalia memiliki rekam jejak dalam melakukan pekerjaan tersebut. Pengembang perlu dibayar, jadi dengan crowdsourcing uang kami dapat memilih apa yang akan dikerjakan selanjutnya. Igalia juga sudah memiliki hubungan dengan mesin untuk membuat fitur yang disarankan menjadi sukses.
Akankah Browser Menerima Fitur Ini Jika Kami Mendanainya?
Fakta bahwa Igalia sudah memiliki hubungan dalam tim mesin browser, dan telah mendiskusikan fitur yang dipilih dengan mereka berarti bahwa jika didanai, kita harus melihat fitur di browser. Dan, sudah ada preseden untuk fitur utama yang didanai oleh pihak ketiga dan dikembangkan oleh Igalia. Implementasi Tata Letak Grid di Chrome dan WebKit didanai oleh Bloomberg Tech. Mereka frustrasi dengan kurangnya implementasi Tata Letak Grid, dan Bloomberg Tech-lah yang menyediakan uang untuk mengembangkan fitur itu selama beberapa tahun.
Chrome dan WebKit dengan senang hati menerima implementasinya; tidak ada kontroversi mengenai penambahan fitur. Sebaliknya, itu adalah masalah prioritas. Peramban memiliki pekerjaan lain yang dianggap sebagai prioritas yang lebih tinggi, dan oleh karena itu komitmen keuangan dan waktu pengembang diarahkan ke tempat lain. Fitur yang dipilih untuk upaya crowdfunding awal ini juga tidak kontroversial dalam hal implementasinya. Jika pekerjaan dapat dilakukan maka mesin cenderung menerimanya. Interoperabilitas — hal-hal yang bekerja dengan cara yang sama di seluruh browser — adalah sesuatu yang diperhatikan oleh semua vendor browser. Tidak ada untungnya mesin tertinggal. Kami pada dasarnya hanya bisa melewati proses prioritas internal untuk fitur tersebut.
Mengapa Browser Tidak Melakukan Hal Ini?
Saya bertanya kepada Brian mengapa perusahaan browser tidak mendanai sendiri hal-hal ini. Dia menjelaskan,
“Orang mungkin berpikir, misalnya, 'Apple memiliki semua uang di dunia' tetapi ini mengabaikan kenyataan yang kompleks. Bisnis Apple bukanlah browser Web mereka. Faktanya, browser web itu sendiri bukanlah usaha menghasilkan uang bagi siapa pun. Browser dan standar bersifat sukarela, mereka adalah milik bersama. Namun, dari segi biaya, browser cukup besar. Mereka jauh lebih kompleks daripada yang kita sadari. Hanya 3 organisasi saat ini yang telah menginvestasikan bertahun-tahun dan jutaan dolar per tahun yang diperlukan untuk mengembangkan dan memelihara proyek mesin rendering. Salah satu dari mereka sudah melakukan investasi besar-besaran dan tak tertandingi untuk kepentingan bersama.”
Brian melanjutkan dengan menunjukkan investasi besar Firefox ke Servo, dan Google ke LayoutNG, proyek yang akan meningkatkan pengalaman browser dan juga memungkinkan untuk mengimplementasikan fitur baru platform. Ada banyak hal yang dapat diterapkan oleh browser mana pun di mesin mereka, tetapi cara fitur-fitur tersebut diprioritaskan secara internal mungkin tidak selalu sesuai dengan kebutuhan kita sebagai pengembang.
Terpikir oleh saya bahwa dengan mendanai implementasi browser, kami melakukan hal yang sama seperti yang kami lakukan untuk produk lain yang kami gunakan. Banyak dari kita akan mengembangkan plugin untuk fitur yang dibutuhkan dalam CMS atau membayar pihak ketiga untuk menyediakannya. Pengembang CMS menghabiskan waktu mereka untuk mengerjakan produk inti, memastikan produk itu kuat, aman, dan mutakhir. Tanpa produk inti, menambahkan plugin tidak mungkin dilakukan. Namun pihak ketiga dapat memberikan kontribusi bagian ke platform itu, dan dalam arti itulah yang dapat kita lakukan melalui prioritas terbuka. Tunjukkan bahwa suatu fitur cukup berharga bagi kami untuk menjanjikan sejumlah uang untuk menyelesaikannya.
Bagaimana Ini Sesuai Dengan Proyek Seperti Web Yang Kami Inginkan?
SmashingConf telah mendukung proyek Web We Want, di mana pengembang mengajukan ide platform web untuk didiskusikan dan dipilih di atas panggung di konferensi. Saya terlibat dalam beberapa acara ini sebagai pembawa acara dan panelis. Saya bertanya-tanya bagaimana prioritas terbuka cocok dengan upaya yang ada ini. Brian menjelaskan bahwa ini adalah hal yang sangat berbeda dengan mengatakan,
“... jika Anda bertanya kepada saya apa yang bisa membuat rumah saya lebih baik, saya bisa menyebutkan sejuta hal. Beberapa di antaranya bahkan tidak praktis, hanya akan sangat rapi. Tetapi jika Anda mengatakan membuat daftar hal-hal yang dapat Anda lakukan dengan anggaran untuk biaya masing-masing — daftar saya akan jauh lebih praktis dan terikat oleh kenyataan yang saya tahu ada.
Pada akhir bulan jika Anda mengatakan "ini adalah daftar Anda, dan ini adalah $100, apa yang akan Anda lakukan dengan itu?" itu pertanyaan yang sangat langsung yang membantu saya mencapai sesuatu yang praktis. Mungkin saya akan melukis. Mungkin saya akan membeli beberapa pencahayaan baru. Atau, mungkin saya akan menyimpannya selama beberapa bulan untuk sesuatu yang lebih mahal.”
Proyek Web We Want mengajukan pertanyaan terbuka, menanyakan apa yang kita inginkan dari platform. Banyak keinginan bukanlah hal yang sudah ada sebagai spesifikasi. Untuk benar-benar mulai menerapkan salah satu dari hal-hal ini berarti memulai dari awal, dengan ide yang perlu diambil langsung dari tahap spesifikasi. Ada beberapa kepastian, dan mereka akan sangat sulit untuk menentukan harganya.
Fitur yang dipilih untuk eksperimen prioritas terbuka pertama ini sengaja dibatasi cakupannya. Mereka sudah memiliki beberapa implementasi; mereka memiliki spesifikasi, dan Igalia telah berbicara dengan pengelola browser untuk memeriksa apakah fitur-fitur tersebut siap untuk bekerja tetapi tidak menjadi prioritas utama.
Mendukung proyek ini berarti mendukung sebagian besar pembangunan, yang dapat terjadi dalam jangka waktu yang cukup singkat. Memposting ide ke Web yang Kita Inginkan, menulis ide di blog Anda, atau menambahkan masalah yang menjelaskan fitur yang sama sekali baru di repo GitHub CSSWG berpotensi memunculkan ide baru ke dalam diskusi. Namun, ide-ide itu mungkin memiliki jalan panjang yang lambat untuk menjadi kenyataan. Dan, mengingat sifat diskusi standar, mungkin tidak akan terjadi persis seperti yang Anda bayangkan. Sangatlah berharga untuk mengusulkan hal-hal ini, tetapi sangat sulit untuk memperkirakan waktu dan biaya untuk implementasi akhir.
Masalah yang sama berlaku untuk fitur kueri kontainer yang sangat dicari, Igalia telah menyebutkan kueri kontainer di FAQ mereka. Kueri penampung adalah sesuatu yang banyak orang yang terlibat dalam proses standar dan di vendor browser sedang mencari tahu, namun, diskusi tersebut masih dalam tahap awal. Ini bukanlah sesuatu yang mungkin untuk memberikan nilai uang pada saat ini.
Terlibat!
Ada informasi lebih lanjut di situs Open Prioritization, bersama dengan FAQ mendetail yang menjawab pertanyaan lain yang mungkin Anda miliki. Saya senang dengan hal ini karena saya selalu ingin membantu menemukan cara bagi desainer dan pengembang untuk terlibat dalam platform web. Ini adalah platform kami. Kami dapat menunggu hal-hal diberikan untuk digunakan oleh vendor browser, atau kami dapat berkontribusi secara aktif melalui ide, laporan bug, dan dengan Prioritas Terbuka sedikit uang, untuk membantu membuatnya lebih baik.