Zaletą bycia pierwszym algorytmem copyleft nowego algorytmu? [Zamknięte]

18

Powiedzmy, że utworzyłem nowy algorytm (DSP). Czy będę miał jakąś przewagę, jeśli otworzę algorytm na licencji typu copyleft (GPL itp.)? Z tego, co wiem o licencjonowaniu, powinno to uniemożliwić ludziom używanie dokładnie tego samego kodu co zamknięte źródło, ale czy byliby w stanie „przepisać” algorytm jako zamknięte źródło?

Uwaga: Naprawdę nie wiem, czy algorytm jest nowy, ale nie został jeszcze udostępniony jako open source. Skoro jestem z Unii Europejskiej, czy muszę szukać patentów na oprogramowanie, jeśli chcę je copyleft?

Kozuch
źródło
21
Głosuję za zamknięciem tego pytania jako nie na temat, ponieważ wymaga ono porady prawnej. Odpowiedzi na nie może udzielić tylko prawnik zajmujący się prawami własności intelektualnej w konkretnej jurysdykcji.
1
Polecam zbadanie historii inżynierii odwrotnej czarnej skrzynki. Chociaż nie jest to to samo, o co pytasz, istnieje wiele interesujących informacji na temat prawa własności intelektualnej, umów, inżynierii odwrotnej, patentów itp., Które są istotne.
2
@Snowman: jak widać tutaj, meta.programmers.stackexchange.com/questions/1655/… , nie każde pytanie dotyczące zagadnień prawnych jest ogólnie nie na temat. Wydaje mi się, że przynajmniej w najważniejszych częściach tego pytania nasza społeczność ma trochę wiedzy. Chociaż zgadzam się, że do uzyskania dogłębnej odpowiedzi prawdopodobnie potrzebny będzie prawnik.
Doc Brown,
2
To pytanie zostało zadane 8 godzin temu i ma już 1880 wyświetleń. To wygląda na bardzo popularne i potrzebne pytanie. Cieszę się, że ktoś o to zapytał.
Gabriel Fair
2
Chociaż to pytanie może być popularne i interesujące, poniższe „dyskusyjne” odpowiedzi dokładnie ilustrują, dlaczego tego rodzaju pytania dotyczące legalności są słabo dostosowane do PSE i dlaczego nie są tutaj tematem.
Eric King,

Odpowiedzi:

27

Ograniczenia licencji copyleft, takich jak GPL, dotyczą zarówno zmodyfikowanych wersji kodu, jak i kodu oryginalnego. Nie mogą więc po prostu poprawić stylu białych znaków lub nawiasów klamrowych, a następnie usunąć oświadczenie o licencji.

Nie można jednak opatentować / prawa autorskie / copyleft / żadnego „algorytmu” w jego najbardziej abstrakcyjnym sensie. Możesz umieścić licencję na swoją ulubioną implementację quicksort, ale nie możesz licencjonować samej quicksort. Jeśli ktoś czyta kod tylko po to, aby nauczyć się algorytmu, a następnie przepisuje go od zera na swój własny sposób, nie ma sprawy.

O ile mi wiadomo, nie ma „przewagi” w byciu pierwszym, który opublikuje algorytm inny niż prawdopodobnie sława i (realna) reputacja, jeśli jest to szczególnie godne uwagi. Jako pierwszy copyleft na pewno nic ci to nie da, ale fakt, że ktoś go użył, będzie postrzegany jako korzyść dla społeczności wolnego oprogramowania.

Ixrec
źródło
27
Ta odpowiedź zawiera pewne poprawne i dyskusyjne informacje, więc bądź ostrożny. AFAIK, próbowano zastosować patenty na znacznie mniej znaczących elementach oprogramowania i próbowano uzyskać abstrakcyjne pomysły, a nie tylko implementacje. Zależy to bardzo od lokalnego prawa i jest bardzo różne, nawet w różnych krajach Europy. Opublikowanie nowego algorytmu jako pierwszego może stworzyć przypadek „stanu techniki” ( en.wikipedia.org/wiki/Prior_art ), gdy ktoś później spróbuje opatentować ten sam pomysł w innej implementacji.
Doc Brown
10
Oracle przeciwko Google nie dotyczył implementacji Java; wręcz przeciwnie, chodziło o API. Byłbym bardzo niechętny, by powiedzieć, że algorytmy nie podlegają patentowaniu, szczególnie w Stanach Zjednoczonych.
sapi
9
Nie można algorytmów patentowych? Czy już zapomnieliśmy o patentach GIF i MP3?
Andrew Medico,
2
@ Bakuriu: nie trafiłeś w sedno. Zarówno posiadacze patentu GIF, jak i MP3 pozywali inne firmy za korzystanie z algorytmów (lub przynajmniej groziły ich pozyciem), nie dlatego, że te inne firmy skopiowały określoną implementację.
Doc Brown
4
@AbhinavGauniyal: Patentowanie sposobu robienia czegoś jest całkowicie normalne. Nazywa się to patentem na proces / metodę. Na przykład, jeśli masz nowy sposób na wykonanie zderzaków samochodowych, możesz go opatentować. Nie zderzaki samochodowe, proces produkcji zderzaków samochodowych. Patenty procesowe to jeden z filarów patentów na oprogramowanie. Ale idea patentów na oprogramowanie koliduje z innym aspektem prawa patentowego: nie można opatentować wzorów matematycznych (przynajmniej w Stanach Zjednoczonych). I można argumentować, że algorytmy są częścią czystej matematyki, którą nazywamy „informatyką”.
slebetman
12

Jeśli chcesz uniemożliwić opatentowanie rzeczy opatentowanej, a następnie „odciąć się” od większej społeczności, możesz dokonać ujawnienia obronnego. Cuis Smalltalk, na przykład, zrobił to z nowymi technikami antyaliasingu:

Frank Shearar
źródło
3
Jeśli coś wypuścisz, de jure nie może być już opatentowane, ponieważ istnieje stan techniki. W rzeczywistości urzędy patentowe na całym świecie zwykle nie dbają o to, aby to zbadać (ponieważ nie dostaną na to pieniędzy) i zezwolą na prawie wszystkie patenty, które nie wyglądają zbyt podejrzanie. Jeśli wtedy właściciel patentu pozwie kogoś, patent nie będzie miał miejsca w sądzie (jeśli toczy się postępowanie sądowe. Kosztują dużo pieniędzy ...)
Josef
2
@Josef Nie do końca prawda, większość urzędów patentowych (z pewnością prawda w USA i UE) jest teraz składana w pierwszej kolejności, ale dotyczy to tylko wynalazków, które występują blisko siebie. Jeśli ktoś opublikuje (ale nie opatentuje) algorytm, ktoś inny może go opatentować już następnego dnia i być może uda mu się go uniknąć. Konkretne kwestie prawne, które się z tym wiążą, są złożone i zdecydowanie należy skonsultować się z prawnikiem ds. Własności intelektualnej, jeśli próbuje się to rozwiązać.
@Snowman, aby uniknąć opatentowania następnego dnia, czy pomogłoby to opublikować w formie zaszyfrowanej, a następnie opublikować klucz kilka miesięcy później?
trichoplax
1
@trichoplax Nie wiem, żeby być szczerym. Staram się być na bieżąco z tymi przepisami, ale to ostatnia zmiana w Stanach Zjednoczonych, w których mieszkam. Gdybym chciał to zrobić, skonsultowałbym się z prawnikiem IP, który wie więcej. Rozumiem, że istnieje duża szara strefa i ktoś, kto specjalizuje się w prawie, musiałby mnie poprowadzić.
Aby wyjaśnić, chciałem, aby moja odpowiedź konkretnie mówiła o pomysłach, algorytmach itp., Ponieważ wiele osób zaczęło mówić o kodzie źródłowym, podczas gdy OP pytał o algorytmy . W razie wątpliwości (i powinieneś mieć) skonsultuj się z prawnikiem ds. Własności intelektualnej.
Frank Shearar,
9

Widzę cenne informacje w innych odpowiedziach i komentarzach, ale także pewne dezinformacje, więc staram się podać streszczenie i dodać kilka dodatkowych rzeczy.

Czy będę miał jakąś przewagę, jeśli otworzę algorytm na licencji typu copyleft (GPL itp.)?

Publikując kod źródłowy implementacji twojego algorytmu na licencji GPL (zakładam, że o to ci chodziło), masz tę zaletę, że demonstrujesz, że algorytm działa zgodnie z przeznaczeniem, i każdy może sprawdzić kod źródłowy, aby upewnić się, że nic nie zawiera „niezwykłe”, takie jak poważne błędy lub złośliwe oprogramowanie. Może zdobędziesz niektórych współpracowników do dalszych ulepszeń. A ponieważ jesteś właścicielem praw autorskich, nadal możesz publikować lub sprzedawać swoje wdrożenie innym osobom na innej licencji.

Inne pytanie dotyczy tego, czy przynosi to korzyść z bycia pierwszym wydawcą tego algorytmu. Będąc pierwszym, możesz spróbować uniemożliwić komuś innemu uzyskanie patentu na ten algorytm, ponieważ twoja implementacja posłuży jako pewien dowód, że jesteś wynalazcą. Ale jak @Snowman słusznie zauważył w komentarzu, z powodu pierwszego do pliku (w odróżnieniu od pierwszego do wymyślać) polityce wielu europejskich przepisów patentowych, które mogą faktycznie nie pracy.

Z tego, co wiem o licencjonowaniu, powinno to uniemożliwić ludziom używanie dokładnie tego samego kodu co zamknięte źródło, ale czy byliby w stanie „przepisać” algorytm jako zamknięte źródło?

Blokujesz ludziom publikowanie kodu źródłowego lub jego modyfikacji w zamkniętym źródle, a nie używanie go w organizacji komercyjnej. Blokujesz ludziom możliwość publikowania go jako źródła otwartego lub zamkniętego na innej licencji niż GPL. Jednak nie blokujesz ludziom publikowania nowej implementacji algorytmu w „czystym pokoju” na podstawie dowolnej licencji, która jest implementacją wykonaną wyłącznie na podstawie opisu algorytmu, bez faktycznego przeglądania kodu źródłowego.

Skoro jestem z Unii Europejskiej, czy muszę szukać patentów na oprogramowanie, jeśli chcę je copyleft?

Chociaż przepisy wielu krajów europejskich formalnie zabraniają patentów na czyste algorytmy, wiele firm obchodziło te prawa w przeszłości, deklarując określone algorytmy jako „wynalazki realizowane przez komputer”. AFAIK, europejskie urzędy patentowe nie przyjmowały tylu patentów algorytmicznych jak amerykańskie urzędy patentowe w przeszłości, niemniej jednak zaakceptowały tysiące patentów na przestrzeni lat, które można interpretować jako patenty na algorytmy. To, czy patenty te rzeczywiście miałyby zastosowanie w sądzie, jest inną kwestią, ale ktoś, kto chce się tego dowiedzieć, zwykle musi postawić to przed sądem, ze wszystkimi powiązanymi zagrożeniami. W komentarzach wspomniano o dwóch najpopularniejszych grupach przykładów: patentach dotyczących kompresji obrazów GIF i patentach dotyczących kompresji / dekompresji MP3, patrz tutaj po więcej przykładów.

Jeśli więc chcesz zmniejszyć ryzyko pozwania, przed opublikowaniem oprogramowania zawierającego określony algorytm, powinieneś prawdopodobnie sprawdzić, czy jest ktoś, kto ma na niego patent, nawet w UE.

Doktor Brown
źródło
Naprawdę dobra kompleksowa odpowiedź. Mam tylko problem z ostatnim akapitem: w jaki sposób mam szukać patentów, które mogą naruszać? Ja, na przykład, nie mogę wywnioskować z ich tytułu, jeśli mogą dotyczyć mojego kodu. Nie znam też dla nich kompleksowego indeksu tematycznego. Wyszukiwanie słów kluczowych go nie uciszy, więc nawet Google jest bezużyteczne, sformułowanie może być dla mnie całkowicie niewyobrażalne. Biorąc pod uwagę tysiące patentów, nie jestem w stanie ich wszystkich sprawdzić. Afaik to po prostu niemożliwe poszukiwanie patentu, który mogę naruszać, mogę tylko czekać i zobaczyć, czy ktoś mnie
pozwie
1
@cmaster: Twoja najlepsza szansa w Europie to prawdopodobnie wyszukiwarka europejskiego urzędu patentowego, patrz epo.org/searching.html
Doc Brown
1
@cmaster: powinieneś wydać miliony na prawników dokonujących przeglądu patentu, czytając patenty. Rozumiem, że działa to nawet w dużych projektach poza oprogramowaniem (wyobraź sobie nowy samochód), ponieważ są one rozwijane w sposób bardziej „wodospadowy” i mają mniej pomysłów. Ale oczywiście nie jest to praktyczne dla oprogramowania, więc duże firmy często po prostu patenty na wiele licencji, a małe nie mogą się chronić.
Blaisorblade,
5

Nie można „copyleft” algorytmu. „Copyleft” polega na ochronie praw autorskich pod względem wykonalności, ale algorytmy nie są chronione prawem autorskim, więc nie można „copyleft” algorytmu. Innymi słowy, twoje pytanie może być oparte na błędnej przesłance.

Prawa autorskie można wykorzystać tylko do ochrony konkretnej implementacji, a nie idei algorytmu. Można więc zabezpieczyć określoną implementację algorytmu za pomocą licencji opartych na prawach autorskich (takich jak licencja typu „copyleft”), ale nie uniemożliwiłoby to zbudowania innej implementacji tego samego algorytmu. W związku z tym nie ma możliwości „algorytmu copyleft”.

W szczególności licencja GPL opiera się na prawie autorskim. Prawo autorskie mówi (z grubsza): nikt nie może kopiować treści chronionych prawem autorskim bez Twojej zgody. Licencja GPL mówi: Wyrażam zgodę na kopiowanie treści chronionych prawem autorskim (kod) pod pewnymi warunkami (warunki licencji „copyleft”). Tak więc w przypadku rzeczy, które podlegają prawu autorskiemu, pozwala to na ładowanie licencji „copyleft” na podstawie istniejącego prawa autorskiego. Ale w przypadku rzeczy, które nie podlegają prawom autorskim, takie podejście jest bezużyteczne. Prawo autorskie chroni tylko twórczą ekspresję, a nie idee. W szczególności nie chroni algorytmów.


Prawo patentowe to inna sprawa. W niektórych krajach może być możliwe uzyskanie patentu na algorytm. Będzie to zależeć w dużej mierze od jurysdykcji prawnej i być może od specyfiki twojej sytuacji. Ogólnie rzecz biorąc, opublikowanie algorytmu może pomóc w ustaleniu stanu techniki, który uniemożliwia innym opatentowanie algorytmu, ale szczegóły tego są trudne i najlepiej skonsultować się z prawnikiem. Ogólnie rzecz biorąc, jeśli potrzebujesz rzetelnej porady na temat czegokolwiek związanego z patentami algorytmicznymi, sugeruję skontaktowanie się z prawnikiem własności intelektualnej, ponieważ jest to zbyt szerokie, aby odpowiedzieć ogólnie bez wiedzy na temat tych informacji.

DW
źródło
IMHO pytanie nie jest oparte na „błędnej przesłance”, po prostu nie jest dokładnie sformułowane. Jestem prawie pewien, że OP rzeczywiście zamierzał otworzyć źródło implementacji swojego algorytmu.
Doc Brown,
1
@DocBrown: OP jest także zainteresowany egzekwowaniem licencji na wszelkie implementacje swoich algorytmów w czystych pomieszczeniach (przepisywanie). Tak więc interpretacja DW pytania jest poprawna.
slebetman
3

Copyleft nie ma nic wspólnego z ochroną praw autorskich i patentowych. Nie zapewnia żadnej ochrony dla ciebie, właściciela praw autorskich, którego inaczej byś nie miał.

Ma to jednak wszystko wspólnego z dystrybucją . Copyleft chroni użytkowników Twojego kodu, wymagając od Ciebie i każdego, kto korzysta z jego kodu, rozpowszechniania całego kodu źródłowego ich zbiorowej pracy i wszelkich wprowadzanych do niego zmian. Nie ma nic do powiedzenia na temat ochrony praw autorskich lub patentowych, poza udzieleniem użytkownikowi określonych praw, których w innym przypadku nie mógłby mieć, takich jak wolność do inżynierii wstecznej DRM w GPL3.

Robert Harvey
źródło