アプリマーケットでのモジュール調達の是非

実際のところどうなのでしょう?という話

Yoshi Tashiro

はじめに


Odooに興味を持ち実際に導入プロジェクトを始めるユーザは、要求とOdooの標準機能にギャップがある場合、特段アドバイスを受けていなければ、アプリマーケットで求めている機能がないか探すのではないかと思います。

Odooのアプリマーケットにはプロプライエタリモジュールとオープンソースモジュールが混在しています。

プロプライエタリモジュールに関しては、中には2500ドル(USD)ほどのものもありますが、ほとんどのモジュールは数十ドルから数百ドルの価格帯であり、機能を一から開発するのに比べてお手頃に感じられるかもしれません。

今回は、アプリマーケットでモジュール(特にプロプライエタリなもの)を調達するのは実際のところどうなの?という件について所見を述べます。

コタエルの場合


私たちがOdoo導入プロジェクトに携わるとき、ユーザ要求とOdooの標準機能にギャップがあるときの対応は、基本的に次の順序で検討します。

  1. OCAでモジュールを見つける

  2. 自力でモジュールを作成する

  3. アプリマーケットでモジュール(だいたい有償)を見つける

つまり、アプリマーケットでモジュールを見つけるのは優先順としては一番低いわけですね。なぜでしょうか?

アプリマーケットでモジュールを調達するメリット


まず簡単にメリットを。アプリマーケットでのモジュール調達のよいところは、とにかく手軽ということに尽きるかと思います。Odooの開発スキルを持ち合わせず、Odooの専門家のサービスを受けるに至っていないユーザが要求にマッチしそうな機能を見つけられたら、多くの場合数十ドルでそれを購入することができます。数十ドルで欲しい機能が手に入れられれば、全然悪くなさそうです。

落とし穴


ですが、ここにはいくつかリスクが潜んでいます。次のようなものです。


1. 品質がよくないケースが多い

プロプライエタリモジュールの販売者の目的は、基本的にモジュール売って収益を上げることです。それ自体は悪くありませんが、販売者側で品質を担保する視点が足りていないことがよくあります。モジュールの販売者はユーザのOdoo環境の保守を担うわけではありません。Odooの標準ロジックを上書きしているものもあり、他のモジュールとコンフリクトが生じる可能性をはらんだものも見かけます。

また、オープンソースのモジュールと違い、プロプライエタリのモジュールは購入してダウンロードしてみないと、どのような構成になっていてどの程度の品質なのかが分かりません。Odooの仕組みやプログラミングに知見のない一般のユーザであれば、ソースコードを見てみても品質はよくわからないでしょう。ここに、情報の非対称性からくる販売者の怠慢が現れることもあります。

これまで私が遭遇したプロプライエタリモジュールで、OCAで適用しているレベルの品質管理ができているものは、ほとんどありません。そして大抵の場合、何かしら不具合があるか、保守性に懸念が出ます。


2. 健全な品質改善のサイクルが回しにくい

購入したモジュールに何か不具合があった場合、オープンソースのモジュールであれば、オープンな場でそれを解決するための仕組みがあります。すわなち、モジュール作成者のパブリックレポジトリにて、イシューやプルリクエスト(修正提案)を作成し、具体的にどういう手順で不具合が再現でき、それがどう修正できるのかを伝えることができるようになっています。そしてそれが作成者のみならず関心のあるコミュニティメンバーでレビューされるのです。

それに対し、プロプライエタリのモジュールにはそのような受け皿はありません。不具合があったらその内容を販売者にメールで連絡し、それを販売者がフォローすることになります。このような手続きには2つの問題点があります。

1つは、連絡をするところでコストがかかることです。特にソースコードの不具合の箇所を説明したいときに、GitHub等の協働プラットフォームが使えないため、説明がしにくくなります。ソースコードの特定の箇所のリンクを共有したりできないので、コミュニケーションの齟齬が生じやすくなります。

もう1つは、販売者のフォローのプロセスが見えないことです。こちらも協働プラットフォームが使えないことによりますが、こちらからの連絡後、販売者がそれをどのように受け止め改修しようとしているのか、またはソースコードが具体的にどう改修されたのか、こちらで解析しないとわかりません。

このような問題点があるなかで、時差や言語の違いがある販売者とコミュニケーションをとって不具合修正にこぎつけるのは、比較的難易度が高く、相手方のレベルによってはかなり疲弊してしまうことになりかねません。そのため、購入したモジュールに何かしら問題がある場合、私たちは多くの場合、自分たちで不具合を修正したり、ソースコードをリファクタして保守性を改善したりします。


3. 著作権侵害のケースが散見される

あってはならないことなのですが、販売されているモジュールが著作権侵害していることもあります(少なくとも過去ありました)。最近は減っているのかもしれませんが、オープンソースモジュールや他のプロプライエタリモジュールをコピーし、ライセンスと著作者を変えて販売しているケースは、過去コミュニティでも割と頻繁に話題にのぼっていました。

Odoo社に通報すると個別に確認の上対処(悪質な場合はアカウント停止)してくれることになってはいますが、アプリストアにモジュールを追加する入口部分で厳正なチェックがされるわけではありません。ですので、ここに何らかの対策をとらない限り著作権侵害のケースはおそらく発生するのだろうと思います。(なお、ライセンスの整合性チェックなどの仕組みはOdoo社で検討しているようなことを過去見聞きしましたが、現状をよく知りません。)

使用するモジュールが著作権侵害している場合、利用するユーザにどのようなリスクが存在するのでしょうか?現実的に強制力をもった是正措置がとられるかは別として、損害賠償やモジュールの利用停止が求められる可能性は否定できないと思われます。このような直接的な不都合が生じなかったとしても、間接的に信用問題は生じるでしょう。


いくつかリスクを挙げましたが、「OSSコミュニティ活動のすすめ」で説明しましたOSS活動のメリットと対をなすのがこれらのポイントかと思います。


まとめ


アプリマーケットでのモジュール調達は一見安価で便利ではありますが、構造上モジュールに何かしらの問題が出やすく、その場合は一転して対処のコストが嵩みがちです。そのため、コタエルではアプリマーケットでモジュール調達することはほとんどありませんし、する場合は上述のリスク(何か不具合や保守性の懸念があったら有償でフォローするということ)を説明の上ご理解いただいた上でモジュールを購入いただくようにしています。

こういう見方であることもあり、私たちがOdooの特長を説明するときにはアプリマーケットについてはほぼスルーしています。ここでどれだけたくさんのモジュールが調達できるとしても、現状、モジュール数でOdooの価値を語るのはあまり誠実ではないと思ってしまうのです。

とりあえずの調達コストや手軽さを考えるとアプリマーケットしか選択肢がない状況もあるとは思います。ですがその場合でも、十分にリスクを認識した上で判断すべきです。Odooを導入している、または導入を検討しているユーザ企業の皆さまに、本投稿の内容が参考になると幸いです。