Situasi yang muncul beberapa kali dalam proyek sumber terbuka seperti ini:
- Saya melihat ada bug dalam penerapan kami, dan mencari tahu patch hack cepat. (Misalnya, cukup mengomentari kode yang sebenarnya tidak kita butuhkan.)
- Saya menghabiskan sedikit usaha ekstra untuk mencari tahu bug yang sebenarnya, membuat patch, dan mengirimkannya melalui permintaan tarik Git, atau serupa.
- Permintaan penarikan saya ditolak. Mungkin tambalan itu tidak sempurna (misalnya, termasuk baris yang seharusnya tidak ada), mungkin itu melanggar gaya pengkodean, mungkin memiliki konsekuensi lain. Atau mungkin saya melakukan sesuatu yang salah pada Git - permintaan tarik seharusnya ditata ulang atau sesuatu. Seorang pengelola memberikan umpan balik tentang cara meningkatkan tambalan, dan meminta saya mengirimkannya kembali.
Pada titik ini saya bingung tentang seberapa jauh saya harus melanjutkan. Sejauh yang saya ketahui, saya tidak punya masalah: Saya memperbaikinya kembali pada langkah 1. Saya telah melaporkan masalah ini, saya bahkan telah mengambil langkah-langkah untuk memperbaikinya untuk orang lain. Tetapi saya tidak merasa bahwa itu adalah permintaan tarik "saya", jadi saya tidak merasa bahwa tanggung jawab untuk memperbaiki tambalan harus datang kepada saya.
Satu situasi khusus yang mengganggu saya adalah setelah diskusi tentang kegagalan tambalan saya, kami mencapai persetujuan pada milis tentang apa tambalan yang benar akan terjadi (yaitu, bagaimana seharusnya berperilaku, kadang-kadang termasuk setiap baris kode dijabarkan). Kemudian, masih dianggap sebagai tanggung jawab saya untuk benar-benar menghasilkan dan mengirimkan tambalan.
Apakah ada etika standar dalam situasi ini? Bagaimana mereka diselesaikan? Apakah reaksi saya tidak biasa? Seberapa jauh Anda diharapkan untuk memperbaiki bug Anda?
(Perhatikan ketika saya mengatakan "proyek sumber terbuka", beberapa di antaranya sangat kecil, tetapi mungkin bukan hobi - hanya proyek perangkat lunak kecil yang berguna bagi beberapa organisasi, yang menggunakan sumber daya pengembang untuk mengerjakannya. Jika jawabannya jelas adalah "memperbaiki tambalan dan mengirim kembali", pahamilah bahwa saya memiliki tanggung jawab kepada atasan saya untuk mengerjakan hal-hal yang bermanfaat bagi mereka. Menghabiskan waktu memperbaiki bug yang tidak mempengaruhi kita akan salah ...)
sumber
Lanjutkan sejauh Anda bersedia untuk bertahan dengan itu. Akan bagus untuk memperbaiki tambalan Anda dan membaginya dengan dunia di bagasi utama, tetapi jika pengelola tidak menginginkannya, angkat bahu. Anda dapat memposting di suatu tempat masalah Anda, dan tambalan untuk mengatasinya, sehingga orang lain di kapal yang sama dapat mencari solusi.
Dan Anda bukannya tanpa masalah. Tambalan Anda tidak akan berada dalam peningkatan berikutnya. Jadi, Anda harus melakukan pengiriman ulang, dan berharap itu berfungsi atau memijatnya, setiap kali Anda mengambil versi baru. Jadi memasukkannya ke proyek utama akan menghemat waktu Anda, dan perusahaan Anda, dalam jangka panjang.
Ini menyakitkan bagi Anda, tetapi Anda berkontribusi pada komunitas. Saya tentu menghargai semua kontributor kerja. Ini tidak seperti perangkat lunak berkualitas yang secara genetis berasal dari massa. Seseorang harus melakukan pekerjaan. (Jadi, siapa yang hebat? Anda luar biasa). Jika Anda merasa tidak nyaman untuk itu, umumkan kepada komunitas bahwa meskipun Anda menghargai diskusi tentang bagaimana seharusnya, Anda terlalu sibuk untuk melakukannya. Maksud saya, apa yang akan mereka lakukan? Potong gajimu?
sumber
Ada satu prinsip yang membuat budaya open source lebih mudah dipahami: orang yang melakukan pekerjaan memutuskan apa yang harus dikerjakan. Ini adalah salah satu daya tariknya dibandingkan dengan pekerjaan harian pengembang. Prioritas # 1 Anda mungkin # 50 di backlog mereka. Jika Anda tidak memperbaiki permintaan tarik Anda, pada akhirnya itu mungkin akan menetes ke atas dan mereka akan mengurusnya. Namun, jika Anda membuatnya cukup mudah bagi mereka, mereka akan mengurusnya sekarang.
Alasan lain mereka meminta Anda untuk memperbaiki permintaan tarik Anda lebih murah hati. Mereka ingin Anda mendapatkan kredit atas kontribusi Anda, sekecil apa pun itu. Jika Anda melakukan perbaikan, nama Anda adalah yang ada di bidang penulis komit. Sebagian besar orang cukup bangga atas kontribusi mereka hingga ingin melihatnya, sehingga modus operandi default pengelola adalah membiarkan mereka.
Sejauh tanggung jawab Anda kepada atasan Anda, jika bisnis Anda mengandalkan kode ini, Anda tidak merugikan mereka. Pengusaha tahu manfaat dari seorang pekerja meluangkan waktu untuk mempertajam alat-alatnya.
sumber
AFAIK, cara open source adalah bahwa responsabilitas memperbaiki bug diserahkan kepada orang yang cukup peduli dengan bug untuk menangani beban untuk memastikan itu diperbaiki. Bergantung pada situasinya, saya telah melakukan segalanya mulai dari sekadar mengabaikan masalah hingga berjuang (menyediakan tambalan dan berdebat agar diterima) untuk memastikannya diperbaiki.
Semuanya benar, tapi jangan biarkan orang yang mengelola proyek mengharapkan hal yang salah dari Anda (yaitu memberi mereka harapan bahwa Anda akan memperbaiki masalah dengan opsi diskusi dan kemudian tidak melakukan apa-apa), mereka mungkin menyadari lebih banyak masalah daripada mereka dapat menangani diri mereka sendiri dan akan mencoba membuat kontributor berulang dari Anda jika mereka bisa.
sumber
Bug asli hanya dapat memengaruhi Anda, jadi sangat penting bagi Anda untuk mengirimkannya dengan melakukan apa pun yang diperlukan untuk memastikan kepatuhan Anda. Kalau tidak, versi berikutnya yang Anda tarik (karena Anda membutuhkan perbaikan lain) akan hilang perbaikan Anda.
Anda tidak ingin mempertahankan daftar tambalan yang perlu Anda terapkan setiap kali Anda menarik salinan baru proyek - itu terlalu banyak kesulitan. Ambil sedikit waktu ekstra dan perbaiki secara permanen sehingga Anda tidak perlu menghadapinya lagi.
sumber
Untuk pengembang open source, ada dua jenis masalah:
Saya pikir sebagian besar pengelola paket open source / pengembang MENCINTAI ide untuk membantu meningkatkan non-inti-kontributor dengan patch mereka.
Namun, tujuan utama mereka adalah meminimalkan jumlah masalah tipe-b. Itu sebabnya bilah diatur cukup tinggi.
Beberapa orang mengatasinya. Mereka menjadi kontributor, atau bahkan kontributor inti. Yang lain menyerah. Ada sifat Darwinian tertentu pada Open Source - kelangsungan hidup yang terkuat.
Saya mendorong Anda untuk menekan dan memuntahkan kontribusi Anda ke titik di mana tim menerimanya. Setelah Anda melakukan beberapa kontribusi, mereka akan mempercayai Anda lebih lanjut, tetapi Anda tetap harus memastikan bahwa kontribusi Anda tidak tercela.
Hasil akhirnya sangat berharga. Hal-hal seperti bisa mengatakan, "Apakah saya kode? Ya ... Anda menjalankan sesuatu yang saya tulis, setiap hari."
sumber