Yeni bir algoritmayı ilk kopyalayan olmanın avantajı? [kapalı]


18

Yeni bir (DSP) algoritması oluşturduğumu varsayalım. Copyleft lisansı (GPL vb.) Altında algoritmayı açık kaynak kodlama avantajım olacak mı? Lisanslama hakkında bildiklerimden bu, insanların kapalı kaynakla tamamen aynı kodu kullanmasını engellemeli, ancak algoritmayı kapalı kaynak olarak yeniden yazabilecekler mi?

Not: Algoritmanın yeni olup olmadığını gerçekten bilmiyorum ama henüz açık kaynak olarak yayınlanmadı. Avrupa Birliği'nden olduğum için, kopyalamak istiyorsam yazılım patentlerini aramam gerekir mi?


21
Bu soruyu konu dışı olarak kapatmak için oy kullanıyorum çünkü yasal tavsiye istiyor. Bir IP avukatı tarafından yalnızca belirli bir yargı alanı için doğru bir şekilde cevaplanabilir.

1
Kara kutu tersine mühendislik tarihini araştırmanızı öneririm. Sorduğunuzla aynı şey olmasa da, IP hukuku, sözleşmeler, tersine mühendislik, patentler vb. İle ilgili birçok ilginç bilgi var.

2
@Snowman: Burada görebileceğiniz gibi, meta.programmers.stackexchange.com/questions/1655/… , yasal konularla ilgili her soru genellikle konu dışı değildir. Sanırım, en azından bu sorunun temel bölümleri için topluluğumuzun paylaşacak bazı bilgileri var. Derin bir cevap için muhtemelen bir avukata ihtiyaç duyacağım konusunda hemfikirim.
Doc Brown

2
Bu soru 8 saat önce soruldu ve zaten 1880 kez izlendi. Bu çok popüler ve ihtiyaç duyulan bir soruya benziyor. Memnun biri sordu.
Gabriel Fuarı

2
Bu soru popüler ve ilginç olsa da, aşağıdaki "tartışmalı" cevaplar bu tür yasallık sorularının neden PSE için zayıf bir uyum olduğunu ve neden burada konu dışı olduklarını göstermektedir.
Eric King

Yanıtlar:


27

GPL gibi copyleft lisanslarındaki kısıtlamalar, kodunuzun değiştirilmiş sürümleri ve orijinal kodunuz için geçerlidir. Böylece boşluk veya parantez stilini değiştiremez ve ardından lisans beyanınızı silemezler.

Bununla birlikte, en soyut anlamda bir "algoritma" ne olursa olsun patent / telif hakkı / copyleft / patentini kullanamazsınız. Favori quicksort uygulamasına bir lisans koyabilirsiniz, ancak quicksort'un kendisini lisanslayamazsınız. Birisi sadece algoritmayı öğrenmek için kodunuzu okur ve ardından algoritmayı kendi yolundan sıfırdan yeniden yazarsa, sorun değil.

Bildiğim kadarıyla, özellikle dikkate değerse, bazı şöhret ve (gerçek dünya) ünü dışında bir algoritma yayınlayan ilk algoritmanın "avantajı" yoktur. İlk copyleft olmak size kesinlikle bir şey kazandırmaz, ancak birisinin onu copylefted olması, özgür yazılım topluluğuna bir fayda olarak görülecektir.


27
Bu cevap bazı doğru ve bazı tartışmalı bilgiler içermektedir, bu yüzden dikkatli olun. AFAIK, patentlerin çok daha az önemli yazılım parçalarına uygulanmaya çalışılmış ve sadece uygulamalar için değil soyut fikirler için de denenmiştir. Bu, yerel yasalara çok bağlıdır ve Avrupa'daki farklı eyaletlerde bile çok farklıdır. İlk olarak yeni bir algoritma yayınlamak , daha sonra biri farklı bir uygulamada aynı fikri patentlemeye çalıştığında "önceki sanat" ( en.wikipedia.org/wiki/Prior_art ) için bir durum oluşturabilir .
Doc Brown

10
Oracle v Google, Java'nın uygulanmasıyla ilgili değildi ; tam tersi, API hakkındaydı. Algoritmaların, özellikle ABD'de genel olarak patentli olmadığını söylemekte isteksiz olurum .
sapi

9
Patent algoritmaları olamaz mı? GIF ve MP3 patentlerini zaten unuttuk mu?
Andrew Medico

2
@ Bakuriu: noktayı kaçırdın. Hem GIF hem de MP3 patent sahipleri, diğer şirketlere belirli bir uygulamayı kopyaladıkları için değil, algoritmalar kullanmak için dava açtılar (veya en azından dava etmekle tehdit ettiler).
Doc Brown

4
@AbhinavGauniyal: Bir şey yapmanın bir yolunu patentlemek çok normal. Buna süreç / yöntem patenti denir. Örneğin, araba tamponları yapmak için yeni bir yolunuz varsa, onu patentleyebilirsiniz. Araba tamponları değil, araba tamponları üretim süreci. Proses patentleri, yazılım patentlerinin temel taşlarından biridir. Ancak yazılım patentleri fikri, patent hukukunun başka bir yönüyle çelişmektedir: matematiksel formülleri patentleyemezsiniz (en azından ABD'de). Ve algoritmaların "matematik bilimi" dediğimiz saf matematiğin bir parçası olduğu söylenebilir.
slebetman

12

Eğer patentlenebilir bir şeyin patentlenmesini önlemek ve daha sonra büyük toplumdan "kapatılmak" istiyorsanız savunma amaçlı bir açıklama yapabilirsiniz. Örneğin Cuis Smalltalk bunu bazı yeni kenar yumuşatma teknikleriyle yaptı:


3
Bir şeyi salıverirseniz, önceki sanatın var olması nedeniyle artık patentli olamaz. De facto, dünya çapındaki patent ofisleri genellikle bunu araştırmak için yeterince umursamıyor (çünkü bunun için para alamayacaklar) ve çok fazla balık gibi görünmeyen tüm patentlere izin veriyorlar. Patent sahibi daha sonra birine dava açarsa, patent mahkemede tutulmaz (mahkeme süreci varsa. Çok paraya mal olurlar ...)
Josef

2
@Josef Tamamen doğru değil, çoğu patent ofisi (ABD ve AB'de kesinlikle doğrudur) şimdi ilk dosyalanır, ancak bu sadece birbirine yakın icatlar için önemlidir. Birisi bir algoritmayı yayınlarsa (patentlemezse), bir başkası ertesi gün patentini alabilir ve muhtemelen ondan kurtulabilir. Bunu çevreleyen belirli yasal sorunlar karmaşıktır ve bunu çıkarmaya çalışırken kesinlikle bir IP avukatına danışılmalıdır.

@ Ertesi gün patentlemekten kaçınmayı bilen, şifreli biçimde yayınlayıp birkaç ay sonra anahtarı yayınlamaya yardımcı olur mu?
trichoplax

1
@trichoplax Dürüst olmayı bilmiyorum. Bu yasalar hakkında güncel kalmaya çalışıyorum, ancak bu yaşadığım ABD'de son zamanlarda yaşanan bir değişiklik. Bunu yapmaya çalışacak olsaydım, daha fazlasını bilen bir IP avukatına danışırdım. Anladığım kadarıyla büyük bir gri alan var ve yasada uzmanlaşmış birinin bana rehberlik etmesi gerekecek.

Sadece bir sürü insan hakkında konuşmaya başladı, çünkü vb fikirler, algoritmalar hakkında spesifik konuşmak cevabım amaçlanan netleştirmek için kaynak kodu OP soruyordu ise algoritmaları . Şüpheniz varsa (ve siz olmalısınız), bir IP avukatına danışın.
Frank Shearar

9

Diğer cevaplarda ve yorumlarda bazı değerli bilgiler, aynı zamanda bazı yanlış bilgiler de görüyorum, bu yüzden bir özet vermeye ve ek şeyler eklemeye çalışıyorum.

Copyleft lisansı (GPL vb.) Altında algoritmayı açık kaynak kodlama avantajım olacak mı?

GPL altında algoritmanızın bir uygulamasının kaynak kodunu yayınlayarak (kastettiğinizin bu olduğunu düşünüyorum), algoritmanızın amaçlandığı gibi gösterilmesinin avantajını elde edersiniz ve herkes kaynak kodunuzu herhangi bir şey içermediğinden emin olmak için inceleyebilir ciddi hatalar veya kötü amaçlı yazılımlar gibi "olağandışı". Belki daha fazla iyileştirme için katkıda bulunacaksınız. Ve telif hakkı sahibi olduğunuz için, uygulamanızı farklı bir lisans altında başkalarına yayınlamakta veya satmakta serbestsiniz.

Farklı bir soru, bu algoritmayı ilk yayınlayan olmanın herhangi bir avantaj sağlayıp sağlamadığıdır . Birincisi olmak, başka birinin bu algoritma üzerinde patent almasını engellemeye çalışabilirsiniz, çünkü uygulamanız mucit olduğunuzu kanıtlamak için bir tür kanıt görevi görecektir. Ama @Snowman doğru nedeniyle, bir açıklamada işaret ettiği gibi ilk Dosyaya birçok avrupa patent düzenlemelerin politikası (ilk-to-icat aksine) o may aslında işin.

Lisanslama hakkında bildiklerimden bu, insanların kapalı kaynakla tamamen aynı kodu kullanmasını engellemeli, ancak algoritmayı kapalı kaynak olarak yeniden yazabilecekler mi?

İnsanların kaynak kodunuzu veya koddaki değişikliklerini ticari bir kuruluşta kullanmak yerine kapalı kaynakta yayınlamasını engellersiniz. İnsanların bunu GPL'den farklı bir lisans altında açık veya kapalı kaynak olarak yayınlamasını engelliyorsunuz. Ancak, insanların kaynak koduna bakmadan yalnızca algoritmanızın açıklamasından yapılan bir uygulama olan rastgele bir lisans altında algoritmanızın yeni bir "temiz oda" uygulamasını yayınlamasını engellemezsiniz.

Avrupa Birliği'nden olduğum için, kopyalamak istiyorsam yazılım patentlerini aramam gerekir mi?

Birçok Avrupa ülkesinin yasaları saf algoritmalarla ilgili patentleri resmi olarak yasaklasa da, birçok şirket geçmişte belirli algoritmaları "bilgisayar tarafından icat edilen icatlar" olarak ilan ederek bu yasaları atlattı. AFAIK, Avrupa patent ofisleri geçmişte ABD patent ofisleri kadar algoritmik patent kabul etmedi, ancak yıllar içinde algoritmalar üzerinde patent olarak yorumlanabilecek binlerce patenti kabul ettiler. Bu patentlerin gerçekten mahkemede tutulması farklı bir sorudur, ancak öğrenmek isteyen biri genellikle ilgili tüm risklerle birlikte yargılanmak zorundadır. En popüler örnek gruplarından ikisi yorumlarda belirtilmiştir, GIF görüntü sıkıştırma ile ilgili patentler ve MP3 sıkıştırma / açma ile ilgili patentler, buraya bakınızdaha fazla örnek için.

Dolayısıyla, dava açma riskini azaltmak istiyorsanız, belirli bir algoritma içeren bir yazılım yayınlamadan önce, muhtemelen AB'de bile üzerinde patent tutan biri olup olmadığına bakmalısınız.


Gerçekten iyi kapsamlı bir cevap. Sadece son paragrafla ilgili bir sorunum var: Hak ihlalinde bulunabileceğim patentleri nasıl arayabilirim? Birincisi, koduma başvurabilirlerse başlıklarından çıkamıyorum. Ayrıca onlar için kapsamlı bir tematik dizin de bilmiyorum. Anahtar kelimeleri aramak onu kesmez, bu nedenle Google bile işe yaramaz, ifadeler benim için tamamen düşünülemez olabilir. Ve binlerce patent verildiğinde hepsini kontrol edemiyorum. Afaik birisi :-( beni mahkemeye verdi, ben sadece bekleyip görebilirsiniz, aslında ihlal edip patent aramak için imkansız düz değil
cmaster - Yeniden aktifleştirme Monica

1
@cmaster: Avrupa'daki en iyi şansınız muhtemelen Avrupa patent ofisinin arama motorudur, bkz. epo.org/searching.html
Doc Brown

1
@cmaster: patentleri okuyarak patent incelemesi yapan avukatlara milyonlarca harcama yapmanız gerekiyor. Bunun yazılım dışındaki büyük projelerde bile çalıştığını anlıyorum (yeni bir araba hayal edin), çünkü daha "şelale" tarzında geliştirildi ve daha az fikirleri var. Ancak, elbette, bu yazılım için pratik değildir, bu nedenle büyük şirketler genellikle çapraz lisanslı patentlerdir ve küçük olanlar kendilerini koruyamazlar.
Blaisorblade

5

Bir algoritmayı "copyleft" edemezsiniz. "Copyleft", uygulanabilirliği nedeniyle telif hakkı korumasına dayanır, ancak algoritmalar telif hakkıyla korunmaz, bu nedenle bir algoritmayı "copyleft" edemezsiniz. Başka bir deyişle, sorunuz hatalı bir öncül olabilir.

Telif hakkı, algoritma fikrini değil, yalnızca belirli bir uygulamayı korumak için kullanılabilir. Bu nedenle, telif hakkı tabanlı lisansları ("copyleft" tarzı lisans gibi) kullanarak belirli bir algoritmanın uygulanmasını koruyabilirsiniz, ancak başka birisinin aynı algoritmanın farklı bir uygulamasını oluşturmasını engellemez. Sonuç olarak, "bir algoritmayı copyleft" hale getirmenin bir yolu yoktur.

Özellikle, GPL lisansı, telif hakkı yasasının temeli üzerine inşa edilmiştir. Telif hakkı yasası diyor (kabaca): telif hakkıyla korunan içeriğinizi izniniz olmadan kimse kopyalayamaz. GPL lisansı diyor ki: Belirli koşullar altında ("copyleft" lisansının koşulları) telif hakkıyla korunan içeriği (kodu) kopyalamak için izin veriyorum. Bu nedenle, telif hakkıyla korunan şeyler için bu, mevcut telif hakkı yasasıyla "copyleft" lisansının önyüklenmesine olanak tanır. Ancak, telif hakkıyla korunmayan şeyler için bu yaklaşım işe yaramaz. Telif hakkı yasası fikirleri değil, yalnızca yaratıcı ifadeyi korur. Özellikle algoritmaları korumaz.


Patent yasası farklı bir konudur. Bazı ülkelerde, bir algoritma için patent almak mümkün olabilir. Bu büyük ölçüde yasal yetki alanına ve muhtemelen durumunuzun özelliklerine bağlı olacaktır. Genel olarak konuşursak, algoritmanızın yayınlanması, başkalarının algoritmayı patentlemesini engelleyen önceki tekniklerin oluşturulmasına yardımcı olabilir, ancak bunun ayrıntıları zor ve bir avukata danışmak en iyisidir. Genel olarak, algoritma patentleriyle ilgili herhangi bir şey hakkında sağlam bir tavsiye almak istiyorsanız, bir IP avukatına başvurmanızı öneririm, çünkü bu bilgi hakkında genel bilgi sahibi olmadan cevap vermek için çok geniştir.


IMHO soru "hatalı bir öncül" temel almıyor, tam olarak ifade edilmiyor. OP'nin aslında algoritmasının bir açık kaynak kodlu olmasını istediğinden eminim.
Doc Brown

1
@DocBrown: OP aynı zamanda algoritmalarının temiz oda uygulamalarına karşı Lisans uygulamakla da ilgileniyor (yeniden yazma). Dolayısıyla sorunun DW yorumu doğrudur.
slebetman

3

Copyleft'in telif hakkı veya patent koruması ile ilgisi yoktur. Başka bir şekilde sahip olmayacağınız telif hakkı sahibi için herhangi bir koruma sağlamaz.

Dağıtımla ilgili her şeyi var ,Ancak . Copyleft, sizden ve kodlarını kullanan herkesin toplu işlerinin tüm kaynak kodunu ve kodda yaptıkları değişiklikleri dağıtmak için talep ederek kodunuzun kullanıcılarını korur. GPL3'te DRM'yi tersine mühendislik özgürlüğü gibi, kullanıcılarınıza başka türlü sahip olmayabilecekleri belirli hakları vermek dışında, telif hakkı veya patent korumaları hakkında söylenecek bir şey yoktur.

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.