「ソースコード」の版間の差分

削除された内容 追加された内容
21行目:
ソースコードは[[ソフトウェア]]の開発段階を経て機械語を生成した後でもそのソフトウェアの保守に不可欠であり、類似ソフトウェアの新たな開発や既存ソフトウェアの改善に有用であり、また、ソフトウェアに制御される[[ハードウェア]]の内容を知る大きな手がかりともなるため、ソースコードを独占あるいは逆に公開することは大きな意味を持つ{{efn|ただし、動的な[[ウェブページ]]の制御に使われるプログラミング言語である[[JavaScript]]のソースコードは、[[ウェブサイト]]作成に使われる[[HyperText Markup Language|HTML]]や[[Cascading Style Sheets|CSS]]同様、本来[[ウェブブラウザ]]でいったんローカルにダウンロードして実行するものであるため、閲覧可能なウェブページのものであれば誰でも見ることが可能である。}}。
 
一般に人間には機械語は扱いがたく、20世紀末から始まった[[パーソナルコンピュータ|PC]]で使用されている大規模な[[オペレーティングシステム|OS]]や、アプリケーション・プログラムを機械語で書くことはほとんど不可能である。そのため、通常は人間にとって理解のしやすいプログラミング言語によって書かれたソースコードとしてプログラムを作成し、その後にコンパイラなどを用いてまとめて機械語に変換する。変換された機械語プログラム(バイナリ)は延々と続く[[16進数]]などで表示できるが人間には理解が極めて困難である。従って、既存のプログラム上の誤りである[[バグ]]を修正したり、改良を加えたりするためには元のソースコードがほぼ必須である。バイナリパッチは、NOPで埋めるというようなごく単純な程度であれば容易だが、コード片の移動をともなうような大きな変更は不可能ではないにしてもかなり難しい
 
知的財産権を収益の根幹とするソフトウェア産業では、ソースコードを企業秘密として保持し、使用者には機械語プログラムの複製の使用権を販売することで利益を得ていることが多い。このような考え方の下に開発されているソフトウェアは[[プロプライエタリ・ソフトウェア]]と呼ばれる。これらの企業にとってはソースコードは独占すべき重要な資産である。もしソースコードが流出すれば、自社の開発成果が競合他社の製品に利用される恐れがある。
 
これに対し、ソースコードを積極的に公開しようとする考え方もある。
{{main|オープンソース}}<!--本記事では以下のようにオープンソースについて詳しく記述する必要はないのでは?--><!--だったら以上のように非公開についてもあれこれ書く必要もない-->
 
* [[アメリカ合衆国]]の政府資金によるソフトウェア開発では、開発成果は納税者である国民に還元すべきであるとの考えから、ソースコードを一般に公開する場合も多い。