Перевага бути першим, хто скопіював новий алгоритм? [зачинено]


18

Скажіть, я створив новий (DSP) алгоритм. Чи матиму я якусь перевагу, якщо відкрию вихідний код алгоритму за ліцензією copyleft (GPL тощо)? З того, що я знаю про ліцензування, це повинно позбавити людей використовувати той самий код, що і закрите джерело, але чи зможуть вони "переписати" алгоритм як закритий джерело?

Примітка. Я не знаю, чи алгоритм новий, але він ще не був випущений як відкритий код. Оскільки я з Європейського Союзу, чи потрібно шукати патенти на програмне забезпечення, якщо я хотів його скопіювати?


21
Я голосую, щоб закрити це питання поза темою, оскільки воно просить юридичної ради. На нього може відповісти правильно лише юрист із захисту прав інтелектуальної власності для певної юрисдикції.

1
Я рекомендую дослідити історію реверсивної інженерії чорної коробки. Хоча це не те саме, що ви запитуєте, є багато цікавої інформації про право інтелектуальної власності, контракти, зворотну інженерію, патенти тощо.

2
@Snowman: як ви бачите тут, meta.programmers.stackexchange.com/questions/1655/… , не кожне питання, що стосується юридичних тем, як правило, поза темою. Я думаю, що принаймні для важливих частин цього питання наша громада має деякі знання. Хоча я згоден, що для поглибленої відповіді, певно, знадобиться юрист.
Док Браун

2
Це питання було задано 8 годин тому, і воно вже має 1880 переглядів. Це виглядає як дуже популярне і потрібне питання. Радий, що хтось це запитав.
Ярмарок Габріеля

2
Хоча це питання може бути популярним і цікавим, відповіді, що обговорюються нижче, ілюструють, чому саме такі питання законності погано підходять для PSE і чому вони тут не обговорюються.
Ерік Кінг

Відповіді:


27

Обмеження у ліцензіях на копілефт, як-от GPL, поширюються на модифіковані версії вашого коду, а також на ваш вихідний код. Таким чином, вони не можуть просто налаштувати пробіл або стиль дужки, а потім видалити вашу ліцензійну заяву.

Однак ви не можете патентувати / авторське право / copyleft / будь-який "алгоритм" у його найбільш абстрактному розумінні. Ви можете поставити ліцензію на вашу улюблену реалізацію quicksort, але ви не можете ліцензувати сам quicksort. Якщо хтось читає ваш код просто для вивчення алгоритму, а потім переписує алгоритм з нуля по-своєму, це добре.

Наскільки я знаю, немає «переваги» бути першим, хто опублікував алгоритм, окрім, можливо, деякої слави та (реального) репутації, якщо це особливо заслуговує на уваги. Будучи першим, хто скопіював, це точно не приносить вам нічого, але той факт, що хтось його зробив, буде сприйнятий як користь для спільноти вільного програмного забезпечення.


27
Ця відповідь містить деяку правильну та деяку дискусійну інформацію, тому будьте уважні. AFAIK, патенти намагалися застосовувати до набагато менш значних програм, і вони намагалися використовувати абстрактні ідеї, а не просто реалізацію. Це дуже залежить від місцевого законодавства і дуже відрізняється навіть у різних державах Європи. Публікація нового алгоритму в якості першого може створити випадок для "попереднього рівня техніки" ( en.wikipedia.org/wiki/Prior_art ), коли пізніше хтось намагається запатентувати ту саму ідею в іншій реалізації.
Док Браун

10
Oracle v Google не стосувався впровадження Java; зовсім навпаки, мова йшла про API. Мені б дуже неохоче сказати, що алгоритми взагалі не патентовані, особливо в США.
сапі

9
Не можете патентувати алгоритми? Ми вже забули про патенти GIF та MP3?
Ендрю Медіко

2
@Bakuriu: ти пропустив пункт. Власники патенту GIF та MP3 подали позов до інших компаній за використання алгоритмів (або принаймні погрожували подати їх у суд) не тому, що ці інші компанії скопіювали певну реалізацію.
Док Браун

4
@AbhinavGauniyal: Запатентування способів робити щось абсолютно нормально. Це називається патентом на процес / метод. Наприклад, якщо у вас є новий спосіб виготовлення автомобільних бамперів, ви можете патентувати його. Не автомобільні бампери, процес виготовлення автомобільних бамперів. Патенти на процеси є одним із наріжних каменів патентів на програмне забезпечення. Але ідея патентів на програмне забезпечення суперечить іншому аспекту патентного права: ви не можете патентувати математичні формули (принаймні в США). І можна стверджувати, що алгоритми є частиною чистої математики, яку ми називаємо "інформатикою".
slebetman

12

Якщо ви хочете не допустити патентування речей, які можуть бути запатентовані, а потім "закритих" від більшої спільноти, ви можете зробити розкриття оборони. Cuis Smalltalk, наприклад, зробив це за допомогою нових нових методів згладжування:


3
Якщо ви щось випустите, де-юре, це більше не можна запатентувати, оскільки існує попереднє мистецтво. Фактично патентні відомства у всьому світі зазвичай недостатньо дбають про дослідження цього (оскільки вони не отримають грошей на це) і дозволяють майже всі патенти, які не виглядають надто риболюбними. Якщо власник патенту когось подасть до суду, патент не буде проводитись у суді (якщо буде судовий процес. Вони коштують багато грошей ...)
Йозеф

2
@Josef Не зовсім правда, більшість патентних відомств (безумовно, справжніх у США та ЄС) зараз подають на перше місце, але це має значення лише для винаходів, які відбуваються близько один від одного. Якщо хтось публікує (але не патентує) алгоритм, хтось ще може його запатентувати вже на наступний день і, можливо, піти з нього. Конкретні юридичні питання, пов’язані з цим, є складними, і, безумовно, слід проконсультуватися з юристом у галузі права інтелектуальної власності, якщо намагатимешся усунути це.

@Snowman, щоб уникнути патентування наступного дня, чи допоможе це опублікувати у зашифрованому вигляді, а потім опублікувати ключ через кілька місяців?
трихоплакс

1
@trichoplax Я не знаю, щоб бути чесним. Я намагаюся бути в курсі цих законів, але це нещодавня зміна в США, де я живу. Якби я намагався це зробити, я б проконсультувався з адвокатом з питань інтелектуальної власності, який знає більше. Наскільки я це розумію, є велика сіра зона, і мені повинен керувати хтось, хто спеціалізується на законі.

Просто для уточнення я мав на меті свою відповідь конкретно поговорити про ідеї, алгоритми тощо, тому що багато людей почали говорити про вихідний код, поки ОП запитували про алгоритми . Якщо ви сумніваєтесь (і у вас це має бути), проконсультуйтеся з юристом у галузі прав інтелектуальної власності.
Френк Ширар

9

Я бачу деяку цінну інформацію в інших відповідях та коментарях, а також дезінформацію, тому намагаюся дати резюме та додати деякі додаткові речі.

Чи матиму я якусь перевагу, якщо відкрию вихідний код алгоритму за ліцензією copyleft (GPL тощо)?

Опублікувавши вихідний код реалізації вашого алгоритму в GPL (я припускаю, що це ви мали на увазі), ви отримуєте перевагу демонстрації роботи алгоритму за призначенням, і кожен може перевірити ваш вихідний код, щоб переконатися, що він не містить нічого "незвичні", як серйозні помилки чи зловмисне програмне забезпечення. Можливо, ви отримаєте якісь внески для подальших удосконалень. А оскільки ви є власником авторських прав, ви все одно можете публікувати або продавати свою реалізацію іншим за іншою ліцензією.

Інше питання полягає в тому, чи приносить вам якась перевага бути першим, хто публікує цей алгоритм. Будучи першим, ви можете спробувати не допустити, щоб хтось інший отримав патент на цей алгоритм, оскільки ваша реалізація буде слугувати певним доказом, що ви - винахідник. Але , як @Snowman правильно вказав у коментарях, в зв'язку з першим в файл (на відміну від першого винахідника) політики багатьох європейських патентних правил, це може на насправді не працює.

З того, що я знаю про ліцензування, це повинно позбавити людей використовувати той самий код, що і закрите джерело, але чи зможуть вони "переписати" алгоритм як закритий джерело?

Ви заважаєте людям публікувати ваш вихідний код або модифікації його у закритому джерелі, а не використовувати його всередині комерційної організації. Ви блокуєте людей публікувати його як відкрите чи закрите джерело за іншою ліцензією, ніж GPL. Однак ви не заважаєте людям публікувати нову реалізацію свого алгоритму в "чистій кімнаті" за довільною ліцензією, що є реалізацією, зробленою лише з вашого опису алгоритму, фактично не заглядаючи у вихідний код.

Оскільки я з Європейського Союзу, чи потрібно шукати патенти на програмне забезпечення, якщо я хотів його скопіювати?

Хоча закони багатьох європейських країн формально забороняють патенти на чисті алгоритми, в минулому багато компаній обійшли ці закони, оголосивши конкретні алгоритми "винаходами, що реалізуються комп'ютером". AFAIK, європейські патентні відомства в минулому не приймали стільки алгоритмічних патентів, скільки патентні відомства США, тим більше, що вони протягом багатьох років приймали тисячі патентів, які можна інтерпретувати як патенти на алгоритми. Якщо ці патенти справді матимуть справу в суді - це інше питання, але хтось, хто хоче це дізнатися, зазвичай повинен буде піддавати це суду, з усіма пов'язаними з цим ризиками. У коментарях згадуються дві найпопулярніші групи прикладів, патенти на стиснення GIF-зображень та патенти на стиснення / декомпресію MP3, дивіться тут для більше прикладів.

Отже, якщо ви хочете зменшити ризик отримати позов, перш ніж публікувати програмне забезпечення, що містить певний алгоритм, вам, мабуть, слід подивитися, чи є хтось, хто має патент на нього, навіть у ЄС.


Дійсно хороша вичерпна відповідь. У мене просто є проблеми з останнім абзацом: Як я припускаю шукати патенти, які я можу порушувати? Я, наприклад, не можу вивести їх назву, якщо вони можуть застосовуватися до мого коду. Я також не знаю про комплексний тематичний покажчик для них. Пошук ключових слів не вирішить його, тому навіть Google марний, формулювання може бути для мене абсолютно немислимим. А враховуючи тисячі патентів, я не в змозі перевірити їх усіх. Афаїк, звичайно неможливо шукати патент, який я можу порушувати, я можу лише зачекати і побачити, чи хтось мене подає до суду :-(
cmaster - відновити моніку

1
@cmaster: ваш найкращий шанс в Європі - це, мабуть, пошукова система європейського патентного відомства, див. epo.org/searching.html
Doc Brown

1
@cmaster: ви повинні витратити мільйони на адвокатів, роблячи перевірку патентів, фактично читаючи патенти. Я розумію, це працює навіть у великих проектах поза програмним забезпеченням (уявіть собі новий автомобіль), оскільки вони розроблені більш "водоспадно" і мають менше ідей. Але, звичайно, це не практично для програмного забезпечення, тому великі компанії часто просто перехресні ліцензійні патенти, а маленькі не можуть захистити себе.
Blaisorblade

5

Ви не можете "копіювати" алгоритм. "Копілефт" покладається на захист авторських прав для його виконання, але алгоритми не підлягають копірайту, тому не можна "копіювати" алгоритм. Іншими словами, ваше запитання може базуватися на несправній передумові.

Авторські права можуть використовуватися лише для захисту конкретної реалізації, а не ідеї алгоритму. Отже, ви можете захистити конкретну реалізацію алгоритму, використовуючи ліцензії на основі авторських прав (наприклад, ліцензію на стиль "copyleft"), але це не завадить комусь іншим створити іншу реалізацію того ж алгоритму. Отже, не існує способу "копіювати лівий алгоритм".

Зокрема, ліцензія GPL будується на основі закону про авторські права. Закон про авторські права говорить (приблизно): ніхто не може копіювати ваш захищений авторським правом вміст без вашого дозволу. Ліцензія GPL говорить: я даю дозвіл на копіювання вмісту (коду), захищеного авторським правом, за певних умов (умови ліцензії "copyleft"). Отже, для речей, які можуть бути захищені авторським правом, це дозволяє завантажувати ліцензію на "copyleft" відповідно до чинного законодавства про авторські права. Але для речей, які не підлягають авторським правам, такий підхід марний. Закон про авторські права захищає лише творче вираження, а не ідеї. Зокрема, це не захищає алгоритми.


Патентне право - це інша справа. У деяких юрисдикціях можливо отримати патент на алгоритм. Це сильно залежатиме від юридичної юрисдикції та, можливо, від специфіки вашої ситуації. Взагалі, публікація алгоритму може допомогти встановити попередній рівень техніки, який заважає іншим патентувати алгоритм, але деталі цього є складними, і найкраще проконсультуватися з юристом. Загалом, якщо ви хочете отримати ґрунтовну пораду щодо будь-якого, що стосується патентів алгоритму, я пропоную вам звернутися до юриста з прав інтелектуальної власності, оскільки це занадто широко, щоб відповісти взагалі без відома цієї інформації.


ІМХО питання не базується на "несправній передумові", воно просто не чітко сформульоване. Я впевнений, що ОП насправді мав на меті відкрити джерело реалізації його алгоритму.
Doc Brown

1
@DocBrown: ОП також зацікавлена ​​в застосуванні Ліцензії проти будь-яких реалізацій алгоритмів (переписувати) в чистому приміщенні. Тож тлумачення питання DW правильне.
slebetman

3

Copyleft не має нічого спільного з захистом авторських прав або патентом. Він не надає вам, власнику авторських прав, жодного захисту, якого б ви інакше не мали.

Однак це все має відношення до розповсюдження . Copyleft захищає користувачів вашого коду, вимагаючи від вас та всіх, хто використовує їх код, для розповсюдження всього вихідного коду своєї колективної роботи та будь-яких змін, які вони вносять до нього. У ньому немає нічого сказати про захист авторських прав або патент, окрім того, щоб надати користувачеві певні конкретні права, які вони інакше не можуть мати, наприклад, свободу реверсивного DRM в GPL3.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.