2013-11-10

C++参考書の販売:C++11の文法と機能

完成したC++11参考書:C++11の文法と機能の販売をGumroad.comで開始した。

Gumroadで購入:C++11参考書:C++11の文法と機能

直接のGumroadへのURLは:https://gum.co/IwMm

内容はC++11のコア言語の文法と機能を、規格に忠実に解説した自由な参考書だ。すでにGitHubで公開しているものと同一の内容だ。

GitHub: EzoeRyou/cpp-book

GitHubからzipでダウンロード

GitHub Pagesでの閲覧:C++11の文法と機能

本の虫: C++11参考書の公開:C++11の文法と機能

価格は、最低5000円以上の任意の額で購入できる。値段に関しては色々とあるだろうと思うが、筆者は、これでも安すぎると思っている。電子書籍に対価を支払う文化を根付かせなければならない。あまりに安すぎると意味がない。あまりに高すぎると払える人間が少なくなってしまう。対価を支払わずとも同一の複製物が得られる以上、ある程度高くても問題はない。

そのため、価格を最低5000円に設定した。自由な参考書の必要性に賛同する者は、より多く支払うこともできる。

購入するとダウンロードできるファイルは、通常のZIPフォーマットだ。参考書のフォーマットはXHTMLだ。このXHTMLは手で書いた単純なものであり、移植性が高く、また必要に応じてフォーマットの変換も容易だ。

本書には、ライセンスはGNU Free Documentation License(GFDL)という、コピーレフトなライセンスを採用している。そのため、GFDLの要件を守れば、改変や再配布の許諾を得られる。

本書は、C++11がまだC++0xと呼ばれていた2010年から、5年の歳月をかけて書いたものであり、購入して作者に対価を支払えば、筆者の生活の助けにもなり、筆者の次の参考書執筆の資金にもなる。

今回、販売にGumroadを選んだ理由は、最も単純であるという点からだ。まずUIが簡単だ。私の参考書はGFDLであるし、またファイルサイズも圧縮して数百KB程度なので、複雑な専用のダウンロードソフトウェアや、閲覧ソフトウェアは必要ないし、DRMなどもってのほかだ。単に金を払ってファイルをダウンロードできるプラットフォームがあればいい。

残念ながら、Gumroadでの購入はクレジットカードを必要とする。プライバシー上の懸念で、クレジットカードを持たない者は多い。それはもっともな懸念だ。本書のライセンスはGFDLであり、購入しなくても複製物を取得できるので、さしあたっては情報へのアクセスを妨げることはない。とはいえ、対価の支払いというのは、重要なことだ。

日本には、日本語で書かれたC++の規格準拠の参考書が必要である。少なくとも、現状の日本人のプログラマーの大半が英語を理解しない以上、日本語の参考書は必要である。筆者はプログラミングの参考書は自由でなければならないと信ずる。執筆には金が必要である。どのような形であれ、執筆活動を支える資金が存在しなければならない。思うに、執筆のための資金を得る方法には、3つある。

  1. 別の方法で資金を得て、執筆する

    これは今回、筆者がとった方法である。筆者は執筆前に働いて得た貯金で執筆した。

    しかしこれは、長期的には続かない。執筆自体が金を生まないからだ。

  2. スポンサーを得る

    C++03までの標準規格は、C++標準化委員会の日本支部のボランティアにより翻訳され、JIS規格として発行されている。これは、当時、国内にC++の規格の日本語訳を必要とする企業が大勢いて、そのようなスポンサーが自ら金を出して雇った代表を標準化委員会に送り込んでいたので、実現した。

    残念ながら、今の日本では、C++に対するスポンサーが減りつつある。当時のスポンサーも、今ではC++11の標準規格の日本語訳を出すほど積極的な支援をしていない。

  3. 参考書を売る

    これは最もわかりやすい方法だ。既存の紙書籍が商業販売されていることを考えると、最も身近な方法であるともいえる。

    ただし、紙書籍出版が面倒だ。組版、印刷、全国に流通、販売。どれをとってもとてつもないコストがかかる。そもそも、紙書籍の価値は年々減じつつある。紙書籍を数万冊売ったところで、何年間もの長期間の執筆の正当な対価が得られない。日本のプログラマー人口を推測するに、数万冊売れればよくやったほうで、10万冊売れれば御の字であり、100万冊売れれば全プログラマーに共通の宗教の存在を疑わなければならない。

    では、電子書籍はどうか。電子書籍や、電子データを販売するためのプラットフォームは多数ある。問題は、電子書籍に対価を払うという土壌が存在していないことだ。特に、自由な電子媒体に対価を支払う文化に乏しい。

不自由なプログラムの流通プラットフォームであるSteamや、AppleやMicrosoftのApp Storeの興隆を見、また彼らが情報の共有は悪であるとプロパガンダをタレ流していて、実際に不自由な電子媒体が売れていることを考えれば、電子媒体に対価を支払うという考え自体は、間違ってはいないように思う。問題は、不当な制限だ。自由な電子媒体は利用者に正当な自由を与えるので、不自由な電子媒体よりも価値が高い。その価値がまだ一般大衆に認識されていないだけだ。

自由な電子媒体に対価を支払う文化も、啓蒙次第で根付くのではないかと思う。

また、Gumroadでは、subscribe(購読)という課金方式がある。これは月々いくらを継続的に支払うサービスである。これを使って、例えば毎週、C++に関するちょっとした小さな記事(数時間から数日で書ける内容)を書いて配信すれば、購読者が出るだろうか。

今回、環境の変化に伴い、自分も大きく変化しなければならなくなった。GitHubでC++11参考書を公開したのもそのためだ。

当初は、貢献が得られるとは思わず、公開してそのまま消え去ろうかとも思っていたが、誤字脱字を修正するpull requestの多さに、にわかにやる気をだし、短時間に集中してまだ未執筆だった欠を埋め、C++11参考書を、一通り完成させた。本来ならば、もっと時間をかけてじっくりと書きたかったが、とにかく完成した。

私は当初、自由なプログラムなどが対価を得る方法としては、完成させるための作業に対価が支払われるべきだと思っていた。対価が支払われなければ、作業が行われず、当然完成もない。そのため、完成品が欲しければ、対価を支払わなければならない。ところが、どうも世間の認識は違うらしい。どうやら、世の中は、現物に対して対価を支払うものらしい。

現物、実際に手にとって動かせるもの、閲覧できるものは、たとえ現物の複製物が無料で手に入ったとしても、対価を支払いたいと考えるものらしい。彼らが単に無責任で言っているのかどうかの見極めも兼ねて、C++11の参考書を販売すべく、妥協点もあるものの、金をとっても恥ずかしくない程度には完成させた。

実に、この短期間で多くの変化があった。たとえば、私はgitを使うようになった。もちろん、やろうと思えば数時間学べばそれなりに使えるソフトウェアなのだが、私は必要に迫られなければ行動を起こせない怠惰な人間なので、どうしてもgitは、その価値を知りながらも、今の今まで使ってこなかった。この数年は、ただひたすらC++の参考書をだらだらと執筆するだけの日々だったので、この急激な変化には驚いている。

そして、当初、11月の半ばに失われるかと思ったコンピューター環境とインターネット接続も、どうやらC++11参考書の現物を公開したことにより、色々と支援があって、維持できる見込みが出てきた。まだ実際にその環境を使い始めてみなければわからないが、希望がある。

ああ、もっと早期に書き換えのC++11の参考書を、もっと広く公開しておくだったと後悔している。そうすれば、このような劇的な変化を体験せずに、確実に向上できたであろうに。

しかし、この劇的な変化は、怠惰な私には必要だったように思う。

劇的な向上に劇的な変化が必要なものであるとすれば、やはり変化し続けなければならないだろう。私はさらなる変化を計画している。

まず、勉強会を主催を考えている。まだ適切な場所を探している段階で、決まり次第、勉強会の告知と管理のための既存のプラットフォームを使って告知する予定だが、いまのところ、京都市内で、2013年12月21日に開くことを考えている。

また、月々少額の購読記事を書くことも考えている。

6 comments:

  1. 世の中便利になりまして、クレジットカード型プリペードカードなんてものがあるんですよ。
    自分は借金が大嫌いなのでクレジットカードも奇異していたんですけど、Vプリカで変わりました。
    これがあればVISAの審査が通ります。使えないところもあるようですが。

    ご参考までに。
    ttp://vpc.lifecard.co.jp/

    ReplyDelete
  2. なるほど、私も借金が嫌いなのですが、予め支払った額だけ使えるクレジットカードとして機能するものであれば、使いたいですね。

    本人確認もらいないということで、プライバシー上の懸念も払拭できるかも。

    ReplyDelete
  3. ああ、個人情報は必要になるのか・・・うーん。

    ReplyDelete
  4. プライバシーや自由を考慮するなら特定の政府に支配されていない通貨Bitcoinを使うという手もありますよ。もっとも、インターネットを介する以上、匿名性なんてのは達成不能なのですが。

    ReplyDelete
  5. C++のマニアックなネタを扱う有料メルマガ、月4回配信で500円とかならいけそうな気がしますよ。

    ReplyDelete
  6. vプリカ1年ほどつかってますが、IPアドレスからわかる程度の
    おおまかな住所と市外局番以外の個人情報はでたらめでつかってます。
    正確な情報でないと保障はきかなくなるそうですが
    今のところ決済トラブルはおきていません。

    vプリカをpaypalと緋もづけることも可能なので
    paypal経由で使うことが多いです。

    正確な個人情報を使うならvisaデビットカード作るほうが便利ですね。

    国内の不自由コンテンツを買う場合はビットキャッシュでもいい気がします。

    コンビニの棚にAmazonギフト券とかたまに見ますし、決済方法が多様化してきてますね。

    ReplyDelete

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.