Ada pertanyaan serupa tentang skema basis data: Menyalin skema basis data pesaing? Saya menjawab di sana bahwa menyalin seluruh skema mungkin merupakan pelanggaran hak cipta, tergantung pada skala penyalinan, yang dihargai oleh seorang hakim.
Bahkan jika pertanyaan Anda serupa, saya akan menjawab sebaliknya: Anda dapat menyalin tanda tangan metode. Mengapa?
Bahkan, tanda tangan metode datang dari akal sehat.
Pertama, jika kita mengambil contoh ekstrem, Microsoft tidak dapat hak cipta namaRandom
dan menuntut semua orang yang akan menggunakan kata Random
dalam aplikasi apa pun.
Kedua, apa yang sebenarnya ingin Anda lakukan? Reimplementing .NET Framework? Mengapa? Tidak perlu menemukan kembali roda . Jika Anda tahu cara menjadikannya lebih baik, lebih intuitif, dll., Kemungkinan Anda akan datang dengan nama kelas dan metode yang lebih baik, organisasi yang lebih baik, dll. Jika Anda mencoba menyalin struktur .NET Framework untuk mengirimnya ke yang lain bahasa , maka Anda bukan pesaing langsung dari Microsoft, sehingga mereka tidak memiliki alasan serius untuk menuntut Anda (ini dikatakan, mereka akan menuntut Anda jika Anda menyalin kode sumber itu sendiri). Sebenarnya, mereka bahkan akan mendapat manfaat dari Anda: menyalin struktur seperti itu ke kerangka kerja lain tidak hanya akan menunjukkan keberhasilan .NET Framework, tetapi juga akan membuatnya lebih mudah bagi pengembang .NET untuk bekerja dengan bahasa lain, dan pengembang dari bahasa lain untuk belajar .BERSIH.
Ketiga, mereka memiliki hal-hal yang lebih serius untuk dilakukan daripada menuntut setiap orang yang akan menyalin nama metode dan kelas .NET Framework.
Sekarang, jika maksud Anda adalah menyalin keseluruhan .NET Framework dan membuat produk yang akan digunakan oleh banyak pengembang, konsultasikan dengan pengacara sebelum mengambil risiko.
Sebuah contoh:
Saya benar - benar tidak senang dengan batasan 259 karakter yang memalukan dalam jalur file di .NET Framework dan ketidakmampuan untuk menggunakan transaksi kode pada tingkat file. Jadi saya menerapkan File
kelas saya sendiri dengan metode yang akan bekerja seperti yang diharapkan untuk jalur apa pun, tidak hanya yang kecil, dan menerapkan transaksi. Pada versi pertama, saya memutuskan untuk mengkloning nama metode File
dan Directory
kelas . Apakah Microsoft akan menuntut saya karena melakukan itu? Aku meragukan itu.
Dalam semua kasus, dalam versi kedua saya datang dengan sintaks baru new File(string fileName)
,, yang saya temukan jauh lebih intuitif bagi saya . Mengkloning nama metode terkadang bermanfaat, tetapi Anda harus memiliki alasan yang kuat untuk melakukannya.