「GitHub」の新サービスはソフトウェア開発にとっての福音か?

スポンサーの意味、ソフトウェアの開発とメンテナンスが止まる理由

 さて次に、開発プロジェクトや開発者を支援することについて考えてみよう。IT開発者以外には分かり難いかもしれないが、ソフトウェアは開発して終了ではない。継続的な改良やメンテナンスが必要になる。  たとえば、Windows向けのソフトウェアを考えてみる。OSがバージョンアップして、ソフトウェア中で利用していたOSの機能がなくなれば、プログラムを書き直さないといけない。ネットワーク機能があるなら、セキュリティ的な問題が発見されるたびに修正が必要だ。  セキュリティについては「最初に完璧なプログラムを書いておけばよい」とはならない。新しい攻撃手法が日々開発されている。それらに対処しなければならない。  UIの変更も大切だ。開発したタイミングではモダンなUIでも、数年経てば古めかしい外見になる。そうなると、ユーザーがそのソフトウェアを選ばなくなる。誰も使わない状態にならないように、新しい見た目にする。  ソフトウェアの部品になる「ライブラリ」と呼ばれる種類のプログラムも、継続的な維持が大切だ。  セキュリティ的な問題に対処するのももちろんだが、流行の開発環境に対応することも求められる。開発環境は、数年ごとに流行が変わる。新しい主流の開発環境から簡単に利用できない場合、利用者が激減する。そのため、主流の開発環境で使えるように対応しなければならない。  こうしたメンテナンスの大変さは、私自身、『めもりーくりーなー』をはじめとしてオンラインソフトを100本近く公開していたのでよく分かる。

継続的な開発モチベーション意地の最適解か

 作っているのは機械ではなく人間である。継続的な開発には、人間のモチベーションが大切になる。誰にも使われない、誰にも感謝されないまま、メンテナンスするのは難しい。  ソフトウェアの更新には、背後で膨大な時間がかかる。開発者に本業があれば、プライベートを割いて時間を捻出しなければならない。会社の社員として開発に参加しているならば、その活動が社会的に重要だということを会社に納得させなければならない。精神的な支援が得られないと、ソフトウェアの開発やメンテナンスは容易に止まる。  ソフトウェアの維持管理のために、どうやって資金(=時間)を確保するかは、私自身も常々考えてきた。そして、これまで様々な方法を検討してきた。  個人的には、無料で提供しながら、何らかの方法で対価を得たい。無料の方が、多くのユーザー数を確保でき、精神的な満足を得られるからだ。有料にすればユーザー数が絞られ、普及に大きな労力が必要になる。  支援者として資金の援助をするのは、直接的で分かりやすい感謝の表明である。それも、単発ではなく継続的な資金の提供は、開発者の精神に安定をもたらし、モチベーションの維持に繋がる。  IT開発者たちは、無料で多くのものを公開している。それらを互いに利用し合うことで、より豊かな社会を目指すという文化を持っている。「GitHub」、そしてその背後にあるマイクロソフトという巨人の新しい試みが、その文化をより実りあるものにしてくれればと思う。 ◆シリーズ連載:ゲーム開発者が見たギークニュース <文/柳井政和> やない まさかず。クロノス・クラウン合同会社の代表社員。ゲームやアプリの開発、プログラミング系技術書や記事、マンガの執筆をおこなう。2001年オンラインソフト大賞に入賞した『めもりーくりーなー』は、累計500万ダウンロード以上。2016年、第23回松本清張賞応募作『バックドア』が最終候補となり、改題した『裏切りのプログラム ハッカー探偵 鹿敷堂桂馬』にて文藝春秋から小説家デビュー。近著は新潮社『レトロゲームファクトリー』。
やない まさかず。クロノス・クラウン合同会社の代表社員。ゲームやアプリの開発、プログラミング系技術書や記事、マンガの執筆をおこなう。2001年オンラインソフト大賞に入賞した『めもりーくりーなー』は、累計500万ダウンロード以上。2016年、第23回松本清張賞応募作『バックドア』が最終候補となり、改題した『裏切りのプログラム ハッカー探偵 鹿敷堂桂馬』にて文藝春秋から小説家デビュー。近著は新潮社『レトロゲームファクトリー』。2019年12月に Nintendo Switch で、個人で開発した『Little Bit War(リトルビットウォー)』を出した。2021年2月には、SBクリエイティブから『JavaScript[完全]入門』、4月にはエムディエヌコーポレーションから『プロフェッショナルWebプログラミング JavaScript』が出版された。
1
2
3