Katedral dan Bazar (buku)

Buku Katedral dan Bazaar atau nama asalnya The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary (diringkaskan kepada CatB) ialah sebuah esei oleh Eric S. Raymond tentang kaedah-kaedah kejuruteraan perisian. Penulisan Raymond berlandaskan pemerhatiannya terhadap proses pembangunan inti Linux dan pengalamannya mengurus sebuah projek sumber terbuka, Fetchmail. Buku memeriksa pergelutan yang berlaku dalam proses reka atas ke bawah dan bawah ke atas. Esei ini pertama kalinya dipersembahkan oleh penulis pada  Linux Kongress pada 27 Mei 1997 di bandar Wurzburg Jerman dan dimuatkan ke dalam buku pada tahun 1999. 

Ilustrasi kulit buku ialah lukisan (1913) oleh Liubov Popova digelar Composition with Figures dan sekarang dimiliki State Tretyakov Gallery di Moscow, Rusia.

Kandungan 

Esei membezakan dua model pembangunan bagi perisian percuma:

 Model Cathedral: kod sumber terdapat bagi setiap pengeluaran perisian, tetapi kod antara setiap pengeluaran hanya terdapat ekslusif kepada kumpulan pembangun perisian. Contoh yang diberikan Raymond termasuk GNU Emacs dan GCC.
 Model Bazaar: kod dibina melalui Internet dan dapat dilihat oleh orang awam. Raymond mengiktiraf Linus Torvalds, ketua projek inti Linux sebagai pelopor model ini. Raymond juga memuatkan pengalamannya dengan pembangunan projek Fetchmail dalam model ini.

Tesis utama esei ialah saranan Raymond bahawa "sekiranya terdapat banyak mata yang memandang, kesemua pepijat komputer menjadi cetek" (yang digelarnya Linus' Law (Hukum Linus)): Lagi meluas penyebaran sesuatu kod sumber bagi tujuan ujian, pemeriksaan dan uji kaji, maka lebih pantaslah pepijat diketemu. Sebaliknya Raymond mendakwa banyak diperlukan untuk mencari pepijat dalam model Katedral oleh sebab kod hanya terdapat pada sebilngan kecil pembangun perisian.

Garis panduan perekaan perisian sumber terbuka yang baik  

Terdapat 19 hujah bagaimana menghasilkan perisian sumber terbukan yang baik dalam buku::
Setiap perisian yang baik tercetus daripada niat peribadi seseorang pembangun.
Pengatur cara mahir tahun bagaimana mahu menulis kod. Pengatur cara hebat tahu bagaimana menulis kembali kod (dan mengguna semula kod).
Rancang untuk membuang satu versi; anda akan melakukannya tak kira apapun. (Ditiru daripada The Mythical Man Month karya Frederick Brooks)
Sekiranya anda memiliki sikap bersesuaian, masalah menarik akan mencari anda.
Apabila anda hilang minat dalam sesuatu program, tugas terakhir anda kepadanya ialah menyerahkannya kepada pengganti yang berkebolehan.
Anggap pengguna sebagai rakan pembangun. Ini akan membawa kepada pembaikan kod dengan cepat dan menjadikan proses nyahpepijat lebih berkesan.
Keluarkan kod awal, dan keluarkannya dengan kerap. Dan dengar apa yang dikatakan pelanggan anda.
Sekiranya terdapat kumpulan penguji beta dan rakan pembangun yang mencukupi, hampir semua masalah akan dapat dicam dan cara penyelesaian akan dapat dilihat oleh seorang daripada mereka.
Struktur data pintar dan kod dungu lebih baik daripada sebaliknya.
Jika anda melayan penguji beta anda sebagai sumber terpenting anda, mereka akan mebalas dengan menjadi sumber terpenting anda.
Perkara yang terbaik selepas memiliki idea-idea baik ialah mengenal idea-idea baik daripada pengguna anda. Kadang kala perkara kedua itu lebih baik.
Kerap berlaku yang penyelesaian yang inovatif dan ketara timbul daripada kesedaran anda bahawa konsep anda tentang sesuatu masalah itu sebenarnya silap.
Kesempurnaan (dalam reka bentuk) tercapai bukan kerana sudah tiada apa lagi yang perlu ditambah, akan tetapi oleh sebab tiada lagi yang perlu dibuang. (Disandarkan kepada Antoine de Saint-Exupery).
Apa jua perkakas seharusya menjadi berguna dalam cara yang disangka, akan tetapi perkakas yang hebat akan melakukan perkara tambahan yang tidak anda sangka.
Apabila menulis apa jua perisian get laluan, pastikan aliran data tidak banyak terganggu—dan jangan sekali-kali membuang maklumat melainkan dipaksa oleh penerima!
Sekiranya bahasa pengaturcaraan anda tidak sehebat perisian lengkap Turing, "gula sintaks"  boleh menjadi rakan anda.
Sistem keselamatan hanya selamat sejauh mana rahsianya selamat. Awas akan rahsia pseudo.
Bagi menyelesaikan masalah yang menarik, bermulalah dengan mencari masalah yang menarik kepada anda.
Dengan syarat penyelaras pembangunan perisian memiliki bahantara yang setanding Internet, dan mengetahui bagaimana memimpin tanpa memaksa, banyak kepala lebih baik daripada satu.

Warisan 

Esei Raymond ini berjaya meyakinkan para pembangun projek perisian terbuka dan perisian percuma agar mengambil gaya pembangunan Bazaar sepenuhnya ataupun separa—termasuk GNU Emacs dan GCC, cpntoh-contoh asal model pembangunan Cathedral. Paling termasyhur, ia mendorong Netscape Communications Corporation melepaskan kod sumber pelayar Netscape Communicator dan memulakan projek Mozilla.

Apabila buku dikeluarkan oleh O'Reilly Media pada tahun 1999, ia menjadi buku penerbitan komersial pertama yang dikeluarkan di bawah Lesen Penerbitan Terbuka. Penyusunan huruf dibuat menggunakan GNU Emacs, bahasa penanda DocBook 4.1 dan set perkakas pemformatan yang dibangunkan Steve Talbott, Norm Walsh, dan Lenny Muellner dengan menggunakan Perl dan GNU troff.

Dalam eseinya bertajuk The Hive, Marshall Poe menyamakan Wikipedia dengan model Bazar yang mengikut takrif Raymond.

Lihat juga 

 Bazaar (perisian)

Nota

Rujukan

Pautan luar 
 Teks penuh esei di laman CatB.org

Buku berkaitan sains komputer
Buku O'Reilly Media
Falsafah pembangunan perisian
Buku penulisan Eric Raymond