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

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

b3nj5m1n via Pixabay

◆「GitHub」が開始した「Sponsors」サービスとは?

 ソフトウェア開発プラットフォームの「GitHub」が、「Sponsors」というサービスを発表した。気に入った開発プロジェクトや開発者を、経済的に支援するためのものだ。手数料は最初の1年は0%だそうだ。支援した額が、そのまま開発者に入る。破格のサービスだと言える(参照:TechCrunch Japan、ITmedia NEWS)。

「Sponsors」は、プロジェクトや開発者に、インターネット経由で資金を提供するということで、パトロンサービスの一種と見なすことができる。ここ数年、クリエイター向けのパトロンサービスが徐々に普及している。単発でお金を払う投げ銭や、製品の完成に投資するクラウドファンディングとは違い、継続的に資金を提供することでクリエイターの活動を支援するというものだ。

 代表的なのは、2013年に設立された「Patreon」だろう。ファンが、創作活動をするアーティストに寄付できるプラットフォームとして人気を博している(参照:Patreon - Wikipedia)。

 日本では、「Enty」「ファンティア」「pixivFANBOX」「Ci-en」当たりの名前を周辺でよく聞く。

 このように、不特定多数の個人が、特定の個人を支援するという流れが徐々に生まれつつある。多くの人と繋がることができるインターネットという世界がもたらした潮流だ。

◆「パトロンサービス」とソフトウェア開発との相性

 ただ、パトロンサービスにも難しい面がある。多くのパトロンサービスでは、定期的な報告やファンへの特別なサービスが求められる。そうしたフィードバックがなくてもよいが、「お金をもらうだけ」という状況は人情として心苦しい。その結果、よほど神経が太くない限り、多くの人が何らかのファンサービスを提供している。

 支援の額が大きければ、こうしたフィードバックに時間を割くのもありだろう。しかし、低額の場合、こうした作業をするのは本末転倒だ。支援が足枷になり、創作の時間が削られることになる。

 具体的な数字で説明してみよう。1ヶ月に合計1,000円の支援を得られた場合、そのために毎月1日かけて特典を提供するのかという話になる。数万円の支援が得られるのならばありかもしれないが、低い金額しか集まらなかった場合、0人よりも厳しい結果となる。

 その点、ソフトウェアの開発に支援をするのは相性がよい。既に製品ができており、ユーザーはその恩恵を継続的に受けている。お金をもらう方も、これまで通り、ソフトウェアの改良やメンテナンスを続ければよい。新たに何かを用意する必要はなく、開発に割ける時間を増やすことができる。支援してもらう側として、心理的なハードルが低いと言える。

◆IT開発者の多くが知っている「GitHub」とは?

 さて、ここまで何の説明もなく「GitHub」という言葉を使ってきた。しかし、そもそも多くの人が、その存在を知らないだろう。そこで「GitHub」というサービスについて解説する。

「GitHub」は、2008年4月に設立された米国企業である。2018年6月に、マイクロソフトが75億ドルで買収したことは、大きなニュースになった。

「GitHub」はIT開発者向けのプラットフォームで、開発データのバージョンを管理したり、ソースコードを共有、頒布したりすることができる。同Webサイト上では、開発者ごとのページがあり、SNSの機能も有する(参照:Wikipedia)。2019年4月の時点で、3600万人のユーザーが利用しており、私もアカウントを持っている(参照:GitHub)。

 ウェブサイトのアクセス数をランキングしていることで有名な「Alexa」では、執筆時点で世界第47位となっている(参照:Alexa)。IT開発者以外は知らないサイトだろうが、業界では中心的な存在である。

◆就職をも左右する「Github」の存在

「GitHub」を知るには、「Git」というソフトウェアを知らなければならない。「Git」は、Linuxカーネルを開発したリーナス・トーバルズが開発した。「Git」はバージョン管理システムと呼ばれる種類のソフトウェアだ。

 プログラムやそのデータなどの変更履歴を記録し、過去の状態に復元することができる。また、デバッグ用に開発を分岐したり、作成したプログラムを結合したりできる。「Git」は分散型のシステムを採用しており、ネットワーク越しに同期をすることで、複数の環境で同じデータを維持できる(参照:Wikipedia)。

「GitHub」は、この「Git」の機能を利用しつつ、開発環境の提供や、SNS機能などの複合的なサービスを提供している。「GitHub」はプログラマーの間でデファクトスタンダードの地位を確立しており、多くの人が利用している。そのため「GitHub」で公開している成果物やソースコードを企業が見て採用を決める「GitHub採用」がおこなわれていたりする。

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

 さて次に、開発プロジェクトや開発者を支援することについて考えてみよう。IT開発者以外には分かり難いかもしれないが、ソフトウェアは開発して終了ではない。継続的な改良やメンテナンスが必要になる。

 たとえば、Windows向けのソフトウェアを考えてみる。OSがバージョンアップして、ソフトウェア中で利用していたOSの機能がなくなれば、プログラムを書き直さないといけない。ネットワーク機能があるなら、セキュリティ的な問題が発見されるたびに修正が必要だ。

 セキュリティについては「最初に完璧なプログラムを書いておけばよい」とはならない。新しい攻撃手法が日々開発されている。それらに対処しなければならない。

 UIの変更も大切だ。開発したタイミングではモダンなUIでも、数年経てば古めかしい外見になる。そうなると、ユーザーがそのソフトウェアを選ばなくなる。誰も使わない状態にならないように、新しい見た目にする。

 ソフトウェアの部品になる「ライブラリ」と呼ばれる種類のプログラムも、継続的な維持が大切だ。

 セキュリティ的な問題に対処するのももちろんだが、流行の開発環境に対応することも求められる。開発環境は、数年ごとに流行が変わる。新しい主流の開発環境から簡単に利用できない場合、利用者が激減する。そのため、主流の開発環境で使えるように対応しなければならない。

 こうしたメンテナンスの大変さは、私自身、『めもりーくりーなー』をはじめとしてオンラインソフトを100本近く公開していたのでよく分かる。

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

 作っているのは機械ではなく人間である。継続的な開発には、人間のモチベーションが大切になる。誰にも使われない、誰にも感謝されないまま、メンテナンスするのは難しい。

 ソフトウェアの更新には、背後で膨大な時間がかかる。開発者に本業があれば、プライベートを割いて時間を捻出しなければならない。会社の社員として開発に参加しているならば、その活動が社会的に重要だということを会社に納得させなければならない。精神的な支援が得られないと、ソフトウェアの開発やメンテナンスは容易に止まる。

 ソフトウェアの維持管理のために、どうやって資金(=時間)を確保するかは、私自身も常々考えてきた。そして、これまで様々な方法を検討してきた。

 個人的には、無料で提供しながら、何らかの方法で対価を得たい。無料の方が、多くのユーザー数を確保でき、精神的な満足を得られるからだ。有料にすればユーザー数が絞られ、普及に大きな労力が必要になる。

 支援者として資金の援助をするのは、直接的で分かりやすい感謝の表明である。それも、単発ではなく継続的な資金の提供は、開発者の精神に安定をもたらし、モチベーションの維持に繋がる。

 IT開発者たちは、無料で多くのものを公開している。それらを互いに利用し合うことで、より豊かな社会を目指すという文化を持っている。「GitHub」、そしてその背後にあるマイクロソフトという巨人の新しい試みが、その文化をより実りあるものにしてくれればと思う。

◆シリーズ連載:ゲーム開発者が見たギークニュース

<文/柳井政和>

やない まさかず。クロノス・クラウン合同会社の代表社員。ゲームやアプリの開発、プログラミング系技術書や記事、マンガの執筆をおこなう。2001年オンラインソフト大賞に入賞した『めもりーくりーなー』は、累計500万ダウンロード以上。2016年、第23回松本清張賞応募作『バックドア』が最終候補となり、改題した『裏切りのプログラム ハッカー探偵 鹿敷堂桂馬』にて文藝春秋から小説家デビュー。近著は新潮社『レトロゲームファクトリー』。

関連記事(外部サイト)