「オープンソース」を使ってみよう
(第47回 Pandoc)

No Comments
このエントリーをはてなブックマークに追加

目次

はじめに

日本Pandocユーザ会の藤原(@sky_y)と申します。

この記事では、ドキュメント変換ツールPandocについて紹介します。

Pandocを使うことで、様々なマークアップ言語で書かれたドキュメント(Markdown, reST, LaTeX, HTMLなど)を、
別のマークアップ言語やPDF/LibreOffice Writer/Word形式を含む多くのドキュメントに変換できます。

また、PandocはHaskell製のOSSです(GitHub: jgm/pandoc)。他の言語では複雑になりがちな構文解析などがシンプルに設計・実装されており、Haskellコードリーディングの題材としても最適です。

Pandocとは

Pandocは、あるフォーマットで書かれた文書(ドキュメント)を、別のフォーマットに変換するツールです。(図1)


図1:Pandocの基本的な処理フロー

Pandocの最大の特徴は、対応書式(フォーマット)が非常に多いことです。例を挙げてみましょう。

  • 入力
    • Markdown (Pandoc, CommonMark, PHP Markdown Extra, GitHub-Flavored Markdown, MultiMarkdown)
    • Textile, reStructuredText, HTML, LaTeX, MediaWiki markup, Emacs Org mode
    • OPML, DocBook, EPUB, ODT(LibreOffice Writer), Word docx
  • 出力
    • 入力フォーマットのほとんど(ODT/Word含む)
    • Markdown
    • man page, AsciiDoc, InDesign ICML
    • プレゼンテーション: LaTeX Beamer, HTML5(reveal.jsなど)
    • PDF (wkhtmltopdfまたはLaTeXエンジンが必要)

例えば、下記の図2はPandoc公式サイトのトップに掲載されているもので、左側の丸が入力書式を、右側の丸が出力書式を表します。
このように、あらゆる書式から別の書式への文書変換を、Pandocは実現してくれます。


図2:Pandoc公式サイト・トップの図

Pandocが役に立つ場面

Pandocは多機能ながら、そのインタフェースはシンプルに設計されています。それゆえ、多様な使い方ができるツールです。

その1:
1つのドキュメント(HTMLページに相当するもの)を変換する

例えば、下記のような場面ではPandocが役に立つでしょう。

  • 大量にあるMarkdown文書を別の書式に一括変換したい
  • 大量にあるHTMLが編集しづらいので、Markdownなどに変換してコンパクトにしたい
  • Emacs org-mode、reST、LaTeXなどで書き溜めたテキストをMarkdownに一括変換したい
  • Wikipediaに加筆したいけど、記法を忘れるのでMarkdownで書きたい
  • Markdownなどでスライドショーを作りたい
  • Writer/Wordが重く、diffやGitHub管理が面倒なのでテキストファイルで下書きしたい
  • Writer/Word文書をHTMLやMarkdownに変換したい

ただし、Pandocは原則として単一ドキュメント(1ファイルのHTMLに相当)しか処理できません。例えば複数ページからなるWebサイト一式をPandoc単体で生成することはできません。そのような用途のために、次の方法が用いられます。

その2:
スクリプトやソフトウェアに組み込んだり、
外部プログラムによるフィルタを中間処理に入れる

Pandocそのものはコマンドラインツールです。つまり、シェルスクリプトの中に組み込むことができます。

また、Pandocはシェルの標準入力と標準出力に対応しています。入力または出力ファイル名を省略すると、Pandocは暗黙に標準入力・出力を使用します。これを利用し、シェル上で他のプログラムからデータをパイプで受けたり、逆にPandocから他のプログラムにデータを引き渡すことも可能です(図3)。


図3

この性質を利用したのがPandocのフィルタ(filter)という機能です。パイプによるデータ引き渡しの際は、多くのプログラミング言語で利用しやすいJSON形式を指定することができます。このJSONファイルをPythonやJavaScriptなどのスクリプト言語(バイナリでも可)に引き渡すことで、文書変換処理を比較的簡単に拡張することができます(図4)。

具体的には「外部ファイルをインポートする」フィルタなどが実現できます(参考:pandocでMarkdownを拡張しコードをインポート出来るfilterを書く | Web Scratch)。


図4

一方、Pandocを主要プログラミング言語にてライブラリとして呼ぶことも可能です。
これにより、Sphinxなどの他のサイトジェネレータやCMS、AtomやVimなどのエディタ・外部ツールなどからPandocを呼ぶことができ、高度なドキュメント生成・変換が可能になります。

例:SphinxでPandoc's Markdown(後述)を使える拡張 pashango2/sphinxcontrib-pandoc-markdown

以上のように、Pandocはドキュメントに関するあらゆる場面において、強力な「アーミーナイフ」として使用できるでしょう。

インストール:Pandoc本体

以下、ターミナル(またはコマンドプロンプト)が使えることを前提とします。

Windows, macOSであれば、インストーラによりダウンロード・インストールできます。

ダウンロードページ

  • pandoc-1.19.2.1-windows.msi (Windows)
  • pandoc-1.19.2.1-osx.pkg (macOS)

を使用してください(ファイル名中の番号が異なる場合があります)。

一方、パッケージマネージャを利用したインストールも可能です:

  • Windows(Chocolatey): cinst -y pandoc
  • macOS(Homebrew): brew install pandoc
  • Debian/Ubuntu(apt): sudo apt-get install pandoc

ただしLinuxのパッケージマネージャでインストールすると、バージョンが古い場合があります。新しいバージョンが必要な場合は、リポジトリを別の場所に指定するか、Stack(Haskellのビルドツール)などを用いてソースコードからビルドする必要があります。その場合は、Pandoc – Installing pandocの「Quick stack method」を参考にするとよいでしょう。

インストール:PDF出力のためのパッケージ

Pandoc単体はPDFを出力できません。「wkhtmltopdf」または「LaTeX」に頼る必要があります。今回は使用が簡単なwkhtmltopdfをインストールしましょう。

wkhtmltopdfのインストールも、下記の通りにインストールできます:

  • インストーラ: ダウンロードページからダウンロード・インストール
  • Windows (Chocolatey): cinst -y wkhtmltopdf
  • macOS (Homebrew): brew install wkhtmltopdf
  • Debian/Ubuntu(apt): sudo apt-get install wkhtmltopdf

LaTeXを用いる場合は、今回は割愛します。

  • 注意1:pLaTeXは直接Pandocから使用できないので、少し工夫が必要です。
  • 注意2:Pandoc標準のLaTeX処理系はpdfLaTeXですが、これは日本語文書の処理に適さないので、同じくPandocが対応するXeLaTeXやLuaLaTeXをインストールし利用する(–latex-engineとして指定する)ことをおすすめします。

チュートリアル1:標準入力・出力で遊ぼう

まず先に、以上のインストールが完了したことを確認しましょう。

$ pandoc --version
$ wkhtmltopdf --version

バージョン番号が確認できればOKです。

次に、標準入力からパイプでPandocに繋いでみましょう。Markdown記法の見出し(「#」がh1に相当)をHTML5形式として出力してみます。入力書式は「-f」オプションで、出力書式は「-t」オプションで指定します。

$ echo "# Hello"
# Hello
$ echo "# Hello" | pandoc -f markdown -t html5
<h1 id="hello">Hello</h1>

標準入力のMarkdownが、HTMLのh1タグとして標準出力に出力されました。

この出力は標準出力なので、そのままリダイレクトによってファイルに保存できます。

$ echo "# Hello" | pandoc -f markdown -t html5 > hello.html
$ cat hello.html
<h1 id="hello">Hello</h1>

同様に、「-o」オプションでファイルに保存することができます。

$ echo "# Hello" | pandoc -f markdown -t html5 -o hello2.html
$ cat hello2.html
<h1 id="hello">Hello</h1>

「-f」「-t」に指定できる書式の名前は Pandoc – Pandoc User’s Guideの「General Options」を参照してください。

チュートリアル2:まとまったMarkdown文書をあらゆる形式に変換しよう

ここではサンプルとして、青空文庫にある『あたらしい憲法のはなし』のMarkdown版(nogajunさん編)を利用しましょう。(パブリックドメインなので安心して利用してください)

Git(SourceTreeなどでも可)をインストールしている人は、下記のようにcloneしましょう。

$ git clone https://github.com/nogajun/story_of_the_new_constitution.git

その中の「atarashii_kenpo.md」が、今回使うMarkdownファイルです。

または、Markdownソースを直接ダウンロードしてもかまいません: atarashii_kenpo.md

(ただしソースのみだと画像が表示されないので、git cloneをおすすめします)

まずは、このMarkdownファイルをHTMLに変換してみます:

$ pandoc atarashii_kenpo.md -t html5 -o output.html
$ less output.html

一応HTMLらしきものが出力されているはずです。しかし、ヘッダがありません!

Pandocのデフォルトでは、HTMLのタグ内部に相当するものしか出力してくれないので、注意が必要です。完全な文書(ヘッダ・フッタ付きの文書)を出力するには、「-s」を付ける必要があります。

$ pandoc -s atarashii_kenpo.md -t html5 -o output2.html
$ less output2.html

これで完全なHTMLが得られました。

同様に、Markdownを色々な書式に変換してみましょう。(「-t」オプションを省略すると、「-o」オプションの拡張子から自動的に推測してくれます)

# LaTeX
# 注意: -s を付けるとpdfLaTeX前提のヘッダとなるため、あえて省略しています
$ pandoc atarashii_kenpo.md -o output.tex

# EPUB(EPUB3を推奨。WindowsのEdgeだと綺麗に読めます)
$ pandoc atarashii_kenpo.md -t epub3 -o output.epub

# PDF(wkhtmltopdfを利用する場合:オプションに注意)
$ pandoc atarashii_kenpo.md -t html5 -o output.pdf

# LibreOffice Writer / MS Word
$ pandoc atarashii_kenpo.md -o output.odt
$ pandoc atarashii_kenpo.md -o output.docx

チュートリアル3:Markdown以外の文書からMarkdownに変換しよう

最後に、逆方向の変換を試して終わりましょう。ここではHTMLからMarkdownに変換します。

Pandocでは、入力ファイルの代わりにURLを指定すると、それを自動的にダウンロードして入力文書として解釈します。その機能を利用して、Pandoc公式サイトのPandoc User's GuideをMarkdownに変換してみましょう。

$ pandoc https://pandoc.org/MANUAL.html -t markdown -o manual.md
$ less manual.md

紹介が遅れましたが、Pandocがデフォルトで使っているMarkdownは、Pandoc独自で定められた文法(Pandoc's Markdown)です。その詳細は同じくUser's Guideの「Pandoc's Markdown」セクションで説明されています。

他のMarkdown方言として、

  • GitHub Flavored Markdown (-t markdown_github)
  • PHP Markdown Extra (-t markdown_phpextra)
  • MultiMarkdown (-t markdown_mmd)
  • CommonMark (-t commonmark)

も利用できます。(もちろん、各方言で相互変換も可能です)

チュートリアルは以上です。

最後に

これまで紹介した機能はほんの一部です。Pandocの大きな可能性を感じていただければ幸いです。

もしPandocそのものや活用方法、あるいはドキュメンテーションという分野に興味のある方は、ぜひ日本Pandocユーザ会のSlackにご参加ください。あらゆるジャンルで活躍されている方が、Pandocという枠を越えてドキュメンテーション全体についてゆるくディスカッションをしています。

登録は Slack登録フォーム から可能です。初心者でもお気軽にご参加ください。よろしくお願いいたします。

参考リンク

「オープンソース」を使ってみよう
(第46回 Mautic)

No Comments
このエントリーをはてなブックマークに追加

目次

はじめに

企業活動においての営業活動には、見込客の管理(獲得・育成・選別)が必要です。

一般的にこれらの情報は Excel や、専用のシステムなどに記録され、見込客の確度によって、メール・電話・ダイレクトメールなど、様々な手段を駆使して見込客とのコミュニケーションを行います。 大きな組織ではマーケターの方が、小さい組織では営業の方や WEB 担当者などが、こうした日々の管理業務に多くの労力が割かれています。

これらの業務には、大きく分けて、見込客の獲得・育成・分類となりますが、具体的な業務になると、探索、記録、集計、分析など多岐に渡ります。

膨大な単純作業を人手で行うと、効率低下、品質低下、担当者の疲弊といった問題が発生します。 このような問題を放置すると組織マネジメントが機能不全に陥り、大きなトラブルを引き起こす原因になることがあります。

マーケティングオートメーションとは?

マーケティングオートメーション(以下 MA )とは、マーケターが日々の業務で行っているマーケティング活動(メール / SNS / WEB通知など)のプロセスをソフトウェアで自動化する事により、効率よく潜在顧客に対して、営業活動・見込客の管理を行うデジタルマーケティングツールです。

MAを導入する事により、見込客の特色にてきせつな、チャネル( メール / SNS / WEB通知など )でアプローチできます。

引用元:Marketing Automation – IMCS360 – Online-Offline Marketing Automation and Strategies

MAで解決できる課題

MA といっても全てプロセスを自動化してくれる銀の弾丸ではありません。 あくまで、MA が自動化できる部分は マーケターが日々の業務で行っている PDCA サイクル【Plan(計画) / Do(実行) / Check(評価) / Action(改善)】 の Do (実行) の部分になります。

これにより、日々のマーケティング業務の Do (実行) の部分を自動化する事で以下のような課題が解決することができます。

  • 操作ミスが軽減できる
  • 時間が生まれ、クロージングや他のマーケティング施策に専念できる
  • 顧客毎に最適化された販促活動ができる
  • 見込客の件数が増えても頻繁にコミュニケーションができる

MAでできる事

  • 見込客の役職、サイト内行動に応じて点数を付与
  • 見込客の点数や特定の行動によって、配信回数や、メールの内容など、タイミングを細かく設定
  • 見込客が特定行動や一定の点数に達したら、自動でメール配信
  • 見込客ごとに、WEBページや、メールコンテンツ内容を表示分け
  • MAで取得した情報を他ツールと連携させ、最適なWEB広告を出稿

MAでできない事

  • 見込客とのコミュニケーション設計を自動で生成
  • 見込客に付与するスコアの定義付け
  • メールやWEBページを自動で作成
  • 施策の結果に関するレポートや分析を自動化

※ 有償サービスであれば、上記の部分が出来るサービスもあります

Mautic とは?

Mautic はオープンソース唯一のマーケティングオートメーションです。 開発には Symfony フレームワーク(PHP) を採用しており、現在でも頻繁に開発が行っています。

MA のツール自体は世の中にはあります。 しかし、それらのツールの全てが高額で一部のユーザ企業しか導入できないハードルがありました。 オープンソースの Mautic が登場したことにより、導入のハードルは大いに低くなりました。

Mautic の機能

ウェブサイトのトラッキング

ウェブサイトに Mautic で生成されたコードを埋め込むことで、訪問者の行動履歴を個人レベルで時系列にトラッキング表示することができます。

Eメールマーケティング

標準テンプレートから、オーディエンス(想定対象者)に対し、動的コンテンツ、セグメンテーション、モバイル対応に対応したEメール送信で見込客へのアプローチをする事ができます。 また、独自のカスタマイズしたテンプレートもインポートすることができます。

自動化されたキャンペーン

予め設定した営業サイクルにしたがって、見込客を育成するワークフロー機能です。 Eメールを自動化するだけでなく、WEB / モバイル / ソーシャル / SMS など、他のチャネルをコミュニケーション戦略に含めることによって、レベルの高い自動化を実現します。

WEBフォーム

既存ウェブサイトやカスタマイズされたランディングページに直接フォームを埋め込むことことができます。 既に登録済みのデータがある場合は、必要な情報を補完入力することもできます。

ランディングページ

Mautic にはページエディタが備わっており、直感的なユーザーインターフェイスや、標準テンプレートから高速にランディングページを作成することができます。 A/Bテスト機能で各ページでのユーザトラッキングしたり、独自のカスタマイズしたテンプレートもインポートすることができます。

スコアリング

組織は企業単位のアプローチを採用しており、ターゲット企業全体での可視性が必要な場合もあります。 Mauticでは、マーケティング戦略に沿った見込客のスコアリングまたは企業スコアリングシステムを実装できます。

マルチチャネル通信

マルチデバイス化に伴い、見込客とのコミュニケーション手段は多様な時代になっています。 Mautic はマルチチャネル通信(Eメール / WEBプッシュ / ソーシャル / SMS)を通じてメッセージを配信し、見込客とのコミュニケーションをとることができます。

見込客管理

データ管理は、すべてのマーケティングチームにとって基本的なものです。 すべての基本連絡先の詳細、活動履歴、必要なすべてのカスタムデータを収集します。 見込客は、Webフォーム、CRM同期、リスト(CSV)のインポート、または連絡先を1つずつ追加することができます。

プログレッシブプロファイリング

プログレッシブプロファイリングとは、入力フォームの項目を動的に変える事で、少しずつ属性情報を集めていく方法です。 サイト訪問者が戻るたびに、フォームに異なるフィールドセットを表示して見込客の特定や、よりパーソナライズされたコミュニケーションの作成に役立てることができます。

オーディエンスセグメンテーション

オーディエンスセグメンテーションとは、想定対象者のセグメント化機能です。 見込客をあらかじめ設定していた特定の条件に合ったグループに編成する方法です。 セグメントは、実行されたアクション、リストのインポート、手動で追加されたアクションに基づき、連絡先を含めるように作成することができます。

動的コンテンツ

Mautic は、マルチチャネル上での動的なコンテンツでを使用して、見込客に最適なコンテンツを動的に生成してコミュニケーションの質を高めることができます。

アカウントベースのマーケティング

アカウントベースマーケティング(企業単位のマーケティング)戦略を実行することは、ビジネスを成功する上で不可欠となっています。 Mautic には個々の連絡先と会社のオブジェクトが別々に用意されているため、ユーザは企業単位ごとにマーケティングキャンペーンを作成したり、企業単位ごとに得点を付与することができます。

サードパーティの統合

Mautic はサードパーティの統合するプラグインが豊富です。 CMS系では WordPress / Drupal / concrete5 / Joomla! や、CRM では Sugarcrm / vTiger / Zoho / SalesForce 、メール送信では、Amazon SES / SendGrid / MailChimp 、 SNS連携では、Facebook / Twitter / Instagram 等の多数連携先がある他、 オープンソースなので、現在標準で導入されていないサードパーティでも、プラグイン自作することで統合することができます。

ダッシュボードの解析

デフォルトで用意されているメトリック(指標)を利用したり、より重要メトリックについては独自でカスタマイズビューを作成することができます。

レポートと帰属

キャンペーンの掲載結果を視覚的に把握することは重要ですが、作成する行為自体が重労働であってはなりません。 Mautic で変数を活用したカスタムレポートを作成し、個々の構成要素だけでなく、キャンペーン全体で結果表示するレポートを作成することもできます。

Mautic 動作環境 & インストール

動作環境

「オープンソース」を使ってみよう
(第45回NetCommons で作る
 メンバーズサイト)

No Comments
このエントリーをはてなブックマークに追加

■そもそも NetCommons とは?
小中学校の公式サイトや大学の研究成果公開サイトなど、教育現場の
ために国立情報学研究所が次世代情報共有基盤システムとして開発した、
LMS(学習管理システム)とグループウェアを統合したCMSです。


(サンプル画像)

つまり NetCommons は『小中学校サイトのお手本』として作られたんです。
NetCommonsを使うかどうかは別として、公共性の高いサイトに携われる方には
是非とも一度は触っておいて欲しいCMSです。

NetCommons は全国で5,000校以上の小中学校などの教育機関で使われています。
研究者情報や論文等へのリンクを公開している『リサーチマップ』は、
かなりカスタマイズされてはいますが、参考になると思います。

■充実したユーザー管理機能
NetCommons は教育機関のお手本として作られたシステムですので、
デフォルトで5段階(システム管理者、主担、モデレーター、一般、ゲスト)、
設定次第で100段階以上の細かいユーザーレベルが設定できます。


(ユーザー権限一覧:『権限の追加』で任意に権限を追加できます)

全ての登録ユーザーのマイページを作ったり、グループ毎のクローズドなページを
追加したり、それぞれのユーザーとページに権限を設定できる機能をデフォルトで
備えていますので、ユーザー別のサービス提供ができます。


(ルーム別のユーザー権限設定画面)

こういった機能を利用して、社内や共同作業で使えるグループウェア、顧客向けの
ソーシャルネット、各種バーチャルオフィスなどを構築して納品している業者さん
もあります。

■デフォルトモジュール(基本機能)
NetCommons は『モジュール』を使って機能を拡張します。
デフォルトモジュールだけでも、ファイルを配布する『キャビネット』、
『チャット』、『回覧板』、『掲示板』などが準備されており、これだけ
でもサイト運営は十分可能です。


(モジュール選択リスト)

これらのモジュールを準備してクローズドなページに配置しておけば、
登録したユーザーとの打ち合わせを行う事が可能です。ファイルから
過去ログまで共有することができるので、作業がスムーズに進みます。


(サンプル画像)

多くのモジュールの中で、もっともカスタマイズされて利用されているのは
『汎用データベース』です。汎用データベースは、サイト内に任意のデータ
ベースを作成してデータを共有できるモジュールです。


(汎用データベースの入力画面)

■汎用データベース
カスタマイズして、メールデータベースとして利用できます。
受信メールをテキスト形式でデータベースに保存し、ユーザーの処理
チェック機能を追加すれば、メールデータベースとして運用することが
可能です。


(企業向けメールアーカイブシステム)

受注メールを受信させて必要なデータを取得し加工しておけば、作業指示
伝票を作成したり、製造工程表に組込んで工場に製造指示を送るワークフ
ローとして利用することも可能です。


(小箱プリントワークフロー操作画面)

個人向け倉庫サービスなどでは、預ける品物の状態や引取日時などの品物
別の情報を集計して従業員が必要な情報を共有し、円滑なサービスをお客
様に提供するシステムを構築することも可能です。


(タイヤ預りサービスの専用サイト)

これらは、しっかりとしたユーザー管理機能を持った NetCommons だから
こそ提供できるサービスなのです。

■NetCommons の問題点 スマホ対応など
これだけの機能を持った NetCommons ですが、いくつかの問題点もあります。
安定版の NetCommons2 から書き出されるソースは table タグが多用されて
いるので、SEOを目的にしたサイトには向きません。

個人の主観ですが、テンプレートエンジンに Smarty を使っているので
開発がかなり特殊です。いくつも納品しておりますが、いまだに Smarty が
手に馴染みません。ちなみに、次期バージョンでは Smarty を使っていません。

NetCommons2 ではスマホ対応していませんが、配布されているハックツール
を使用すればレスポンシブ化できます。ちなみに次期バージョンでは対応して
います。

レスポンシブのハックツールはコチラからダウンロードしてください。


(レシポンシブ対応したNetCommons2のサイト)

■次期バージョン NetCommons3 の進捗
すでにリリースはしているのですが、NetCommons3 はいささか
バギーですので、すぐに導入するのはおススメできません。
サーバーによってはインストール時にエラーが発生します。


(NetCommons3 デフォルト画面)

レスポンシブになったのはいいのですが、簡単にデザインが変更できるかと
言えばそうでもありません。スマホでも挙動が怪しい部分がいくつか存在
しています。そしてまだ動作が遅いようです。

『アンケート』や『問合せフォーム』などは使い勝手は悪い部分があります。
なにより、一番使いたい『汎用データベース』が出来ていません。実際に
導入できるまでにはもう少し時間が掛かりそうです。

NetCommons3 はコチラからダウンロードしてください。

■それでも NetCommons を使う意味
このように、NetCommons をとりまく状況は必ずしも万全とは言いきれません。
しかし、日本の公的な機関が開発に関わっており、プログラムソースは Github
上で公開されていますので、開発メンバーが集まるユーザ会(コモンズネット
に参加して一緒に開発することができます。


(コモンズネット・サイト)

CMS を納品をする業者にとって、システムに関する情報はとても大事です。
脆弱性の問題から、欲しい機能の追加など、開発メンバーに直接リクエスト
できる事はディベロッパーとしての義務ではないでしょうか?

多くの実績もあり、公的機関が開発に関わり、常に最新情報を手に入れる
ことができる NetCommons は、クライアントに自信を持って提供する事が
できるシステムです。

NetCommons のダウンロード

■既存サービスとの違い
ユーザー情報を扱うサイトはコストを考えると小さな団体で運営するのは
簡単ではありません。ですので Googleや Facebook、Lineも含めて既存
サービスを利用することが多いようです。

しかし、既存のサービスに依存するのは好ましいことなのでしょうか?
必要なデータを再利用する時に何らかの制限やコストが掛かったり、
データの流出や漏洩時に把握しにくいなどの問題点もあると思います。

それらを全て解消できるわけではありませんが、オープンソースの
NetCommons を使ったサイトを自社のクライアントに提案してみては
いかがでしょう?
クライアントと新しい関係を築けるかもしれません。

■最後に・・・
今回こちらで紹介させていただいた内容を、2017年5月27日開催のOSC名古屋の
セミナーで発表させていただきます。もう少し深い内容をお話させていただける
かと思いますので、是非おこしください。
もし、なにかご質問等がございましたら、同日ブースでお伺いいたします。

※数字や進捗については、2017年3月時点の状況です。

===========================
Netcommons 名古屋ユーザー会 
よたか(代表)
===========================

「オープンソース」を使ってみよう
(第44回 著作権が世間で理解されていない現状の一例)

No Comments
このエントリーをはてなブックマークに追加

■はじめに

前回述べたように、ほとんどのOSSライセンスは、
著作権行使の「利用」の際の許諾(ライセンス)です。

ですから、皆さんは、OSSを使うとき、
以下の二つの違いを意識しなければなりません。

  1. OSSライセンスを気にしなくてもよい「使用」なのか
  2. OSSライセンスの条件を満たして「利用」するのか

しかし、現実に、OSSライセンスが難しいと言われることがあります。
それは、実は、OSSライセンスに書かれていることが難しいのではなく、
著作権の理解がないままに、OSSライセンスの条文を読んでも意味が
理解できないだけなんですね。

BSDライセンスを気にする必要のある「再頒布」も、GNU GPLv2を気にする
必要な「複製または頒布」も、著作権の「複製権の行使」を指しています。
しかし、その「ほとんどの自由ソフトウェアのライセンスは、著作権を元に
しています」という認識が暗黙的であるために、意識されずに、各OSSライ
センス条文さえ読めば、理解できると思い込んで誤解する人が多いのです。

さらにやっかいなのは、その「複製権の行使」する行為が、世間でも正しく理解
されていないことが、OSSライセンスの理解の妨げになっているようです。
その現状を示す一例を今回は、紹介しましょう。 

■不正確な新聞記事

2016年1月16日に、著作権関連で有名な弁護士・福井健作氏が「何ヶ月も前に
取材された事をだな、原稿チェックもなく、こうして不正確な記事にされると
だな、それは結構痺れるものだぞ。」とツイート
演劇関係の柊かおる氏が「どの部分が不正確にあたるのですか?」と返信されて
いたのですが、1週間近く返信がなかったので、僭越ながら、それらしい返信を
しました。

もともと、元の読売新聞の2016年1月12日の夕刊15面の記事のYOMIURI ONLINE
での記事を見て、論理がおかしいなと気になっていました。

※新聞記事自身は、図書館等で入手できるはずですから、参照の上、以下をお読みください。

GNU GPLをはじめとするOSSライセンスは、著作権を許諾する条件等が記載されて
いるにも関わらず、契約条文と誤解している人が多いのです。
その理由の一つが、そもそも、著作権に対する世間の理解が乏しい、と感じていた
ので、このような記事は、OSSに関係ないけれども、著作権に関するテーマなので
気になっていたものです。

どういうところが不正確な内容なのか順に紹介します。

■無断使用ではなく、無断利用

新聞記事には「音楽の著作権(複製権)の仕組み」という図があります。
図の1番下に「結婚式場での曲の無断使用」とあり、「購入したCD」は「○」だが、
「音楽配信サイトの音楽データ」は「×」とあります。

一般にはほとんど知られていませんが、前回紹介しましたように、
日本国著作権法では、著作権(例えば複製権)を行使する行為を「利用」と
呼び、著作物である本を読む、音楽を聴くなどの著作権を行使しない行為を
「使用」と呼びます。
著作権法に定義があるわけではありませんが、例えば「平成10年2月文化庁
著作権審議会マルチメディア小委員会 ワーキング・グループ中間まとめ

では以下のように用語説明が記載されています。

  • 「利用」とは、複製や公衆送信等著作権等の支分権に基づく行為を指す。
  • 「使用」とは、著作物を見る,聞く等のような単なる著作物等の享受を指す。
  • 新聞記事の図も著作権の行使(または侵害)に関わる話ですから、無断使用ではなく、
    無断利用と記載するのが妥当かと思います。ただし、一般の方は、利用と使用の
    使い分けを意識することは少ないので、これは目をつぶれる範囲かと思います。
    または、記事では、複製権以外の支分権が頭に無く、
    複製が「無断使用の範囲」に納まるか否かの観点でのみ見ていて、
    こう書いたのかもしれません。

    もっと大きな不正確な内容があります。
    なお、著作権には、「複製権」「公衆送信権」などがあり、これら著作権を
    構成する権利を「支分権」と呼びます。

    ■図の不正確な内容の 一つ目

    不正確な内容の一つ目は、「購入したCDは無断利用は可(○)」という話です。

    確かに、複製していないので、複製権の行使はしていませんが、著作権の支分権は、
    複製権だけではありません。結婚式場で曲を利用するためには、購入したCDを複製
    するか否かの問題とは別に、再生しなければなりません。

    新聞記事の最後の段落に説明がありますが、「結婚式場や飲食店、美容院などで
    音楽を流すには、著作権法で定める『演奏権』の処理もしなければならない」の
    です。CDを購入したのが結婚式場側かお客側かは関係ありません。結婚式場の営利
    サービスとして、ある人数以上に対して、再生しているので演奏権の行使にあたる
    のです。

    従って、演奏権に着目すると、
    購入したCDでも無断で(演奏権の行使という)「利用」はできません

    図では、「購入したCDも無断利用は不可(×)」と書かなければ不正確なのです。

    ■図の不正確な内容の二つ目

    実際には、新聞記事の最後に記載しているように、「演奏権については国内の
    大半の式場がJASRACと包括契約を結んでおり、利用者が新たに権利処理をする
    必要はない」。
    つまり、包括契約で許諾を得ているのですから、無断利用ではないのです。

    JASRACサイトの「ブライダルでの音楽利用について

    結婚式や披露宴などで音楽を利用するとき、音楽の利用方法により、作詞者・作曲者など“音楽をつくる人”の権利である「著作権」と、レコード製作者・歌手など“音楽を伝える人”の権利である「著作隣接権」の手続きが必要になります。

    ※ここで気をつけなければならないことは、著作隣接権には「演奏権」が無いこと
     です。従って、著作隣接権者には、披露宴での演奏に関わる権利処理の必要が
     ありません。著作権者の多くはJASRACに権利処理を委託している現状では、 
     JASRACとの包括契約により、権利処理が済んでいることが多いのです。

    ですから、そもそも「著作権の仕組み」の問題ではなくなります。
    よって、この記事での「無断利用が可能か否か」という論点自身が
    不正確な論理の二つ目です。

    このように記事掲載の図では、二重の間違いが混在しており、不正確な記事と
    なっているのです。

    ■記事での演奏不可の論理

    記事では、どういう論理で「音楽配信サイトの音楽データは演奏不可」と
    説明しているかというと、以下のような理由が記述されています。

    私的使用とは、「4~5人程度で、家庭内に準ずる親密かつ閉鎖的な関係を有する」と定義しており*1、結婚披露宴での利用は、その枠を超えている。配信曲は正規に購入していても、携帯音楽端末やパソコンに入れた段階で複製にあたり、式場で流すことは著作権法に抵触するという構図だ。

    *1:著作権法第三十条に記載されている本来の「私的使用」の定義は、以下の通り。
     「個人的に又は家庭内その他これに準ずる限られた範囲内において使用すること」
     (下線も含め筆者追記)

    この「携帯端末やパソコンに入れた段階で複製にあたり」という論理がおかしい。
    どういう論理でしょうか。
    「ダウンロード」という行為で「複製」しているのだから、「複製権を行使」して
    いるという論理でしょうか?
    著作権に馴染みのない方が誤解しているようですが、
    「複製(コピー)する」≠「複製権を行使する」
    同義ではありません。

    どういうことかというと、
    一般に、CDを販売するレコード会社は、著作権者の許諾を得て、CDに曲などを
    複製して販売しています。
    同様に、音楽配信サイトの会社は、著作権者の許諾を得て、音楽データをダウン
    ロード(複製)可能にして販売しています。

    どちらも、著作権者に著作権の行使の許諾を得て、販売しているはずですから、
    著作権の権利処理は済んでいるはずです。
    その場合、音楽データをダウンロードしたユーザが、別途、複製権の権利処理
    する必要はありません。

    注:上図にあるように「上記複製の権利処理済み」ですから、ダウンロードしたファイルを新たにCD-Rなどに複製する権利処理がされているわけではありません。「上記複製の権利処理済み」を複製権の消滅(受け取った人が複製してもよい)かのように誤解しないでください。

    つまり、ダウンロードしたユーザが複製権を行使したわけではないので、
    「式場で流すことは著作権法に抵触するという構図だ」とする理由になりません

    ■記事の論理の何がおかしかったのか

    CDの販売における複製権の行使者は、レコード会社です。同様に、音楽データの
    販売における複製権に行使者は音楽配信サイトです。音楽データを購入しダウン
    ロードした人ではありません。

    記事では、「権利の行使」をしたのは誰か、という視点がなく、「ダウンロード
    という行為をした人が、複製権を行使した人」という認識だったので、おかしな
    論理の展開になったのではないでしょうか。

    権利とその権利を行使したのは誰か、という視点が無いと、例え、専門家の話を
    聞いて記事を書いたのだとしても、不正確な理解をしてしまうのかもしれません。
    また、記事で、配信曲の利用を断られた女性が、「CDと同じように買った曲なのに、
    友人の披露宴で使うことが著作権侵害と言われ」たという 話が書かれています。
    著作権侵害と言ったのが、結婚式場なのか、インタビューした記者なのか不明
    ですが、言った人の理解が不正確なためか、間違った命題を設定してしまい、
    「複製『私的使用超える』」という副題を付けてしまったのではないでしょうか。

    あえて書くなら「再生(演奏)『私的使用超える』」でしょうか。だから、JASRACなど
    との包括契約が必要です。ただし、ほとんどの結婚式場が包括契約済みですけどね、
    という話になります。

    ■ネット配信曲が披露宴で使えない理由

    以上がツイートした著作権上は問題無い旨の話で、福井健作氏からも
    「ありがとうございます^^」と返信をいただきました。
    しかし、残念なことに、「ネット配信曲が披露宴で使えない」現実は存在します。
    (筆者は、ネット配信曲を利用したことはないので経験しているわけではありませんが)

    まず、前述の演奏権におけるJASRACと包括契約などを結んでいない結婚式場は、
    CDも含め、新たに権利処理しなければ、著作権侵害になります。

    そして、上記議論の対象になった問題は、いくつかの音楽配信サイトで、
    サービス利用規約に以下のような記述があることが披露宴で使えない理由
    ではないでしょうか。
    (下線は筆者が追加)

    Apple メディアサービス利用規約
    B. 本サービスを利用する
    – お客様は、個人的、非商用目的での使用に限って本サービスとコンテンツを利用することができます。

    Amazonミュージック利用規約
    
    2.1 お客様は、本契約に従い、お客様個人の非商用的な娯楽目的に限り、本サービス等を利用することができます。

    つまり、「個人的使用の範囲に限る」という利用規約に違反するために
    「ネット配信曲が披露宴で使えない」
    わけです。片方のカスタマーサービスに
    メールで問い合わせて、そういう意味だと回答を得ています。

    これらの利用規約は、「契約」と明記され(クリックオンなどで同意を示すように
    し)ていますから、これに違反すると契約違反になるわけです。

    これを記事では、「著作権の複製が『私的使用超える』」のが理由と誤解したの
    かもしれません。

    ところで、CDの場合、帯に以下のような記載があります。

    あるCDの帯での記載
    このCDを権利者の許諾なく賃貸業に使用すること、また個人的な範囲を越える使用目的で複製すること、ネットワーク等を通してこのCDに収録された音を送信できる状態にすることは、著作権法で禁じられています。

    このように著作隣接権者であるレコード会社は、著作隣接権に存在しない演奏権に
    ついては、当然のごとく、禁じてはていません。そこで、上記利用規約では、なぜ
    CDで可能な演奏まで制限する規約としたのか疑問が出てきますが、さきほどの
    カスタマーサービスでは、聞いても理由は、教えてくれませんでした。

    記事と同じような誤解をしている可能性もありますが、レコード会社などが、
    「新規サービスのために使用範囲を限定しないと、これら音楽配信サイトへ複製権
    の許諾する際に契約できない」としたのかもしれません。
    後者ならば、全くのビジネス上の問題ですが、前者でしたら悲しいものがあります。

    これが、ネット配信曲が披露宴で使えない本当の理由のようです。

    ■さいごに

    皆さんの中には、以下の二つの状態を区別しないで「無断使用」と
    言う方もいるかと思います。

    1. 他人の権利を侵害しないから、無断使用可能
    2. 他人の権利の行使の許諾を得ている(権利処理済み)だから、無断使用可能

    新聞記事の不正確の原因の一つもここにあります。この違いを気にしないようですと、
    OSSライセンスの扱いを正しく理解することも難しいかと思います。そのため、今回
    は、このような著作権が世間でも理解されていない現状の一例をご紹介しました。

    ちょっと難しい内容だったと思いますが、実際に、OSSを再頒布する際には、
    このような分析が欠かせません。
    著作権について学ぶと、著作物であるOSSを扱う我々は、もう少し、幸せになる
    のかもしれません。

    =============
    OSSライセンス 姉崎相談所
    姉崎章博
    =============

    「オープンソース」を使ってみよう (第43回 OSSライセンスを気にしない使い方)

    No Comments
    このエントリーをはてなブックマークに追加

    ■OSSライセンスって?

    オープンソースカンファレンス(OSC)で展示や講演される
    オープンソースソフトウェア(OSS)には、まるめて言うと「OSSライセンス」と
    呼ぶ以下のようなライセンスがあります。

    OSS
    OSSライセンス
    xx LinuxのLinuxカーネル GNU GPLv2
    NetBSD 伝統的なバークレーライセンス(BSDライセンス)
    OpenStack Apache License 2.0
    OpenDaylight Eclipse Public License (EPL)
    Hadoop Apache License 2.0
    Hinemos GNU GPLv2
    Zabbix GNU GPLv2
    PostgreSQL PostgreSQL License (BSDライセンス)
    MySQL GNU GPLv2 (または商用ライセンス)
    LibreOffice MPL 2.0

    これらのうち、BSDライセンスの条文は、
    プログラムソースのヘッダ部分に書かれるぐらい短いものです。

    しかし、その他のライセンスの条文は、
    印刷すると数ページ以上になるので、なかなか読むのがしんどいです。

     なお、条文は、ほとんどが英文で書かれた原文が正式ですが、
     各コミュニティのサイトや下記OSDNサイトに日本語参考訳があります。
     そちらから読み始めると取っつきやすいかもしれません。
     OSI 承認オープンソースライセンス 日本語参考訳

    これらの条文に、それぞれで表現は様々ですが以下のような条件が書かれています。

    • 著作権、ライセンス条文本体、免責条項を見えるように(コピー)すること
    • バイナリのソースコードを添付すること
    • など

    これらの条件が書かれたものが「OSSライセンス」と呼ばれるものです。

    ■何のライセンス?

    話が飛ぶようですが、皆さんは、「ソフトウェアライセンス」と言われると、
    どういうものを思い出しますでしょうか?
    WindowsなどについてくるEULA(End User License Agreement)などをイメージ
    しませんでしょうか?プログラム使用許諾契約書などとも言われることもあった
    アレです。
    昔は、パッケージソフトウェア、家電量販店のコンピュータソフトコーナーに
    並んでいるパッケージの裏面に記載があって、パッケージを購入し、包んで
    いるラップを破くと、そこに書かれている内容に合意したとみなすという契約書
    (シュリンクラップ方式)でした。しかし、老眼でなくても読めないような小さな
    字で書かれた文書を購入前に読むことなどほとんど有り得なく、今はほとんど
    使われなくなった方式です。
    今は、クリックオン(当初はクリックラップと呼ばれましたが、
    「ラップをクリック」するわけではないので、クリックして先に進む(on)が妥当?)
    と呼ばれる方式が主流です。
    プログラムをインストール時(または最初の起動時)にEULAが表示され、
    合意するか否かクリックするアレです。
    (でも、最近、パッケージを買うこともなく見かけないか・・・)

    さて、コミュニティサイトからダウンロードしたOSSは、バイナリでも、
    ましてやソースコードからビルドしたものは、クリック オンのような
    契約行為は存在しません。
    企業の法務や知財の人が、OSSライセンスを語るときに、
    OSSを使ったことが無いのか、「受け取ったときに契約に合意している」
    と、クリックオンを前提に話されていることを見かけることがあります。
    が、OSSにクリックオンは、ありませんって・・・。
    (OSSをベースに商品化したものにはあるかもしれませんが)

    もし、OSSにクリックオンがあたっとすると、
    OSIのOSD(オープンソースの定義)で言えば、第10項に違反するので、
    OSIの定義に従うと、それはもうOSSと呼べません。

    そもそも、正当に入手した著作物、例えば、書籍を読むのに改めて許諾が必要な
    わけではありませんし、音楽を聴くのに改めて許諾が必要なわけではありません。
    このような「読む」「聞く」といった著作物の享受を日本国著作権法上は「使用」
    と呼んで、複製権などの行使の「利用」と区別しています。つまり、著作権は
    著作物の利用権ですが、著作権法には「使用権」は存在しません。

    使用に当たって、著作者の許諾を得る必要はないのです。
    本来、「プログラム使用許諾」ということば自体おかしなものです。
    使用を許諾する権利が無いからです。それでは、リバースエンジニアリングを
    禁止するなどの条件を付与できないので、無理矢理契約行為を設け、契約の
    「債権」として「使用権」のようなものを設けることが商習慣として普及して
    いるのです。
    それが、一般に「ソフトウェアライセンス」とイメージするものかと思います。

    しかし、OSSにはクリックオンで合意する契約行為が無いのですから、
    OSSライセンスは、契約に基づいた使用権のライセンス(許諾)ではありません。
    そういう意味で、OSSライセンスはソフトウェアライセンスではないのです。

    では、何か?
    著作権法で規定されている利用権、つまり、著作権の各支分権(主に複製権)の
    行使を許諾するライセンスなのです。複製権の行使は、OSSという著作物を
    CDRに焼いて複製するとか、Webにアップロードしてダウンロード可能、つまり、
    複製可能状態にすることです。OSSライセンスは、それを許諾するライセンスと
    いうことになります。

    ■他人の複製権を行使しない使い方

    他人の複製権を行使するためには、「GPLなどのOSSライセンス条件を満たす」
    ことが条件になります。逆に言えば、他人の複製権など著作権を行使しなければ、
    GPLなどのOSSライセンス条件を満たすことを気にしなくてもよいわけです。


    そう、

     「オープンソース」を使ってみるだけ
    ならば、他人の著作権を行使していません。
    その場合、OSSライセンスを気にしなくてもよいのです。

    それは、お試しで使ってみるだけに限りません。
    前述した著作権の「利用」していなければ、
    OSSライセンスを気にせずに使うことができます。
    例えば、ダウンロードしたOSSを実行して、以下のようなことが出来ます。

    1. GCCでコンパイル・リンクして、
      自分の著作物として実行形式のプログラムを作成する
    2. GDBやその他ツールで、自分のプログラムをデバッグする
    3. 性能分析ツールで、自分のプログラムをテストする
    4. Sambaでファイル共有フォルダを作り、開発プロジェクトで資料を共有する
    5. Apache HTTP serverで社外Webを構築し、情報発信する
    6. OpenStackでプライベイトクラウドを構築する
    7. etc.

    ■OSSライセンスは利用の際の許諾です

    と、言ってきました。
    だからこそ、OSSという著作物の他人の著作権を行使(侵害)しない形で使用
    すれば、長いOSSライセンスの条文を読む必要も気にする必要も無いのです。

    そんなOSSを、開発者に感謝しつつ、ありがたく使用させていただきましょう!

    次号では、OSSライセンスの理解に重要な「著作権が世間で理解されていない
    現状の一例(仮)」について解説します。

    =============
    OSSライセンス姉崎相談所
    姉崎章博
    =============

    ■参考情報

    以上のように、著作権法の「利用」と「使用」を区別できるように
    適切に理解できるようになれば、OSSの活用も広がるわけです。
    著作権法の教材は、小学生向けから、文化庁が下記で公開しています。

     著作権に関する教材,資料等|文化庁
     http://www.bunka.go.jp/seisaku/chosakuken/seidokaisetsu/kyozai.html

    書籍では、初めて読むものとしては、下記が一番取っつきやすいかもしれません。

     鷹野凌著/福井健策監修
     「クリエイターが知っておくべき権利や法律を教わって
     きました。著作権のことをきちんと知りたい人のための本」
     インプレス
     http://e-hon.tameshiyo.me/9784844337973

    この試し読みの16枚(30ページ)だけでも、以下のように、
    良い感じの表現があります。

     P13 著作権はどうやって使う
     もちろん、何でもかんでも弁護士や弁理士に相談しなさいと
     は言いません。
     忙しいのは仕事冥利に尽きますけど、自分で自分の身を守るには、
     ある程度の知識が必要です

     P14 同上
     『文化の発展に寄与』するのが目的ですから、権利ばかり強くなって
     『公正な利用』の妨げになってしまっては困りますからね

    「窓の杜」のコラムで無料で読むこともできますが、私にはちょっと
    読みにくいので、価格も1200円ですので、書籍で読まれることをお勧めします。

     http://forest.watch.impress.co.jp/category/other/column/copyright/

    Older Entries