Apakah antarmuka dan tanda tangan metode dilindungi hak cipta?

13

Sebagai contoh, apakah ini merupakan pelanggaran hak cipta jika saya menulis kelas yang disebut Acak dengan tujuan dan metode yang sama persis dengan tanda tangan Microsoft .Net System. Kelas acak? Apakah ada bedanya bahasa apa itu ditulis? Dalam hal ini saya ingin menulis kelas acak untuk digunakan dalam ActionScript, yang tidak memiliki kelas PRNG yang diunggulkan.

Jika ada yang memiliki tautan atau saran referensi yang bagus untuk memahami aspek-aspek perangkat lunak apa yang dilindungi, itu bagus juga. Dan ya saya tahu ini bukan tempat untuk nasihat hukum "nyata". Jika ada yang pergi ke pengadilan menunjuk papan pesan publik sebagai prioritas - malu pada mereka.

Joshua Honig
sumber
3
Cukup yakin tanda tangan metode, antarmuka, nama variabel, dll. Tidak dilindungi oleh segala jenis hak cipta atau lisensi.
Adam Lear

Jawaban:

11

Saya percaya melihat hubungan antara Mono dan Dotnet menjawab pertanyaan ini. Tim Mono dapat menggunakan definisi metode atau antarmuka publik tetapi mereka harus mengimplementasikan kembali internal. Namun Android v Oracle case memunculkan beberapa poin lain yang membuat perbedaan yang jelas ini sedikit kabur. Dalam kasus AvO sebagian besar poin yang dibawa ke pengadilan adalah paten terkait VM, antarmuka perpustakaan belum menjadi titik pertikaian. Satu-satunya kode yang telah disorot adalah contoh di mana sepertinya beberapa perluasan bahwa internal disalin.

mP01
sumber
7
+1 Untuk poin bagus tentang Mono vs .Net. Saya tahu bahwa dalam konsep terkait, seseorang tidak dapat hak cipta aturan permainan. Klon Tetris legal selama mereka tidak disebut Tetris dan tidak terlalu mirip dengan produk resmi Tetris.
Saya pikir perbedaan utama yang relevan antara .NET dan Java adalah bahwa (sebagian besar) .NET adalah standar ECMA.
Bodoh
@Foole: Baik Java Script dan ActionScript didasarkan pada spesifikasi formal ECMAScript (ECMA-262, -290, -327, dan -357)
4

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 Randomdalam 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 Filekelas 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 Filedan Directorykelas . 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.

Arseni Mourzenko
sumber
jika maksud Anda adalah menyalin keseluruhan .NET Framework ... Wah, pasti tidak! Saya benar-benar hanya menginginkan PRNG yang dapat saya benih untuk digunakan dalam game Flash. Saya suka metode di kelas .Net Random dan akan menulis bungkus cepat dengan tanda tangan yang sama ketika pertanyaan ini muncul di benak saya. Ini akan payah kehilangan rumah seseorang karena gugatan arsitek atas desain bel pintu ... untuk membuat analogi yang canggung.
System.Randomberisi 8 metode (5 metode dan 3 kelebihan, satu metode sedang protected). Saya pikir Anda benar-benar baik-baik saja untuk mengkloning nama-nama itu, dan orang akan kesulitan untuk membuktikan bahwa Anda benar-benar menyalin nama-nama jahat dari Microsoft.
Arseni Mourzenko
4

Perlindungan hak cipta melindungi "ekspresi artistik" dari sebuah karya, bukan bentuk teknis (mengutip wikipedia ).

Perlindungan hak cipta tidak melindungi fakta .

Jadi pertanyaannya menjadi, apakah API atau antarmuka adalah "fakta" atau ekspresi artistik? Untuk API sederhana yang hanya daftar cara untuk mendapatkan angka acak dan berbagai jenis angka acak, API mungkin lebih seperti fakta. Tapi, saya bisa melihat ada antarmuka yang sangat canggih (Anda tahu, yang Anda tatap sebentar, dan kemudian berkata "Ahh! Itu mengesankan.") Dapat dianggap sebagai "ekspresi artistik" yang layak dilindungi.

Inilah artikel terbaru tentang Oracle dan Google yang memperebutkan hak cipta API tentang masalah ini yang sedang diperdebatkan di pengadilan (AS).

Saya bukan pengacara, dan posting ini tidak boleh ditafsirkan sebagai nasihat hukum. Saya bahkan tidak bisa menulis disclaimer dengan baik.

PT
sumber
0

Anda dapat mengambil aspek yang murni fungsional, tetapi Anda tidak dapat mengambil aspek ekspresif. Nama kelas, nama metode, dan tanda tangan sepenuhnya fungsional. Anda membutuhkan mereka untuk beroperasi. Nama parameter dan makro header dapat dianggap ekspresif. Sebagai contoh, dalam kasus antitrust Windows, Microsoft berpendapat bahwa tidak ada yang mencegah pesaing untuk mereplikasi Windows API dan membuat platform mereka sendiri di mana aplikasi Windows akan berjalan.

David Schwartz
sumber
Poin bagus tentang Windows API. Masukkan WINE.
Pada platform seperti Java atau .NET yang menyertakan Reflection (atau cara serupa lainnya untuk mencari tahu hal-hal apa yang disebut), saya akan berpikir nama parameter juga dapat dianggap sebagai aspek fungsional.
supercat