Arabirimler ve yöntem imzaları telif hakkı ile korunuyor mu?


13

Örneğin, Microsoft'un .Net System.Random sınıfıyla tam olarak aynı amaç ve yöntem imzalarına sahip Random adlı bir sınıf yazarsam telif hakkı ihlali oluyor mu? Hangi dilde yazıldığı fark eder mi? Bu durumda, yerleşik bir tohumlanmış PRNG sınıfından yoksun ActionScript'te kullanmak için bir Rasgele sınıf yazmak istiyorum.

Herkesin yazılımın hangi yönlerinin korunduğunu anlamak için iyi bağlantıları veya referans önerileri varsa, bu da harika. Ve evet bu "gerçek" yasal tavsiye için bir yer olmadığını biliyorum. Birisi mahkemeye bir mesaj panosuna öncelik olarak işaret ederse, onlara utanç verin.


3
Yöntem imzalarının, arabirimlerinin, değişken adlarının vb. Herhangi bir telif hakkı veya lisansla korunmadığından emin olabilirsiniz.
Adam Lear

Yanıtlar:


11

Mono ve Dotnet arasındaki ilişkiye baktığımda bu soruya cevap verdiğine inanıyorum. Mono ekibi yöntem tanımlarını veya ortak arabirimi kullanabilir, ancak dahili olanları yeniden uygulamak zorundadır. Ancak Android v Oracle davası, bu belirgin ayrımı biraz daha bulanık yapan birkaç nokta daha getiriyor. AvO davasında mahkemeye alınan hususların çoğu VM ile ilgili patentlerdir, kütüphane arayüzleri bir tartışma konusu olmamıştır. Vurgulanan tek kod, iç kısımların kopyalandığı bir dereceye kadar göründüğü örneklerdir.


7
+1 Mono vs .Net hakkında mükemmel puan için. İlgili bir kavramda, bir oyunun kurallarının telif hakkını alamadığını biliyorum. Tetris klonları, Tetris olarak adlandırılmadığı sürece yasaldır ve Tetris'in resmi lisanslı ürünlerine çok fazla benzemez.

.NET ve Java arasındaki temel ilgili fark (çoğu) .NET bir ECMA standardı olduğunu düşündüm.
Foole

@Foole: Hem Java Komut Dosyası hem de ActionScript resmi ECMAScript spesifikasyonuna dayanır (ECMA-262, -290, -327 ve -357)

4

Veritabanı şemaları hakkında benzer bir soru vardı: Bir rakibin veritabanı şemasını kopyalamak istiyor musunuz? Orada, tüm şemanın kopyalanmasının, bir yargıç tarafından takdir edilen kopyalamanın ölçeğine bağlı olarak muhtemelen bir telif hakkı ihlali olacağını yanıtladı.

Sorunuzun benzer olsa bile, ben tam tersini cevap verecektir: Eğer yapabilirsiniz yöntem imzaları kopyalayın. Neden?

Aslında, yöntem imzaları sağduyudan gelir.

  • İlk olarak, aşırı bir örnek alırsak, Microsoft adın telif hakkını alamazRandom ve sözcüğü Randomherhangi bir uygulamada kullanacak herkese dava açamaz .

  • İkincisi, tam olarak ne yapmaya çalışıyorsunuz? .NET Framework yeniden uygulanıyor mu? Neden? Tekerleği yeniden icat etmeye gerek yok . Nasıl daha iyi, daha sezgisel hale getirileceğini vb. Biliyorsanız, sınıfların ve yöntemlerin daha iyi isimleri, daha iyi bir organizasyon vb. İle geleceksiniz. .NET Framework'ün yapısını başka birine taşımak için kopyalamaya çalışırsanız dil , o zaman konum Microsoft'a doğrudan rakip değil, bu yüzden size dava açmak için ciddi bir nedenleri yoktur (bu söyleniyor, kaynak kodun kendisini kopyalarsanız sizi dava edeceklerdir). Aslında, sizden bile faydalanacaklar: Bu yapıyı diğer çerçevelere kopyalamak sadece .NET Framework'ün başarısını göstermekle kalmaz, aynı zamanda .NET geliştiricilerinin diğer dillerle ve diğer dillerdeki geliştiricilerin öğrenmesini kolaylaştırır .AĞ.

  • Üçüncü olarak, .NET Framework yöntemlerinin ve sınıflarının adlarını kopyalayacak herkese dava açmaktan daha ciddi şeyleri var .

Şimdi, amacınız tüm .NET Framework'ü kopyalamak ve birçok geliştirici tarafından kullanılacak bir ürün yapmaksa, risk almadan önce bir avukata danışın.


Bir örnek:

Ben tamamen mutsuz .NET Framework dosya yollarındaki Shaming 259 karakter sınırlaması ve dosya düzeyinde kod işlemler kullanmak yetersizlik ile. Bu yüzden kendi Filesınıfımı sadece küçük kısa yollar için değil, herhangi bir yol için beklendiği gibi çalışacak yöntemlerle uyguladım ve işlemleri gerçekleştirdim. İlk versiyonda, ben de yöntemlerin adlarını klonlamak için karar Fileve Directorysınıfları . Microsoft bunu yaptığım için bana dava açar mı? Şüpheliyim.

Her durumda, ikinci versiyonda yeni bir sözdizimi, geldi new File(string fileName)ben çok daha sezgisel bulmak, benim için . Yöntemlerin adlarını klonlamak bazen yararlıdır, ancak bunu yapmak için iyi bir nedeniniz olması gerekir.


niyetiniz tüm .NET Framework kopyalamak ise ... Vay, kesinlikle değil! Gerçekten sadece Flash oyunlarda kullanmak için tohumlayabileceğim bir PRNG istiyorum. Net Random sınıfındaki yöntemleri beğendim ve bu soru bana geldiğinde aynı imzalarla hızlı bir sarmalayıcı yazacaktım. Bir mimarın kapı zili tasarımı üzerindeki davası nedeniyle evini kaybetmek berbat olurdu ... garip bir benzetme yapmak için.

System.Random8 yöntem içerir (5 yöntem ve 3 aşırı yükleme, bir yöntemdir protected). Bu adları klonlamak için tamamen iyi olduğunuzu düşünüyorum ve bu adları Microsoft'tan gerçekten kötü amaçlı bir şekilde kopyaladığınızı kanıtlamakta zorlanacaksınız.
Arseni Mourzenko

4

Telif hakkı koruması, teknik formu ( wikipedia'dan alıntı yapmak için ) değil, bir eserin "sanatsal ifadesini" korur .

Telif hakkı koruması gerçekleri korumaz .

Soru şu: Bir API veya arayüz bir “gerçek” veya sanatsal bir ifade mi? Rasgele sayılar ve farklı rasgele sayılar almanın yollarının bir listesi olan basit API'ler için API muhtemelen daha çok bir gerçeğe benzer. Ama orada çok sofistike bir arayüz olduğunu görebiliyordum (bilirsiniz, bir dakikalığına baktığınız ve sonra "Ahh! Bu etkileyici." Der) korumaya değer bir "sanatsal ifade" olarak düşünülebilir.

İşte Oracle ve Google'ın (ABD) mahkemelerinde tartışılan bu sorunla ilgili API telif hakkı ile mücadele konusunda yeni bir makale .

Ben bir avukat değilim ve bu yazı yasal tavsiye olarak yorumlanmamalıdır. Feragatnameleri çok iyi yazamıyorum bile.


0

Tamamen işlevsel yönleri alabilirsin, ancak anlamlı yönlerini kabul edemezsin. Sınıf adı, yöntem adları ve imzalar tamamen işlevseldir. Aralarında çalışabilmeleri için onlara ihtiyacınız var. Parametre adları ve başlık makroları anlamlı sayılabilir. Örneğin, Windows antitröst durumunda, Microsoft hiçbir şeyin bir rakibin Windows API'larını çoğaltmasını ve Windows uygulamalarının çalışacağı kendi platformunu oluşturmasını engellemediğini savundu.


Windows API ile ilgili iyi bir nokta. ŞARAP girin.

Java veya .NET gibi Reflection (veya bunlara ne denir bulmak için benzer başka yollar) içeren platformlarda, parametre adlarının da işlevsel yönler olarak kabul edilebileceğini düşünürüm.
supercat
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.