15.4.1. Belajar untuk Membuat Perubahan
Membuat paket Debian berkualitas tidak selalu pekerjaan sederhana, dan menjadi pengelola paket membutuhkan ..., keduanya dengan teori dan praktik. Bukan masalah sesederhana membangun dan meng-install perangkat lunak; tapi, ... kompleksitas datang dari pemahaman masalah dan konflik, dan lebih umum dengan interaksi, dengan ... paket lain yang tersedia.
Sebuah paket Debian harus patuh dengan aturan presisi yang terkumpul dalam kebijakan Debian, dan setiap maintainer paket harus mengetahuinya. Tidak terdapat persyaratan untuk hafal mereka luar kepala, namun perlu mengetahui mereka ada dan mengacu padanya saat suatu pilihan menghadirkan alternatif non-trivial. Setiap Debian maintainer membuat kesalahan dengan tidak mengetahui suatu aturan, namun ini bukan masalah besar selama kesalahan diperbaiki saat pengguna melaporkannya dalam laporan bug (yang cenderung terjadi cukup segera terima kasih pada pengguna mahir).
Debian bukanlah koleksi sederhana dari paket-paket individual. Semua pekerjaan pemaketan merupakan bagian dari proyek kolektif; menjadi pengembang Debian meliputi mengetahi bagaimana proyek Debian beroperasi ... Setiap pengembang akan, cepat atau lambat, berinteraksi satu sama lain. Referensi pengembang Debian (dalam paket
developers-reference) menyarikan apa yang harus diketahui oleh setiap pengembang Debian agar dapat berinteraksi dengan baik mungkin dengan beragam tim dalam proyek, dan untuk keuntungan terbaik dari sumber daya yang tersedia. Dokumen ini juga ... beberapa tanggung jawab pengembang yang diharapkan dipenuhi.
Banyak perkakas membantu maintainer paket dalam pekerjaannya. Bagian ini menjelaskan mereka secara cepat, namun tidak memberikan detail sepenuhnya, karena mereka semua memiliki dokumentasi komprehensifnya sendiri.
15.4.1.3.1. Program lintian
Perkakas ini adalah salah satu yang paling penting: pemeriksa paket Debian. Itu berlandaskan pada kumpulan besar dari tes yang dibuat dari kebijakan Debian, dan mendeteksi secara cepat dan secara otomatis banyak kesalahan yang dapat diperbaiki sebelum paket dirilis.
Perkakas ini hanyalah pembantu, dan sesekali salah (contohnya, sejak kebijakan Debian berubah seiring waktu, lintian
sesekali ....) ... juga tidak lengkap: tidak mendapatkan kesalahan Lintian bukan berarti bukti bahwa paket sudah sempurna; ... mencegah kesalahan yang paling umum.
15.4.1.3.2. Program piuparts
Ini adalah alat penting lain: mengotomatisasi instalasi, upgrade, penghapusan, dan pembersihan paket (dalam lingkungan yang terisolasi), dan memeriksa bahwa tidak satupun dari operasi ini menyebabkan kesalahan. Itu dapat membantu dalam mendeteksi dependensi yang hilang, dan juga mendeteksi ketika berkas-berkas masih tersisa setelah paket dibersihkan.
Paket devscripts berisi banyak program yang membantu beragam pekerjaan pengembang Debian:
debuild
memungkinkan menghasilkan sebuah paket (dengan dpkg-buildpackage
) dan menjalankan lintian
untuk memeriksa kepatuhan dengan kebijakan Debian.
debclean
membersihkan paket sumber setelah paket binari dihasilkan.
dch
memungkinkan penyuntingan cepat dan mudah dari berkas debian/changelog
dalam paket sumber.
uscan
memeriksa apakah terdapat versi baru perangkat lunak yang dirilis oleh penulis upstream; hal ini membutuhkan berkas debian/watch
dengan deskripsi dari lokasi rilis.
debi
memungkinkan memasang (dengan dpkg -i
) paket Debian yang baru saja dibuat tanpa perlu mengetik nama lengkap dan pathnya.
Hal yang mirip, debc
memungkinkan pencarian isi dari paket yang baru dibuat (dengan dpkg -c
), tanpa harus mengetik nama lengkap dan path.
bts
mengendalikan sistem pelacakan bug dari command line; program ini secara otomatis menghasilkan pesan seperlunya.
debrelease
menggunggah paket yang baru dibuat ke server remote, tanpa harus mengisi nama lengkap dan path dari berkas .changes
terkait.
debsign
menandatangani berkas *.dsc
dan *.changes
.
uupdate
... proses pembuatan dari revisi baru paket saat versi upstream telah dirilis.
15.4.1.3.4. debhelper dan dh-make
Debhelper adalah sekumpulan script yang memudahkan pembuatan paket yang patuh kebijakan; script ini di-invoke dari debian/rules
. Debhelper telah diterima secara luas dalam Debian, terbukti dengan fakta bahwa itu digunakan oleh mayoritas paket Debian resmi. Semua perintah di dalamnya berisi prefiks dh_
.
The dh_make
script (in the dh-make package) creates files required for generating a Debian package in a directory initially containing the sources for a piece of software. As can be guessed from the name of the program, the generated files use debhelper by default.
15.4.1.3.5. dupload
dan dput
Perintah dupload
dan dput
memungkinkan mengunggah paket Debian ke (bisa jadi remote) server. Hal ini memungkinkan pengembang untuk mempublikasikan paket mereka pada server Debian utama (ftp-master.debian.org
) sehingga bisa terintegrasi ke dalam archive dan didistribusikan oleh cermin. Perintah ini mengambil berkas *.changes
sebagai parameter, dan ... berkas relevan lainnya dari isinya.
15.4.2. Proses Penerimaan
Becoming a “Debian developer” is not a simple administrative matter. The process comprises several steps, and is as much an initiation as it is a selection process. In any case, it is formalized and well-documented, so anyone can track their progression on the website dedicated to the new member process.
Semua kandidat diharapkan memiliki pengetahuan ... dari bahasa Inggris. Hal ini dibutuhkan pada semua tingkat: untuk komunikasi awal dengan penguji, tentunya, dan tentu nanti, sejak bahasa Inggris adalah bahasa yang ... untuk hampir semua dokumentasi; juga, pengguna paket akan berkomunikasi dengan bahasa Inggris saat melaporkan bug, dan mereka berharap balasan dalam bahasa Inggris.
Persyaratan lainnya berkaitan dengan motivasi. Menjadi pengembang Debian merupakan proses yang hanya masuk akal jika kandidat mengetahui bahwa minat mereka dalam Debian akan bertahan hingga berbulan-bulan. Proses penerimaanya itu sendiri bisa jadi berlangsung beberapa bulan, dan Debian membutuhkan pengembang untuk jangka waktu panjang; setiap paket perlu pengelolaan permanen, dan tidak hanya unggah di awal saja.
Langkah pertama (nyata) terdiri dari mencari sponsor atau advokat; ini berarti seorang pengembang resmi bersedia menyatakan bahwa mereka yakin bahwa menerima X akan baik untuk Debian. Ini biasanya berarti menandakan bahwa kandidat telah aktif di dalam komunitas, dan karya mereka telah diapresiasi. Jika kandidat pemalu dan karya mereka tidak digembar-gemborkan secara publik, mereka dapat mencoba meyakinkan pengembang Debian untuk mengadvokasi dan menunjukkan karya mereka secara privat.
At the same time, the candidate must generate a public/private RSA key pair with GnuPG, which should be signed by at least two official Debian developers. The signature authenticates the name on the key. Effectively, during a key signing party, each participant must show an official identification (usually an ID card or passport) together with their key identifiers. This step confirms the link between the human and the keys. This signature thus requires meeting in real life. If you have not yet met any Debian developers in a public free software conference, you can explicitly seek developers living nearby using the list on the following webpage as a starting point.
Once the registration on nm.debian.org
has been validated by the advocate, an Application Manager is assigned to the candidate. The application manager will then drive the process through multiple pre-defined steps and checks.
The first verification is an identity check. If you already have a key signed by two Debian developers, this step is easy; otherwise, the application manager will try and guide you in your search for Debian developers close by to organize a meet-up and a key signing.
15.4.2.3. Menerima Prinsip-prinsip
These administrative formalities are followed by philosophical considerations. The point is to make sure that the candidate understands and accepts the social contract and the principles behind Free Software. Joining Debian is only possible if one shares the values that unite the current developers, as expressed in the founding texts (and summarized in
Bab 1, Proyek Debian).
In addition, each candidate wishing to join the Debian ranks is expected to know the workings of the project, and how to interact appropriately to solve the problems they will doubtless encounter as time passes. All of this information is generally documented in manuals targeting the new maintainers, and in the Debian developer's reference. An attentive reading of this document should be enough to answer the examiner's questions. If the answers are not satisfactory, the candidate will be informed. They will then have to read (again) the relevant documentation before trying again. In the cases where the existing documentation does not contain the appropriate answer for the question, the candidate can usually reach an answer with some practical experience within Debian, or potentially by discussing with other Debian developers. This mechanism ensures that candidates get involved somewhat in Debian before becoming a full part of it. It is a deliberate policy, by which candidates who eventually join the project are integrated as another piece of an infinitely extensible jigsaw puzzle.
This step is usually known as the Philosophy & Procedures (P&P for short) in the lingo of the developers involved in the new member process.
15.4.2.4. Pemeriksaan Keahlian
Setiap aplikasi untuk menjadi pengembang resmi Debian harus dijustifikasi. Menjadi anggota proyek membutuhkan ... menunjukkan status ini legitimasi, dan memfasilitasi pekerjaan kandidat dalam membantu Debian. Justifikasi yang paling umum adalah ... diberikan Debian developer status ... memudahkan pengelolaan paket Debian, namun ini bukan satu-satunya. Beberapa pengembang bergabung ke proyek untuk aktif berkontribusi dengan mem-porting ke arsitektur spesifik, lainnya ingin meningkatkan dokumentasi, dan seterusnya.
Langkah ini merepresentasikan peluang bagi kandidat untuk menyatakan bahwa mereka ingin ... dalam proyek Debian dan menunjukkan bahwa mereka telah bergerak maju... Debian adalah proyek pragmatis dan mengatakan sesuatu tidak cukup, jika tindakan tidak sesuai dengan apa yang dikatakan. Umumnya, saat ... dalam proyek berkaitan dengan pengelolaan paket, versi pertama dari prospektif pakt akan harus divalidasi secara teknis dan diunggah ke server Debian oleh sponsor dari pengembang Debian saat ini.
Akhirnya, penguji memeriksa kemampuan teknis (pemaketan) kandidat dengan kuesioner yang detail. Jawaban buruk tidak diizinkan, namun waktu menjawab tidak dibatasi. Semua dokumentasi tersedia dan beberapa kali percobaan diizinkan jika jawaban pertama belum mencukupi. Langkah ini bukan bermaksud untuk mendiskriminasi, namun untuk memastikan ... pengetahuan yang sama bagi kontributor baru.
This step is known as the Tasks & Skills step (T&S for short) in the examiners' jargon.
15.4.2.5. Persetujuan Akhir
Pada langkah terakhir, seluruh proses di-review oleh DAM (Debian Account Manager). DAM akan me-review semua informasi kandidat yang telah dikumpulkan penguji dan membuat keputusan apakah akan membuat akun pada server Debian atau tidak. Pada keadaan di mana informasi tambahan dibutuhkan, pembuatan akun bisa jadi tertunda. Penolakan jarang terjadi jika penguji melakukan pekerjaannya dengan baik, namun sesekali terjadi penolakan. Hal ini tidak pernah permanen, dan kandidat bebas untuk mencoba lagi pada waktu berikutnya.
The DAM's decision is authoritative and (almost) without appeal, which explains why the people in that seat have often been criticized in the past.