Что составляет язык программирования и как авторские права на язык программирования?

12

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

Вы можете, например, лицензировать определенные программы на определенных условиях. Тем не менее, как вы идете о лицензировании языка ? Кроме того, я имею в виду не только реализацию языка (компилятор и ВМ), но и сам стандарт. Есть ли что-то еще в языке программирования, который мне не хватает?

Чего бы я хотел добиться с помощью такого лицензирования:

  1. Сделать это полностью FOSS (может ли язык даже быть FOSS, или это реализация, которая может быть FOSS?)
  2. Утвердить себя в качестве автора (можете ли вы по закону быть автором языка? Или, опять же, просто реализацией?)
  3. Сделайте так, чтобы любой, кто внедряет мой язык, должен был приписывать мне (в стиле MIT. Обратите внимание, что у меня нет никаких надежд на то, что кто-то на самом деле когда-либо будет это делать, я только учусь)

Я думаю, что решением было бы отдельно лицензировать виртуальную машину и компилятор для моего языка как «официальную реализацию», а затем лицензировать проектный документ как сам язык .

Что именно мне здесь не хватает?

jcora
источник
10
Re (1): Спецификация языка не является программной, поэтому FOSS не применяется. Кроме того, если бы я наткнулся на язык, автор которого пытался сделать что-то подобное, с какой бы то ни было целью, я был бы чрезвычайно осторожен (то есть, я, вероятно, вообще не использовал бы его). Он пахнет зависимостью от контроля, недоверием и плохим знанием правовых вопросов.
Я немного в растерянности относительно того, какова ваша конечная цель здесь. Возможно, если бы мы знали это, мы могли бы помочь вам заполнить пробелы в том, как этого добиться. Также было бы полезно узнать, кто является вашим целевым рынком.
фунтовые
Подождите, как маркировка чего-либо пахнет контрольной зависимостью, @delnan? Или вы имели в виду авторские права на спецификацию? AFAIK, авторское право не является по своей сути злом, оно не должно быть ограничительным вообще.
Jcora
1
Я думаю, что я буду держать спецификации в открытом доступе.
Jcora
1
Я не юрист, но авторское право на документ (даже если он указывает язык) не является авторским правом на язык. Например, я использую защищенные авторским правом словари и говорю по-французски, не нарушая их.
Василий Старынкевич

Ответы:

15

Disclaimer.IANAL ();

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

Многие языки сегодня имеют BDFL (Benevolent Dictator for Life), который определяет, что входит в язык, а что нет. Python, Ruby и Perl являются примерами этого.

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

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

Некоторые языки перемещаются из одного в другой, обычно из BDFL в стандартизированный, C является хорошим примером.

В зависимости от спецификации языка некоторые авторы компиляторов могут реализовывать различные функции по-разному (например, CPython против PyPy) или добавлять функции (Microsoft C ++ против GNU C ++ или MySQL против PostGreSQL против SQL Server)

Мировой инженер
источник
1
Логлан является прецедентом для не защищенного авторским правом статуса созданных языков. Ложбан - это, по сути, открытое повторное воплощение Логлана. С другой стороны, Sun подала в суд на Microsoft за их реализацию Java на Visual J ++
Джон Пурди,
2
@JonPurdy: С Java это проблема товарных знаков, а не авторских прав. Посмотрите, как LiveScript стал Javascript, хотя это было в общих интересах Sun / Netscape, позже Microsoft выпустила JScript, чтобы показать сходство, избегая проблем с товарными знаками, а затем все согласились с ECMAScript как общим именем.
фунтовые
1
@ JonPurdy, @ pdr Я думаю, что в споре между Sun и Microsoft были также проблемы договорного права. Microsoft лицензировала технологию JVM от Sun, и часть лицензии соглашалась не выпускать нестандартные реализации Java.
Чарльз И. Грант
1
@pdr Насколько я помню, была очень точная спецификация того, что должна обеспечить реализация Java (включая несколько тысяч тестов, которые должна пройти реализация). Microsoft подала в суд, потому что у них была нестандартная реализация (возможно, для блокировки пользователей путем распространения апплетов, которые будут работать только с Internet Explorer). После того, как стратегия распространения нестандартной реализации Java потерпела неудачу, Microsoft продолжила создавать C #.
Джорджио
3
@ Джорджио - точно. Sun возражала против того, чтобы MSFT называла свой язык Java, внося значительные изменения (чтобы привязать его к платформе MSFT), по сути, они производили поддельную Java
Мартин Беккет
8

Любая попытка ограничить / контролировать / владеть языком обречена на провал. Для того, чтобы язык стал широко использоваться, люди должны чувствовать, что а) что он решает проблему лучше, чем какой-либо существующий, устоявшийся язык, и б) им удобно, что они внезапно окажутся не на том конце лицензии / закона костюм. Если они думают, что это даже возможно, они пойдут в другое место.

Я предлагаю абсолютную Трагедию Java в исполнении Ларри Эллисона (AKA Oracle) и Google. Эллисон выполнил юридическую грань мирового масштаба, которая выполнила 2 вещи:

  1. Он показал миру, что подаст в суд на любого, с кем, как он думал, сможет получить деньги, и
  2. Он гарантировал, что будущие разработки, которые еще не были абсолютно привязаны к Java, выберут что-либо, кроме Java.

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

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

Питер Роуэлл
источник
1
+1 за ясность. Вы попали в гвоздь со своим вторым пунктом о Java. Это было основным фактором при принятии решения о том, продолжать ли использовать Java или создать аналогичный язык самостоятельно. Однако я не ожидаю, что люди будут использовать его, как я уже сказал, для личных и образовательных целей. Но я бы хотел оставить свои варианты открытыми.
Jcora
1
Обновление: в мае 2014 года федеральный окружной суд отменил это решение и заявил, что API могут быть защищены авторским правом. eff.org/deeplinks/2014/05/…
никто не
Но это не было реальным смыслом моего поста. После полного краха мощной игры Oracle с Java никто из здравомыслящих и не знающих истории, сознательно положит такую ​​петлю на шею своей компании или проекта. Во всяком случае, отмена Апелляционным судом только придает еще больший вес аргументу об использовании только инструментов и языков OSS. Удивительно и глубоко иронично, что такая ** дыра, как у Ларри Эллисона, должна быть тем человеком, который сможет донести истинную ценность программного обеспечения Libre / Free даже до самого трудолюбивого капиталиста или делового человека.
Питер Роуэлл
2

Вы можете написать грамматику для своего языка и отстаивать свои авторские права на это. Конечно, это не защитит вас от того, что кто-то пишет другую грамматику, описывающую тот же язык.

Мой самый большой вопрос был бы "почему ты хочешь". В конце концов, вы, вероятно, хотите, чтобы люди переняли ваш язык. Если кто-то еще утверждал, что создал его, то достаточно иметь хорошее присутствие в Интернете, чтобы вы могли назвать их лжецом.

Как уже отмечали другие, если ваша главная цель - не дать другим украсть nameваш язык, товарный знак будет более полезным.

Доминик Кронин
источник
Написание грамматики для языка все равно не защитит его. Единственное, что он может сделать, - это остановить кого-то, кто переписывает грамматику таким же образом, как вы. Я мог бы написать грамматику для английского языка, которая бы тогда не помешала вам писать на SE.
Гэвин Коутс
Гэвин - я написал .... «это не защитит вас от того, что кто-то пишет другую грамматику, описывающую тот же язык». Я надеюсь, это ясно дает понять, что такое авторское право не будет защищать язык, а только способ описания языка. Тем не менее - это может заставить человека чувствовать себя лучше.
Доминик Кронин
1

Со временем на этот вопрос были разные ответы:

В 2012 году на аналогичный вопрос был дан ответ «вы не можете» в случае Oracle против Google в отношении использования Java API в Android, и аналогичный ответ был дан в случае реализации WPL языка программирования SAS в их собственном продукте. Обоснование этого ответа состояло в том, что совместимость между различными реализациями языка требует копирования синтаксиса языка программирования, и, таким образом, это должно быть разрешено в соответствии с правилами «добросовестного использования».

В 2014 году, однако, апелляционный суд США решил, что справедливый юридический ответ действительно был «да, вы можете», на том основании, что обеспечить возможность взаимодействия (или нет), и в соответствии с какими правилами, по собственному усмотрению, исходное авторское право держатель. В этой самой последней интерпретации, если кто-то не хочет, чтобы вы были совместимы с его языком программирования, API или другой спецификацией интерфейса, он имеет полное право остановить вас.

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

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

(убрал остальную часть аргумента, см. историю)

Отказ от ответственности: IANAL

miraculixx
источник
Энндддд ... это решение было просто отменено. Оракул аплодировал, и на этот раз судьи не были программистами.
Jmoreno
@jmoreno спасибо за указание на это. обновил ответ, чтобы отразить это новое развитие ...
miraculixx
Сразу хочу сказать, не юрист или психиатр, а просто программист, но решение 2014 года кажется мне безумным. Это куча команд!
Jmoreno