CC0 ライセンスのソースコードを GitHub にあげるまで

[MITライセンスのソースコードをGithubにあげるまで](http://qiita.com/bpyamasinn/items/ac9ceda558e03378a658) という記事が何となく面白かったので、真似っこして CC0 の場合で紹介してみます。もちろんネタです。

## CC0 とは

- [About CC0 — “No Rights Reserved” - Creative Commons](https://creativecommons.org/about/cc0)
- [CC0について ― “いかなる権利も保有しない” « Science Commons – サイエンス・コモンズ翻訳プロジェクト](http://sciencecommons.jp/cc0/about)
- [Creative Commons — CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/deed)

CC0 とは、著作権に関するあらゆる権利を放棄（または不行使）して Public Domain と同等の条件で著作物を提供するものです。「あらゆる権利」には著作者人格権や著作隣接権（およびその人格権）も含みます（まぁプログラム・コードに隣接権はありませんが。でも、例えばゲームなど、プログラム内に音声や映像データを含む場合は要注意です。これは他のライセンスでも同じですね）。

ただし、特許権や商標権など他の知的財産権については対象外になります。 [Creative Commons](https://creativecommons.org/) が提供するライセンス・ツールの中で GNU GPL 製品に組み込める（つまり互換性がある）のは、 CC License 4.0 International の by と by-sa そして CC0 です。

- [GPLと両立する自由ソフトウェア・ライセンス](http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses)
- [CC BY-SA 4.0 now one-way compatible with GPLv3 — しっぽのさきっちょ | text.Baldanders.info](http://text.baldanders.info/remark/2015/cc-by-sa-4-now-one-way-compatible-with-gplv3/)

## やること

順不同

-  [CC0] のライセンス文を取得する
-  README.md に記載する
- ソースコードの冒頭に [CC0] を表記する
- [GitHub] に上げる

## CC0 のライセンス文を取得する

CC0 は、他の Creative Commons License と同じく「[コモンズ証（Commons Deed）](https://creativecommons.org/publicdomain/zero/1.0/deed)」へのリンクを指示すれば有効になりますが、他のライセンスに合わせて LICENSE ファイルを置いても構いません。

GitHub の場合はリポジトリ作成時に “Add a license” で “Creative Commons Zero v1.0 Universal” を選択すれば LICENSE ファイルを自動生成してくれます。また、既にリポジトリを作成済みの場合は、リポジトリのトップページで「＋」のリンクをクリックしてファイルの新規作成画面に遷移し、ファイル名を `LICENSE` と入力すれば “Choose a license” が表示され、ライセンスを選ぶことができます。

内容は [CC0 の法的条項（Legal Code）](https://creativecommons.org/publicdomain/zero/1.0/legalcode)と同じです。ちなみに[日本語版](https://creativecommons.org/publicdomain/zero/1.0/legalcode.ja)もあります。

## README.md に記載する

`README.md` に記載する場合は[コモンズ証（Commons Deed）](https://creativecommons.org/publicdomain/zero/1.0/deed)へのリンクがあれば十分です。たとえば以下の節を追記します。

```markdown:README.md
## License

These codes are licensed under CC0.

[![CC0](http://i.creativecommons.org/p/zero/1.0/88x31.png "CC0")](http://creativecommons.org/publicdomain/zero/1.0/deed.ja)
```

Public Domain と同等なので、権利の帰属先も作成年も不要です。ただし問い合わせ先として licensor を明記するのはあると思います。

## ソースコードの冒頭に CC0 を表記する

ソースコードに CC0 を表記する場合も同様です。たとえば [`github.com/spiegel-im-spiegel/gitioapi/gitioapi.go`](https://github.com/spiegel-im-spiegel/gitioapi/blob/master/gitioapi.go) の場合はこんな感じに書いています。

```go:gitioapi.go
/**
 * API for Git.io
 *
 * These codes are licensed under CC0.
 * http://creativecommons.org/publicdomain/zero/1.0/deed.ja
 */

//Git.io API Package.
package gitioapi
```

`package.json` にライセンスを記述する場合は `CC0-1.0` とします。例えばこんな感じ。

```json:package.json
{
  "name": "cvss3",
  "version": "0.0.4",
  "description": "CVSS (Common Vulnerability Scoring System) Version 3",
  "main": "index.js",
  "directories": {
    "test": "test"
  },
  "devDependencies": {
    "mocha": "*",
    "should": "*"
  },
  "scripts": {
    "test": "mocha --reporter list"
  },
  "engines": {
    "node": "0.12.x"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/spiegel-im-spiegel/cvss3.git"
  },
  "keywords": [
    "cvss",
    "cvss3"
  ],
  "author": "spiegel",
  "license": "CC0-1.0",
  "bugs": {
    "url": "https://github.com/spiegel-im-spiegel/cvss3/issues"
  },
  "homepage": "https://github.com/spiegel-im-spiegel/cvss3#readme"
}
```

`package.json` で記述可能なライセンスのリストについては “[SPDX License List](http://spdx.org/licenses/)” が参考になります。

## GitHub に上げる

あとは `README.md` や `LICENSE` やその他のファイルを GitHub に push すれば OK。

## 参考

- [クリエイティブ・コモンズ・ライセンスについて — Baldanders.info](http://www.baldanders.info/spiegel/archive/cc-license/)
- [改訂3版： CC Licenses について — text.Baldanders.info](http://text.baldanders.info/cc-licenses/)


[CC0]: https://creativecommons.org/publicdomain/zero/1.0/deed
[GitHub]: https://github.com/ "GitHub"