web-dev-qa-db-ja.com

プログラミング言語を構成するものと、プログラミング言語の著作権をどのように保護するのですか?

私は自分自身のプログラミング言語を作成することに決めました。しかし、私はそのすべての法的側面に興味を持ちました。

たとえば、特定のプログラムを特定の条件の下でライセンスすることができます。ただし、languageのライセンスを取得するにはどうすればよいですか?また、言語(コンパイラとVM)の実装だけでなく、標準自体も意味します。不足しているプログラミング言語に他に何かありますか?

このようなライセンスによって達成したいこと:

  1. それを完全にFOSSにします(言語はFOSSでもいいですか、それともFOSSになる実装ですか?)
  2. 作者としての地位を確立します(合法的に言語の作者になれますか?あるいは、実装だけですか?)
  3. 私の言語を実装する人は誰でも私を帰属させる必要があるようにしてください(MITスタイル。ただし、実際にそれを行う人はいないと思います。ただ学んでいるだけです。)

解決策は、VMと私の言語のコンパイラを「公式実装」として個別にライセンスし、次に設計ドキュメントをライセンスすることです言語自体として

ここで正確に何が欠けていますか?

12
jcora

免責事項.IANAL();

プログラミング言語を著作権で保護することは、話し言葉を著作権で保護することと同じです。言語の特定の実装のライセンスを取得し、BorlandがDelphiで長年行ってきた方法でコンパイラを販売することもできます。

今日、多くの言語にはBDFL(Benevolent Dictator for Life)があり、言語に何が入り、何が入りませんかを決定します。 Python、Ruby、Perlはすべてその例です。

他の言語は、いくつかの標準ボードのうちの1つ(通常はANSI、ECMA、またはISO)によって標準を公式に設計しています。例には、C、C++、Javascriptが含まれます。

一部の言語は、企業間の政治的関係により、あいまいな領域に分類されます。 Javaは、Microsoftが一部の標準ボードに参加しているための例です。

一部の言語は、通常はBDFLから標準化された言語に移行します。Cはその良い例です。

言語の仕様に応じて、一部のコンパイラ作成者はさまざまな方法でさまざまな機能を実装したり(たとえば、CPythonとPyPy)、機能を追加したりします(Microsoft C++ vs GNU C++またはMySQL vs PostGreSQL vs SQL Server) )

15
World Engineer

言語を制限/制御/所有しようとする試みは失敗する運命にあります。言語が広く使用されるようにするには、人々はa)問題を解決する既存の確立された言語よりも良いと感じなければならず、b)彼らは彼らが突然ライセンス/訴訟の間違った目的に直面することはないことに満足しています。それが可能だと彼らが思うなら、彼らは他のところへ行くでしょう。

Larry Ellison(AKA Oracle)とGoogleが実行するJavaの絶対的な悲劇を提供します。エリソンはグローバル規模の法的- faceplant を実行し、2つのことを達成しました:

  1. 彼は彼がお金を稼ぐことができると思った人を訴えると世界に示しました、そして
  2. 彼は絶対にすでに結び付けられていない将来の開発がJavaに関連付けられていることを保証しますJava以外のもの.

グーグルはこの訴訟に勝っただけではなく、彼らは 撤去された 特許と著作権に関するOracleの哀れな主張。この後、私が知っている誰もが、Oracleのフィンガープリントが存在する「オープンソーステクノロジー」(= MySQLを考えている)に信念を絶対に入れません

必要に応じて、Javaの後ろにある開発者向けの何世紀もスキップして、無視されるように直接進むことができます...新しい言語を使用する前に、すべての開発者に契約書に署名してもらいます。

8
Peter Rowell

あなたは自分の言語の文法を書き、それについてあなたの著作権を主張することができます。もちろん、同じ言語を記述する別の文法を書いている人からあなたを守ることはできません。

私の最大の質問は、「なぜあなたがしたいのか」です。結局のところ、あなたはおそらく人々にあなたの言語を採用してもらいたいのです。他の誰かがそれを作成したと主張した場合、単に良いWebプレゼンスを持っているだけで、彼らを嘘つきと呼ぶことができるでしょう。

他の人が述べたように、あなたの主な目標が他の人があなたの言語のnameを盗むことを防ぐことである場合、商標はより有用でしょう。

2
Dominic Cronin

時間の経過とともに、この質問に対するさまざまな回答がありました。

2012年に、同様の質問がOracleで answered 「できません」でした。 AndroidでのJava AP​​Iの使用に関するGoogleの事例、および 同様の答え は、WPLによるSASプログラミング言語の実装で与えられました。自社製品。この回答の根拠は、言語の異なる実装間の相互運用性にはプログラミング言語の構文のコピーが必要であるため、「フェアユース」のルールの下で許可する必要があるということです。

ただし、2014年、米国の控訴裁判所 決定済み 相互運用性を提供する(または提供しない)こと、およびどの規則が元の著作権者の唯一の裁量。この最新の解釈では、誰かがあなたのプログラミング言語、API、またはその他のインターフェース仕様との互換性を望まない場合、彼らはあなたを止めるあらゆる権利を持っています。

一言で言えば、2014年の時点でおそらくそれはおそらく公正である:はい、プログラミング言語(その構文、構造、および言語構造のシーケンス)は著作権で保護されている

著作権法は地域の解釈の対象であり、お住まいの国の規則は異なる場合があることに注意してください。疑わしい場合は弁護士に相談してください...

(残りの議論を削除、歴史を参照)

免責事項:IANAL

1
miraculixx