Dalam kasus khusus ini, ini adalah bug dalam API dari perpustakaan yang digunakan secara internal yang digunakan pengembang lain.
Jika pengembang lain menganggap perilaku sebagai fitur, kemungkinan mereka telah menggunakannya dan membangun perangkat lunak yang berfungsi di atasnya. Memperbaiki bug mungkin akan merusak kode mereka yang ada, dan mereka akan menyalahkan Anda untuk ini. Ini menjadikan memperbaiki bug sebagai trade-off, dan Anda harus mempertimbangkannya
apakah benar-benar penting untuk memperbaiki bug, misalnya karena ada risiko tinggi membiarkan pengguna API Anda merusak aplikasi mereka seandainya bug tidak diperbaiki? Atau ini hanya tentang konsistensi dari API?
atau apakah lebih penting untuk menjaga perangkat lunak yang ada stabil, dan perpustakaan Anda kompatibel?
Jawaban atas pertanyaan itu tidak selalu sederhana, Anda harus memperhitungkan jumlah pengguna API yang mungkin, kemungkinan jumlah pekerjaan yang harus mereka ubah perangkat lunaknya, jumlah perangkat lunak yang akan rusak jika Anda mengubah API Anda , tetapi juga risiko apa yang mungkin terjadi jika Anda tidak memperbaiki API.
Hanya karena Anda mendokumentasikan perubahan bugfix di "daftar perubahan yang melanggar di rilis utama Anda berikutnya" tidak membuat pelanggan Anda senang - jika Anda melakukan ini, harus ada setidaknya beberapa bukti peluru alasan mengapa Anda tidak bisa membiarkan API seperti itu sebelumnya. Seringkali menjaga kompatibilitas ke belakang lebih penting daripada memperbaiki bug. Jadi perbaiki hanya jika Anda dapat memperkirakan dampak pada basis pengguna Anda dan perangkat lunak mereka dan Anda yakin Anda tidak akan menghasilkan upaya yang tidak masuk akal bagi mereka ketika mereka mencoba memperbarui ke rilis perpustakaan terbaru Anda. Dan jika Anda tidak memiliki informasi yang cukup untuk membuat perkiraan yang baik mengenai hal ini, mungkin akan lebih baik untuk tidak mengubah perilaku.
(Dan ya, jika Anda akan membuat perubahan API yang tidak kompatibel ke belakang, nomor versi Anda harus mengungkapkan ini dengan jelas, tidak masalah jika Anda menamakannya "perbaikan bug" atau tidak).