Saya ingin bercabang di Github kerangka pengujian java TestNG (lisensi Apache 2) sehingga saya dapat menambah / mengubah beberapa hal kecil yang sesuai dengan kebutuhan saya.
Tidak mungkin bahwa semua perubahan saya akan disetujui di proyek utama atau orang lain akan menggunakan garpu saya. Ini sama sekali bukan kompetisi untuk proyek utama.
Sekarang, dalam hal penamaan, saya ingin mengubah nama artefak (testng-mycompany) atau versi (6.8.mycompany) sehingga tidak ada kebingungan dengan versi resmi di repositori pakar. Apakah ini akan dianggap etiket yang buruk? Jika ya, apa pendekatan terbaik untuk membedakan garpu Anda?
open-source
github
etiquette
forking
Bogdan Calmac
sumber
sumber
Jawaban:
Singkirkan dan lakukan yang terburuk / terbaik.
Perangkat lunak open source selalu tentang membiarkan individu beradaptasi, mengubah dan menantang konvensi. Bagian tersulit dari forking sebuah proyek adalah mengembangkan komunitas baru di sekitar Anda yang percaya pada apa yang Anda lakukan.
Misalnya saya bisa mengunduh sumber untuk Apache, membuat beberapa modifikasi dan menyebutnya sebagai hal besar berikutnya .. tetapi jika tidak ada orang lain yang masuk maka saya terjebak bermain catchup ke zillions fitur baru dan perbaikan bug yang disediakan oleh komunitas inti Apache.
Referensi: Game of Thrones.
Daripada melakukan TestNG, mungkin lebih mudah untuk menulis modul / tambahan untuknya di atas Repo yang ada, dengan begitu Anda hanya perlu mempertahankan kode Anda sendiri.
Atau jika Anda merasa perlu mengubah TestNG maka mungkin itu hanyalah alat yang salah untuk pekerjaan itu.
[Penafian, saya belum pernah mendengar tentang TestNG sampai sekarang]
sumber
Proyek Open Source dimaksudkan untuk maju. Hal hebat tentang proyek open source adalah mereka mendorong kolaborasi luar. Ketika Anda memutuskan untuk membayar sebuah proyek, Anda hanya menyatakan bahwa Anda telah mengambil inisiatif untuk menghasilkan "rasa" atau "interpretasi" Anda sendiri dari proyek tersebut. Banyak tim akhirnya akan mengarang proyek mereka sendiri untuk memperluas basis proyek untuk berbagai keperluan.
Contoh: Webkit dan Blink
Sejauh penamaan berjalan, Anda ingin sejelas mungkin. Praktik nomenklatur dasar dalam pembangunan agak ambigu.
Ke: "Konvensi penamaan versi" apa yang Anda gunakan?
Jika Anda bercabang, Anda ingin menyatakan "Nama" Anda dan kemudian menyampaikan versi apa yang Anda gunakan.
Saya tidak melihat alasan untuk bercabang kecuali Anda berencana mengambil proyek dalam arah yang secara fundamental berbeda dari apa yang dimaksudkan. Saya telah menemukan bahwa, dalam banyak kasus, fitur tambahan / modifikasi yang akan saya usulkan menawarkan kesempatan belajar yang hebat dari kedua arah. Jika ada saya dengan Dave pada ide membuat modul terpisah untuk mempromosikan modularitas sambil menjaga integritas proyek inti.
sumber