Що являє собою мову програмування та як одна авторська мова є програмовою?


12

Я вирішив створити власну мову програмування, переважно просто заради розваги. Однак мене зацікавив юридичний аспект усього цього.

Наприклад, ви можете ліцензувати конкретні програми за певними умовами. Однак як ви ставитесь до ліцензування мови ? Також під цим я маю на увазі не просто реалізацію мови (компілятор та VM), а сам стандарт. Чи є щось інше в мові програмування, якої я відсутній?

Чого я хотів би досягти завдяки такому ліцензуванню:

  1. Зробіть це повністю FOSS (може мова навіть FOSS, чи це реалізація, яка може бути FOSS?)
  2. Визначте себе автором (чи можете ви юридично бути автором мови? Або, знову ж таки, просто впровадження?)
  3. Зробіть так, щоб хто-небудь, хто реалізує мою мову, повинен був би приписувати мені (стиль MIT. Будь ласка, зауважте, що я не маю жодних надій на те, що хтось насправді коли-небудь це зробив, я просто вчуся.)

Я думаю, що рішенням було б окремо ліцензувати ВМ та компілятор на мою мову, як "офіційну реалізацію", а потім ліцензувати проектний документ як саму мову .

Що саме мені тут не вистачає?


10
Re (1): специфікація мови не є програмним забезпеченням, тому FOSS не застосовується. Крім того, якби я натрапив на мову, автор якої намагався зробити таке, з будь-якою метою, я був би вкрай обережним (тобто, мабуть, не використовував би його взагалі). Він охоплює контрольну залежність, недовіру та недостатнє знання юридичних питань.

Я трохи в збитку щодо того, яка тут ваша кінцева мета. Можливо, якби ми це знали, ми могли б допомогти вам заповнити прогалини щодо того, як цього досягти. Також було б корисно знати, хто ваш цільовий ринок.
pdr

Зачекайте, як маркує що-небудь реек контрольної залежності, @delnan? Або ви мали на увазі авторське право на специфікацію? AFAIK, авторське право не є по суті злим, воно зовсім не повинно бути обмежувальним.
jcora

1
Я здогадуюсь, я буду зберігати специфікацію у відкритому доступі тоді.
jcora

1
Я не юрист, але авторське право на документ (навіть якщо він визначає мову) не є авторським правом на мову. Наприклад, я користуюся авторськими словниками, і я розмовляю французькою мовою, не порушуючи їх.
Базиль Старинкевич

Відповіді:


15

Відмова від відповідальності.IANAL ();

Ви не можете авторські права на програмування не більше ніж ви можете авторські права розмовної мови. Ви можете ліцензувати певну реалізацію мови і навіть продати цей компілятор багато, як Borland робив з Delphi протягом багатьох років.

Багато мов сьогодні мають BDFL (доброзичливий диктатор на все життя), який визначає, що переходить у мову, а що ні. Python, Ruby та Perl - всі приклади цього.

Інші мови офіційно розробили стандарти однією з декількох плат стандартів, як правило, ANSI, ECMA або ISO. Приклади включають C, C ++ та Javascript.

Деякі мови потрапляють у більш муткі райони через політику між компаніями. Java - приклад тому, що Microsoft сидить на деяких плат стандартів.

Деякі мови переходять від однієї до іншої, як правило, від BDFL до стандартизованої, C - хороший приклад.

Залежно від специфікації мови, деякі автори компілятора можуть реалізовувати різні функції різними способами (наприклад, CPython vs PyPy) або додавати функції (Microsoft C ++ проти GNU C ++ або MySQL проти PostGreSQL проти SQL Server)


1
Loglan є прецедентом для несанкціонованого статусу побудованих мов. Лойбан - це фактично відкрита реалізація Логлана. З іншого боку, Sun подала позов до Microsoft за їх реалізацію Java Visual J ++
Джон Перді

2
@JonPurdy: Для Java це проблема торговельної марки, а не авторських прав. Подивіться, як LiveScript став Javascript, тоді як це було в об'єднаних інтересах Sun / Netscape, пізніше Microsoft випустила JScript, щоб показати схожість, уникаючи проблем із товарними знаками, а згодом усі погодилися на ECMAScript як загальну назву.
pdr

1
@ JonPurdy, @ pdr Я думаю, що в суперечці Sun та Microsoft були також питання контрактного права. Microsoft ліцензувала технологію JVM від Sun, і частина ліцензії погодилася не виробляти нестандартні реалізації Java.
Чарльз Е. Грант

1
@pdr Наскільки я пам'ятаю, була дуже точна специфікація того, що має забезпечити реалізація Java (включаючи кілька тисяч тестів, які повинна пройти реалізація). Майкрософт був поданий до суду, оскільки вони мали нестандартну реалізацію (ймовірно, щоб заблокувати користувачів, поширюючи аплети, які працюватимуть лише з Internet Explorer). Після того, як стратегія розповсюдження нестандартної реалізації Java не вдалася, Microsoft продовжила створення C #.
Джорджіо

3
@Giorgio - точно. На що Sun не заперечувала, це те, що MSFT називав свою мову Java, вносячи значні зміни (щоб заблокувати її на платформі MSFT), по суті вони виробляли підроблену Java
Мартін Бекетт

8

Будь-яка спроба обмежити / контролювати / володіти мовою приречена на невдачу. Для того, щоб мова стала широко використовуватися, люди повинні відчути: а) що вона вирішує проблему краще, ніж якась існуюча, усталена мова, і б) їм зручно, що вони раптом не опиняться на неправильному кінці ліцензії / закону костюм. Якщо вони думають, що це навіть можливо, вони поїдуть в інше місце.

Я пропоную абсолютну трагедію Java, яку виконали Ларрі Еллісон (AKA Oracle) та Google. Еллісон здійснила глобальну юридичну особу, яка здійснила дві речі:

  1. Він показав світові, що буде подавати позов до когось, кого він вважав, що може отримати гроші, і
  2. Він гарантував, що майбутні розробки, які вже не були абсолютно пов'язані з Java, виберуть що- небудь, крім Java.

Google не просто виграв цей позов, вони розкрили патетичні претензії Oracle на патент та авторські права. Після цього жоден я знаю , не розміщуватиме будь-яку віру взагалі в будь-який «технології з відкритим вихідним кодом» , який має відбитки пальців Oracle на ньому (думаю: MySQL).

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


1
+1, щоб зробити це абсолютно зрозумілим. Ти вдарив цвях своєю другою точкою про Яву. Це було головним фактором у вирішенні питання продовжувати використовувати Java чи створювати подібну мову самостійно. Хоча я не дуже сподіваюся, що люди використовуватимуть це, як я вже сказав, для особистих та освітніх цілей. Але я хотів би, щоб мої параметри були відкритими.
jcora

1
Оновлення: у травні 2014 року федеральний окружний суд скасував це рішення і заявив, що API можуть бути захищені авторським правом. eff.org/deeplinks/2014/05/…
ніхто

Але це не був справжнім моментом моєї посади. Після повного розгрому силової гри Oracle з Java, ніхто з розуму та з будь-якими знаннями історії не буде свідомо розміщувати подібну петлю на шиї своєї компанії чи проекту. Якщо що-небудь, скасування Апеляційним судом служить лише для того, щоб надати ще більшу вагу аргументу за використання лише інструментів та мов ОСБ. Дивовижно і глибоко іронічно, що ** отвір, подібний до Ларрі Еллісона, повинен бути людиною, яка може донести додому справжню цінність Libre / Вільного програмного забезпечення навіть самому головному капіталісту чи діловій людині.
Пітер Роуелл

2

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

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

Як зазначали інші, якщо ваша основна мета - не допустити крадіжок nameвашої мови, товарний знак буде кориснішим.


Написання граматики для мови все одно не захистило б її. Єдине, що це зробило б - це зупинити, щоб хтось ще писав граматику аналогічним вам. Я міг би написати граматику для англійської мови, що не зупинило б вас тоді, коли ви зможете розміщувати повідомлення про SE.
Гевін Коутс

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

1

З часом на це питання з’явилися різні відповіді:

У 2012 році на подібне запитання відповіли "ви не можете" у випадку Oracle vs Google щодо використання Java API в Android, і аналогічна відповідь була надана у випадку впровадження WPL мови програмування SAS у власному продукті. Обґрунтуванням цієї відповіді було те, що сумісність між різними реалізаціями мови вимагає копіювання синтаксису мови програмування, і, таким чином, це слід допускати за правилами "справедливого використання".

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

У двох словах, станом на 2014 рік, мабуть, справедливо припустити: так, мова програмування (її синтаксис, структура та послідовність мовних конструкцій) може бути захищена авторським правом

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

(видалено решту аргументів, див. історію)

Відмова від відповідальності: IANAL


Annnddd ... цю постанову було просто скасовано. Оракул звернувся, і цього разу судді не були програмістами.
jmoreno

@jmoreno дякую, що вказали на це. оновлено відповідь, щоб відобразити цю нову розробку ...
miraculixx

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