Я решил создать свой собственный язык программирования, в основном просто для удовольствия. Однако меня заинтересовал юридический аспект всего этого.
Вы можете, например, лицензировать определенные программы на определенных условиях. Тем не менее, как вы идете о лицензировании языка ? Кроме того, я имею в виду не только реализацию языка (компилятор и ВМ), но и сам стандарт. Есть ли что-то еще в языке программирования, который мне не хватает?
Чего бы я хотел добиться с помощью такого лицензирования:
- Сделать это полностью FOSS (может ли язык даже быть FOSS, или это реализация, которая может быть FOSS?)
- Утвердить себя в качестве автора (можете ли вы по закону быть автором языка? Или, опять же, просто реализацией?)
- Сделайте так, чтобы любой, кто внедряет мой язык, должен был приписывать мне (в стиле MIT. Обратите внимание, что у меня нет никаких надежд на то, что кто-то на самом деле когда-либо будет это делать, я только учусь)
Я думаю, что решением было бы отдельно лицензировать виртуальную машину и компилятор для моего языка как «официальную реализацию», а затем лицензировать проектный документ как сам язык .
Что именно мне здесь не хватает?
Ответы:
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)
источник
Любая попытка ограничить / контролировать / владеть языком обречена на провал. Для того, чтобы язык стал широко использоваться, люди должны чувствовать, что а) что он решает проблему лучше, чем какой-либо существующий, устоявшийся язык, и б) им удобно, что они внезапно окажутся не на том конце лицензии / закона костюм. Если они думают, что это даже возможно, они пойдут в другое место.
Я предлагаю абсолютную Трагедию Java в исполнении Ларри Эллисона (AKA Oracle) и Google. Эллисон выполнил юридическую грань мирового масштаба, которая выполнила 2 вещи:
Google не просто выиграл этот судебный процесс, он потратил жалкие претензии Oracle на патенты и авторские права. После этого никто из моих знакомых не поверит в какую-либо «технологию с открытым исходным кодом», на которой есть отпечатки Oracle (например, MySQL).
Если вы хотите, вы можете пропустить столетия разработчика за Java и сразу перейти к игнорированию ... просто попросите всех разработчиков подписать контракт, прежде чем они смогут использовать ваш новый язык.
источник
Вы можете написать грамматику для своего языка и отстаивать свои авторские права на это. Конечно, это не защитит вас от того, что кто-то пишет другую грамматику, описывающую тот же язык.
Мой самый большой вопрос был бы "почему ты хочешь". В конце концов, вы, вероятно, хотите, чтобы люди переняли ваш язык. Если кто-то еще утверждал, что создал его, то достаточно иметь хорошее присутствие в Интернете, чтобы вы могли назвать их лжецом.
Как уже отмечали другие, если ваша главная цель - не дать другим украсть
name
ваш язык, товарный знак будет более полезным.источник
Со временем на этот вопрос были разные ответы:
В 2012 году на аналогичный вопрос был дан ответ «вы не можете» в случае Oracle против Google в отношении использования Java API в Android, и аналогичный ответ был дан в случае реализации WPL языка программирования SAS в их собственном продукте. Обоснование этого ответа состояло в том, что совместимость между различными реализациями языка требует копирования синтаксиса языка программирования, и, таким образом, это должно быть разрешено в соответствии с правилами «добросовестного использования».
В 2014 году, однако, апелляционный суд США решил, что справедливый юридический ответ действительно был «да, вы можете», на том основании, что обеспечить возможность взаимодействия (или нет), и в соответствии с какими правилами, по собственному усмотрению, исходное авторское право держатель. В этой самой последней интерпретации, если кто-то не хочет, чтобы вы были совместимы с его языком программирования, API или другой спецификацией интерфейса, он имеет полное право остановить вас.
В двух словах, по состоянию на 2014 год, вероятно, справедливо предположить: да, язык программирования (его синтаксис, структура и последовательность языковых конструкций) может быть защищен авторским правом
Обратите внимание, что закон об авторском праве подлежит местному толкованию и что правила в вашей стране могут отличаться. В случае сомнений проконсультируйтесь с юристом ...
(убрал остальную часть аргумента, см. историю)
Отказ от ответственности: IANAL
источник