少し前にGithubから「クーポン送ったけどあなた使ってないよね。よかったらなんでか教えて」という内容の調査メールが来ていた。メールボックスをひっくり返してもそのようなメールが出てこなかったので、調査に回答しつつサポートに「もう一回送ってもらえんかー」と伝えておいた。そのあとで冷静に考えてみてスパムかとか疑ってみたが、公開していないアドレスだし調査メールも個人情報を入力する欄はなかったので本物かーと考え直したりしていた。
ついさっきGithubのサポートから「あなたのクーポンコードはこれ」というメールが来た。どうやら本物だったらしい。おかげで月額サービスであるプライベートリポジトリを5つまで、永年無料で使えるようになった。

ありがたい恩恵を受けたので個人的にGithubをどういう目的でどう使っているかを書いておく。
個人的にGithubをどういう目的で使っているかというと、バージョン管理、コードやそれを含むプロジェクトのバックアップ、あとはオープンソースとしてソフトウェアを公開してフィードバックを受けつつ改良するため、という三点。ちなみにGithubはWindows向けにもデスクトップアプリを用意している。
バージョン管理について。ぼくはいくつか自分のためだけに作ったアプリケーションを使っている。とりあえず完成はしているのでそれなりの動作はしてくれるが、たまに改良とか機能追加を考え付くのでコードの書き換えなどが必要になってくる。書き換えをしていると問題が出てきてコードを書き換え前の状態に戻したいとかってなるのでバージョン管理が欲しくなってくる。そういうわけでGithubを使う。
コミットという名称で復元ポイントを作成して進めていくという感じだろうか。Githubアプリを開けばプロジェクト下にあるファイルの変更を自動で調べてくれる。調べてくれた変更点を復元ポイントとしてコミットしたければ、コミットに名称と概要をわかりやすいように与えてポチッとボタンをクリックするだけである。

バックアップについて。Githubでは個々のプロジェクトをパブリックリポジトリとして公開設定にすることにより、Webでホスティングすることができる。不慮のHDDやSSDの事故が起きたとしてもバックアップは手元ではなくWeb上にあるので消失はしない。そんなわけでバックアップ手段の一つとして。ただ公開設定にしておくと無料、非公開なら有料になるというのは留意。ぼくは隠さねばならないようなコードは書いてないので公開設定で無料で使っている。重要な情報を書いたファイルは絶対にコミットしないようにもしている。
オープンソースのソフトウェアとしての公開について。プログラミングを趣味でやっているとそのうち、困ってる人の手助けになるようなソフトウェアとしてコードを書いたり、自分の名前を売るためにコードを書いたりしたくなると思う。そうすると書いたコードを公開する場が欲しくなる。Githubはまさしくそういう場だろう。自分で書いたコードに権利を主張するライセンス文を追加して公開しておく。そのコードが有用なら誰かが使うし、それでバグが見つかれば自分のところに報告してくれるだろう。
JPEGのメタ情報が記録されているExifをPythonでいじるライブラリが欲しくて自作した。せっかくだからとGithubで公開したところ、バグを報告してくれたり、ドキュメントの不備を訂正してくれる人が出てきた。ライブラリを有名なWebサイトで運営しているサービスで使ってくれる人も現れた。自分以外の人にも使ってもらえれば、バグなどの心配も減っていくだろう。
https://github.com/hMatoba/Piexif というわけで自分のためにでもなんでもコードを書いている人は、目的が合えばGithubを使ってみるといいと思う。もし公開が嫌ならば、ローカルのみで使って公開設定にしなければ公開せずにバージョン管理は行える。