(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023159414
(43)【公開日】2023-10-31
(54)【発明の名称】AIを使用したソースコード売買システム
(51)【国際特許分類】
G06Q 30/0283 20230101AFI20231024BHJP
G06Q 30/0601 20230101ALI20231024BHJP
【FI】
G06Q30/0283
G06Q30/0601
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023139150
(22)【出願日】2023-08-29
(62)【分割の表示】P 2021115840の分割
【原出願日】2018-12-10
(71)【出願人】
【識別番号】517236761
【氏名又は名称】株式会社ONE ACT
(74)【代理人】
【識別番号】110003476
【氏名又は名称】弁理士法人瑛彩知的財産事務所
(72)【発明者】
【氏名】浅野 裕亮
(57)【要約】
【課題】 ソースコードの類似度に基づく売買利益の配分の仕組みや、外部ソースの情報を活用したダイナミックプライシング(変動価格)の仕組みを提供する。
【解決手段】 ソフトウェアのソースコードを売買するためのソースコード売買システムであって、ソースコードを記憶する記憶手段と、前記ソースコードの内容、売買情報又は書誌情報の少なくとも一つに基づいて、前記ソースコードの第1の販売価格を算出する価格決定手段と、前記ソースコード売買システムの外部にある外部サービスサーバから情報を取得する外部情報取得手段と、前記第1の販売価格を、前記外部サービスサーバから取得した情報に基づいて調整し、第2の販売価格を算出する価格調整手段と、算出された前記第2の販売価格を表示する売買仲介手段と、を有することを特徴とするソースコード売買システムを提供する。
【選択図】
図17
【特許請求の範囲】
【請求項1】
ソフトウェアのソースコードを売買するためのソースコード売買システムであって、
ソースコードを記憶する記憶手段と、
前記ソースコードの内容、売買情報又は書誌情報の少なくとも一つに基づいて、前記ソースコードの第1の販売価格を算出する価格決定手段と、
前記ソースコード売買システムの外部にある外部サービスサーバから情報を取得する外部情報取得手段と、
前記第1の販売価格を、前記外部サービスサーバから取得した情報に基づいて調整し、第2の販売価格を算出する価格調整手段と、
算出された前記第2の販売価格を表示する売買仲介手段と、
を有する
ことを特徴とするソースコード売買システム。
【請求項2】
請求項1に記載のソースコード売買システムであって、
前記外部情報取得手段は、前記外部サービスサーバの一つであるソースコード提供サイトの製品情報から、第2のソースコードを特定する情報と前記第2のソースコードの販売価格を示すソースコード提供サイト価格に関する情報とを取得し、
前記価格調整手段は、前記第2のソースコードを特定する情報に対応する前記記憶手段に記憶された前記ソースコードの前記第1の販売価格を、前記ソースコード提供サイト価格に関する情報に基づいて調整することにより、前記第2の販売価格を算出する
ことを特徴とするソースコード売買システム。
【請求項3】
請求項2に記載のソースコード売買システムであって、
前記価格調整手段は、前記ソースコード提供サイト価格の方が前記第1の販売価格よりも高い場合に、前記第1の販売価格よりも高い前記第2の販売価格を設定する
ことを特徴とするソースコード売買システム。
【請求項4】
請求項2に記載のソースコード売買システムであって、
前記価格調整手段は、前記ソースコード提供サイト価格の方が前記第1の販売価格よりも高い場合に、前記第2の販売価格を、前記ソースコード提供サイト価格と同価格、又は前記ソースコード提供サイト価格と前記第1の販売価格との間の価格、のいずれかに設定する
ことを特徴とするソースコード売買システム。
【請求項5】
請求項2~4のいずれか1項に記載のソースコード売買システムであって、
前記記憶手段に記憶されている特定のプログラミング言語のソースコードの数に対する、外部情報取得手段がソースコード提供サイトから取得した前記特定のプログラミング言語に関する更新されたソースコードの数が所定の割合を超えていた場合に、前記第1の販売価格の調整による前記第2の販売価格の算出を実行する
ことを特徴とするソースコード売買システム。
【請求項6】
請求項1~5のいずれか1項に記載のソースコード売買システムであって、
前記記憶手段は、前記ソースコードに対応する複数の検索用語を記憶しており、
前記外部情報取得手段は、前記外部サービスサーバの一つである検索サイトから、前記複数の検索用語に基づいて検索された第3のソースコードを特定する情報と前記第3のソースコードに対応する価格を示す検索サイト価格に関する情報とを取得し、
前記価格調整手段は、前記第3のソースコードを特定する情報に対応する前記記憶手段に記憶された前記ソースコードの前記第1の販売価格を、前記検索サイト価格に関する情報に基づいて調整することにより、前記第2の販売価格を算出する
ことを特徴とするソースコード売買システム。
【請求項7】
請求項6に記載のソースコード売買システムであって、
前記価格調整手段は、前記検索サイト価格の方が前記第1の販売価格よりも高い場合に、前記第1の販売価格よりも高い前記第2の販売価格を設定する
ことを特徴とするソースコード売買システム。
【請求項8】
請求項6に記載のソースコード売買システムであって、
前記価格調整手段は、前記検索サイト価格の方が前記第1の販売価格よりも高い場合に、前記第2の販売価格を、前記検索サイト価格と同価格、又は前記検索サイト価格と前記第1の販売価格との間の価格、のいずれかに設定する
ことを特徴とするソースコード売買システム。
【請求項9】
請求項1~8のいずれか1項に記載のソースコード売買システムであって、
前記記憶手段は、前記ソースコードに対応する第2の複数の検索用語を記憶しており、
前記外部情報取得手段は、前記外部サービスサーバの一つでありニュースを配信するニュースサイトから、前記第2の複数の検索用語に基づいて検索された第4のソースコードを特定する情報と記事情報とを取得し、前記記事情報の内容が肯定的かどうかを評価し、
前記価格調整手段は、前記第4のソースコードを特定する情報に対応する前記記憶手段に記憶された前記ソースコードの前記第1の販売価格を、前記記事情報の内容の評価に基づいて調整することにより、前記第2の販売価格を算出する
ことを特徴とするソースコード売買システム。
【請求項10】
請求項9に記載のソースコード売買システムであって、
前記記事情報の内容の評価が肯定的である場合に、前記第1の販売価格よりも高い前記第2の販売価格を設定する
ことを特徴とするソースコード売買システム。
【請求項11】
請求項9又は10に記載のソースコード売買システムであって、
前記記憶手段は、肯定的な内容を示す複数の記事用語を記憶しており、
前記外部情報取得手段は、前記記事情報に含まれる前記記事用語に基づいて前記記事情報の内容が肯定的であることを評価する
ことを特徴とするソースコード売買システム。
【請求項12】
請求項11に記載のソースコード売買システムであって、
前記外部情報取得手段は、前記記事情報に含まれる前記記事用語の数が、前記記事情報に含まれる否定的な内容を示す複数の記事用語の数よりも多い場合に、前記記事情報の内容が肯定的であると評価する
ことを特徴とするソースコード売買システム。
【請求項13】
請求項9~12のいずれか1項に記載のソースコード売買システムであって、
前記外部情報取得手段は、前記第4のソースコードを特定する情報に関する前記記事情報の配信頻度が所定の値を超えている場合に、前記価格調整手段による前記第2の販売価格の算出の頻度を高める
ことを特徴とするソースコード売買システム。
【請求項14】
請求項1~13のいずれか1項に記載のソースコード売買システムであって、
ソースコードの類似度を判定する類否判定手段を有し、
前記類否判定手段は、前記記憶手段に記憶される新たなソースコードに類似する類似ソースコードが前記記憶手段に記憶されている場合に、前記新たなソースコードに対する前記類似ソースコードの使用割合を算出し、
前記価格決定手段は、前記使用割合に基づいて前記新たなソースコードの売上代金の分配割合を決定する
ことを特徴とするソースコード売買システム。
【請求項15】
請求項14に記載のソースコード売買システムであって、
前記類否判定手段は、前記新たなソースコードを複数の機能ブロックに分割し、それぞれの機能ブロックごとに前記記憶手段に記憶されているソースコードとの類似度を判定する
ことを特徴とするソースコード売買システム。
【請求項16】
請求項15に記載のソースコード売買システムであって、
前記類否判定手段は、前記新たなソースコードの前記機能ブロックごとの重要度を算出し、
前記価格決定手段は、前記機能ブロックごとの類似度と前記機能ブロックごとの重要度とに基づいて、前記新たなソースコードの売上代金の分配割合を決定する
ことを特徴とするソースコード売買システム。
【請求項17】
請求項14~16のいずれか1項に記載のソースコード売買システムであって、
前記価格決定手段は、前記新たなソースコードに類似する前記類似ソースコードが前記記憶手段に記憶されている場合であって、前記類似ソースコードへの参照情報が前記新たなソースコードに記載されている場合には、前記新たなソースコードに対する売上代金の分配割合を増加させる
ことを特徴とするソースコード売買システム。
【請求項18】
請求項1~17のいずれか1項に記載のソースコード売買システムであって、
前記価格決定手段は、前記ソースコードの前記内容に対し、マルチクラス分類器を用いてカテゴリの分類を行い、当該分類されたソースコードに対して回帰分析を行うことで、前記第1の販売価格を算出する
ことを特徴とするソースコード売買システム。
【請求項19】
請求項18に記載のソースコード売買システムであって、
前記マルチクラス分類器は、単純ベイズ分類器又はBag-of-words分類器の少なくとも一つである
ことを特徴とするソースコード売買システム。
【請求項20】
請求項18又は19に記載のソースコード売買システムであって、
前記回帰分析は、勾配ブースティング回帰分析である
ことを特徴とするソースコード売買システム。
【請求項21】
ソースコード売買システムにおけるソフトウェアのソースコードの販売方法であって
販売するソースコードを記憶し、
前記ソースコードの内容、売買情報又は書誌情報の少なくとも一つに基づいて、前記ソースコードの第1の販売価格を算出し、
前記第1の販売価格を、前記ソースコード売買システムの外部にある前記外部サービスサーバから取得した情報に基づいて調整し、第2の販売価格を算出し、
算出された前記第2の販売価格を表示する
ことを特徴とするソースコードの販売方法。
【請求項22】
請求項21に記載のソースコードの販売方法であって、
前記外部サービスサーバの一つであるソースコード提供サイトの製品情報から、第2のソースコードを特定する情報と前記第2のソースコードの販売価格を示すソースコード提供サイト価格に関する情報とを取得し、
前記第2のソースコードを特定する情報に対応する記憶手段に記憶された前記ソースコードの前記第1の販売価格を、前記ソースコード提供サイト価格に関する情報に基づいて調整することにより、前記第2の販売価格を算出する
ことを特徴とするソースコードの販売方法。
【請求項23】
請求項21又は22に記載のソースコードの販売方法であって、
記憶手段は、前記ソースコードに対応する複数の検索用語を記憶しており、
前記外部サービスサーバの一つである検索サイトから、前記検索用語に基づいて検索された第3のソースコードを特定する情報と前記第3のソースコードに対応する価格を示す検索サイト価格に関する情報とを取得し、
前記第3のソースコードを特定する情報に対応する前記記憶手段に記憶された前記ソースコードの前記第1の販売価格を、検索サイト価格に関する情報に基づいて調整することにより、前記第2の販売価格を算出する
ことを特徴とするソースコードの販売方法。
【請求項24】
請求項21~23のいずれか1項に記載のソースコード販売方法であって、
記憶手段は、前記ソースコードに対応する第2の複数の検索用語を記憶しており、
前記外部サービスサーバの一つでありニュースを配信するニュースサイトから、前記第2の検索用語に基づいて検索された第4のソースコードを特定する情報と記事情報とを取得し、前記記事情報の内容が肯定的かどうかを評価し、
前記第4のソースコードを特定する情報に対応する前記記憶手段に記憶された前記ソースコードの前記第1の販売価格を、前記記事情報の内容の評価に基づいて調整することにより、前記第2の販売価格を算出する
ことを特徴とするソースコードの販売方法。
【請求項25】
請求項21~24のいずれか1項に記載のソースコード販売方法であって、
前記記憶手段に記憶される新たなソースコードに類似する類似ソースコードが前記記憶手段に記憶されている場合に、前記新たなソースコードに対する前記類似ソースコードの使用割合を算出し、
前記使用割合に基づいて前記新たなソースコードの売上代金の分配割合を決定する
ことを特徴とするソースコードの販売方法。
【請求項26】
請求項25に記載のソースコード販売方法であって、
前記新たなソースコードに類似する前記類似ソースコードが前記記憶手段に記憶されている場合であって、前記類似ソースコードへの参照情報が前記新たなソースコードに記載されている場合には、前記新たなソースコードに対する売上代金の分配割合を増加させる
ことを特徴とするソースコードの販売方法。
【請求項27】
請求項21~26のいずれか1項に記載のソースコード販売方法であって、
前記ソースコードの前記内容に対し、マルチクラス分類器を用いてカテゴリの分類を行い、当該分類されたソースコードに対して回帰分析を行うことで、前記第1の販売価格を算出する
ことを特徴とするソースコードの販売方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータプログラムのソースコードの売買を仲介するソースコード売買システムに関する。
【背景技術】
【0002】
各種の商品の売買を仲介する売買システムが知られている。販売者と購入者との間で価格調整を行う機能を有する売買システムも多い。価格調整に当たっては、販売希望数量と購入希望数量との需給関係によって妥当な価格を導出することが可能である。
【0003】
ここで、商品が複製可能なデータである場合には、販売希望数量が定まらない場合が多い。物品の生産をせずに複製をすれば生産できるので、生産能力に起因する販売数量の制限がないためである。仮に販売希望数量を無限大(または十分に大きな数量)とすると、需給関係によって導出される価格は、商品の価値よりも小さなものとなってしまう。
【0004】
特許文献1には、購入対象データについて、実際に発生した販売価格に基づいて価格を決定する価格決定システムが開示されている。購入者(需要側)の判断に基づいて価格を決定することとなり、商品としてのデータの価値を反映した価格とすることができる。
【0005】
商品がコンピュータプログラムのソースコード(以下、単に「ソースコード」と言う。)である場合にも、特許文献1に開示された方法を使用することは可能である。しかしながら、ソースコードの商品自体の内的な要素や外部サービスなどの外的な要素を把握しておらず、商品としてのソースコードの価値を十分に反映した価格とすることはできていない。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は、商品としてのソースコードの価値を反映した価格で売買の仲介を行うことのできるソースコード売買システムを提供することを課題とする。
そこで、本発明は、ソースコードの類似度に基づく売買利益の配分の仕組みや、外部ソースの情報を活用したダイナミックプライシング(変動価格)の仕組みを提供する。
【課題を解決するための手段】
【0008】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、ソフトウェアのソースコードを売買するためのソースコード売買システムであって、ソースコードを記憶する記憶手段と、前記ソースコードの内容、売買情報又は書誌情報の少なくとも一つに基づいて、前記ソースコードの第1の販売価格を算出する価格決定手段と、前記ソースコード売買システムの外部にある外部サービスサーバから情報を取得する外部情報取得手段と、前記第1の販売価格を、前記外部サービスサーバから取得した情報に基づいて調整し、第2の販売価格を算出する価格調整手段と、算出された前記第2の販売価格を表示する売買仲介手段と、を有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、ソースコードの類似度に基づく売買利益の配分の仕組みや、外部ソースの情報を活用したダイナミックプライシング(変動価格)の仕組みを提供することができる。
【図面の簡単な説明】
【0010】
【
図1】ソースコード売買システムの構成例を示す図である。
【
図3】価格決定部15の計算の例を示すフローチャートの例である。
【
図4】ソースコード売買システム1を含む全体システム400の構成例である。
【
図5】ソースコード売買システム1のハードウェア構成の例である。
【
図6】ソースコード売買システム1を含む全体システム400の接続関係の例である。
【
図10】機能ブロックを用いた参照先配分率決定フロー1000の例である。
【
図13】分類器によるソースコードの分類フロー1300の例である。
【
図14】外部情報による価格調整フロー1400の例である。
【
図15】ニュースサイトの情報に基づく価格調整フロー1500の例である。
【
図16】外部情報による価格調整の実行頻度変更フロー1600の例である。
【発明を実施するための形態】
【0011】
以下、本発明の実施例を説明する。
【実施例0012】
(システムの構成)
図1は、ソースコード売買システムの構成を示す図である。ソースコード売買システム1は、1又は2以上の販売者端末21及び購入者端末22と、ネットワークを介して接続されている。ソースコード売買システム1は、商品登録部11を介して販売者端末21から登録されたソースコードデータ12を、売買仲介部13を介して購入者端末22のユーザにダウンロード販売する。なお、販売形式はダウンロード販売でなくともよい。
【0013】
ソースコード売買システム1は、商品登録部11、売買仲介部13、価格決定部15、類比判定部16及びソースコード要望提示部17を備え、ソースコードデータ12及び価格決定データ14を保持している。
【0014】
商品登録部11は、販売者端末21から、販売を希望するソースコードに係る情報を受信する。販売を希望するソースコードをアップロードさせてソースコードデータ12として格納し、後述する書誌事項14dを受信して価格決定データ14を更新する。
【0015】
ソースコードデータ12は、販売されるソースコードである。
【0016】
売買仲介部13は、購入者端末22に販売されるソースコード及び価格を含む情報を表示し、購入者端末からの購入申込を受付け、ソースコードをダウンロードさせる。購入されると、後述する販売実績14bについて価格決定データ14を更新する。
【0017】
売買仲介部13は、また、各々のソースコードの詳細を表示するホームページへのリンクを備えている。リンクによって詳細が表示されると、後述する注目度14cについて価格決定データ14を更新する。
【0018】
価格決定データ14は、各々のソースコードの価格を決定するためのデータである。詳細は後述する。
【0019】
価格決定部15は、価格決定データ14に基づいて各々のソースコードの価格を決定し、保持する。保持された価格は、売買仲介部13によって用いられる。
【0020】
類比判定部16は、2のソースコードについて、その一方が他方を使用して作成されたと推認できるような類似度を計算し、類似度が十分に大きな場合には類似である(一方が他方を使用して作成された)と判断し、後述する類否情報14eについて価格決定データ14を更新する。
【0021】
ここで、類似度を計算する手法は、いかなるものであってもよい。例えば、ソースコードを行単位に分割して同一内容の行の比率を求める、ソースコード中の変数名の一致度合いを求める、その他の方法を用いることができる。本発明では、類似であるか否かの判断をすることができれば十分である。
【0022】
ソースコード要望提示部17は、購入者端末22からソースコード作成の要望(作成を希望するソースコードの機能等)を受け付け、受け付けた要望の一覧を購入者端末22(複数の購入者端末22があり、ソースコード作成の要望を入力した購入者端末22以外の購入者端末22をも含む)に表示する。表示に際してはそのソースコードの作成を自分も望むことを投票する手段(例えば「いいね」ボタン)を提供する。投票が行われると、後述する注目度14cについて価格決定データ14を更新する。
【0023】
ソースコード要望提示部17は、また、受け付けた要望の一覧を販売者端末21にも表示する(ただし、ソースコード売買システム1がインターネットのホームページとして運用されるのであれば、同一の端末機が販売者端末21にも購入者端末22にもなり得るので、販売者端末21に表示するための特別の仕組は要しない)。その際、投票数も合わせて表示するものとする。販売者は、作成の要望の多いソースコードに係る情報を得ることができ、開発を行うことができる。
【0024】
図2は、価格決定データを示す図である。価格決定データ14は、各々のソースコード(図中の1行)について、ソースコードID14a、販売実績14b、注目度14c、書誌事項14d及び類否情報14eを含んでいる。
【0025】
ソースコードID14aは、各々のソースコードを一意に同定するためのIDである。
【0026】
販売実績14bは、販売数量及び販売価格を含むデータであり、発売開始からの累積の販売数量(累積数量)14b11及び販売価格(累積価格)14b12、並びに、事前に定めた最近の期間の販売数量(最近数量)14b21及び販売価格(最近価格)14b22を含む。ただし、累積数量14b11及び累積価格14b12、又は、最近数量14b21及び最近価格14b22の一方のみとしてもよい。
【0027】
最近数量14b21及び最近価格14b22を求めるためには、売買仲介部13から販売数量及び販売価格を販売時点と共に受領し、販売時点に基づいて所定の最近の期間のみについて積算することができる。又は、例えば1日毎の期間について最近数量14b21及び最近価格14b22を求めるのであれば、期間の開始時に最近数量14b21及び最近価格14b22の値を0とし、売買仲介部13から受領する販売数量及び販売価格を積算してもよい。
【0028】
注目度14cは、各々のソースコードが注目されている(関心を持たれている)度合を示すデータであり、ソースコード要望提示部17から受領する投票数14c1及び売買仲介部13から受領するページビュー数14c2を含む。なお、投票数14c1及びページビュー数14c2についても、販売実績14bと同様に累積、最近又はその両方とすることができる。
【0029】
書誌事項14dは、商品登録部11から受領する書誌情報のデータであり、作成者14d1及び言語14d2を含む。
【0030】
類否情報14eは、類比判定部16から受領する類似度のデータであり、使用ソースコード14e1及び使用率14e2を含む。図は、ソースコードDが、そのうち70%についてソースコードAを用いて作成された場合のものである。
【0031】
図3は、価格決定部の計算の例を示すフローチャートである。価格決定部15は、1日につき一度起動され、各々のソースコードの価格を計算する。起動の間隔は、1日よりも長い間隔、例えば3日、1週間等としてもよい。
【0032】
また、1日よりも短い間隔(例えば6時間)としてもよいが、最近数量14b21及び最近価格14b22を価格決定部15の起動間隔に合わせると、昼間と夜間とで大きく変動する可能性がある。この点、世界各国からのソースコード購入を処理する場合には、変動が緩和されるので、1日よりも短い間隔として価格を頻繁に改定することが容易となる。
【0033】
価格決定部15は、ステップ15aにおいて、価格(P)にR0を乗じて減額する(0<R0<1)。その後、価格決定データ14を読み込み、それに基づいて価格を調整する。価格決定データ14に基づく調整で価格が上昇しない場合には、ソースコードの価格は時間の経過(価格決定部15の動作回数)によって下落する。価格を上昇させる要因が発生すれば価格の低下が止まるので、時間経過による価格の低下と、単位時間当たりの価格上昇要因発生とが均衡する価格として、商品としてのソースコードの価値に合った価格に収束すると考えられる。
【0034】
価格決定データ14に基づく調整は、販売実績に基づく調整(ステップ15b)、注目度に基づく調整(ステップ15c)、書誌事項に基づく調整(ステップ15d)、及び類否情報に基づく調整(ステップ15e)が行われる。
【0035】
販売実績に基づく調整(ステップ15b)は、販売実績14b(累積数量14b11、累積価格14b12、最近数量14b21、最近価格14b22)に基づいて価格を調整する。
【0036】
例えば、累積数量14b11について、その値b11から、基準値b’11を減算し、それに所定の比率Rb11を乗算した値を価格Pに加算する。b11>b’11であれば価格が上昇し、b11<b’11であれば価格が下降する。(以下、価格データ14に含まれる値について、価格データ14において「14」に続く符号で示し(例えば、b11は符号14b11である累積数量の値を示す。)、それに係る比率を「R」の後のその符号をつけて示す。)
【0037】
累積価格14b12、最近数量14b21、最近価格14b22についても同様の計算を行う。これにより、販売実績14bに基づく価格調整が行われる。なお、累積数量14b11、累積価格14b12、最近数量14b21、最近価格14b22のすべてについて価格調整を行わずにその一部について行ってもよい。例えば、最近数量14b21、最近価格14b22のみについて価格調整を行うこととしてもよい。最近の販売実績のみが反映され、需要の変化に対応するものとなる。
【0038】
なお、P=P+(b11―b’11)×Rb11との数式は、価格調整の行い方の一例であり、任意の数式として設計してよい。
【0039】
以上、販売実績14b(累積数量14b11、累積価格14b11、最近数量14b21、最近価格14b22)に基づく価格調整を説明した。具体的にいかなる価格調整を行うかについては、一例であり、任意の設計としてよい。
【0040】
注目度に基づく調整(ステップ15c)は、注目度14c(投票数14c1、ページビュー数14c2)に基づいて価格を調整する。数式は、販売実績に基づく調整(ステップ15b)と同様とした。
【0041】
書誌事項に基づく調整(ステップ15d)は、書誌事項14d(作成者14d1、言語14d2)に基づいて価格を調整する。書誌事項14dは数値ではないので、書誌事項14dを数値に変換する関数fを用いる。
【0042】
関数fの具体形は、設計事項として定めてよい。例えば、作成者14d1、言語14d2のそれぞれについて、その価値をソースコード売買システム1の運営者が定めて決定してもよい。また、同一の作成者14d1、同一の言語14d2である他のソースコードの販売実績14bに基づいて計算してもよい。
【0043】
類否情報に基づく調整(ステップ15e)は、類否情報14e(使用ソースコード14e1、使用率14e2)に基づいて価格を調整する。各々のソースコードについて、そのソースコードを使用する他のソースコード(使用ソースコード14e1)が存在する場合、使用する他のソースコードの価格P(e1)の使用率e2を乗算した値が、そのソースコードの価値を推定する根拠となる。これに、所定の比率Reを乗算した値を価格Pに加算する。なお、Σは、使用する他のソースコードが複数ある場合に、全ての使用する他のソースコードについて加算する。
【0044】
なお、P=P+(Σ(P(e1)・e2)×Reとの数式は、価格調整の行い方の一例であり、任意の数式として設計してよい。
【0045】
以上詳細に説明したように、本実施例のソースコード売買システム1は、価格決定データ14に基づいて価格を決定する価格決定部15を備える。価格決定データ14として、販売実績14b、注目度14c、書誌事項14d、類否情報14eを用いることで、ソースコードの価値を反映した価格とすることができる。
【0046】
なお、ソースコードの価値をより正確に反映した価格とするため、価格決定データ14に他の情報をさらに保持し、価格決定部15において処理してもよい。他の情報としては、ソースコードの詳細を表示するホームページの「お気に入り」の登録数、ソースコードについて評価を求めた場合の評価値、クレームの数、その他を用いることができる。
購入者端末22は、例えばソフトウェア開発会社、システム構築会社、大学等教育機関、個人プログラマー等が使用するコンピュータやタブレットなどの端末であり、販売されるソフトウェアのソースコードを購入する。
ソースコード売買システム1は、販売者端末21と購入者端末22間をつなぎ、適切な価格でソースコードを販売する仲介を行う。
外部サービスサーバ23は、例えば本ソースコード売買システム1と同様にソースコードを売買するコード売買サイトや、検索エンジンサイトや、ニュースや株価を提供するニュースサイト等である。ソースコード売買システム1は、これらの外部サービスサーバ23から、ソースコードに関する販売価格情報や、ソースコードに関連したニュースの記事情報や株価情報などの外部情報を取得する。
全体システム400のそれぞれの端末やソースコード売買システム1は、例えば、スマートフォン、タブレット、携帯電話機、携帯情報端末(PDA)などの携帯端末でもよいし、メガネ型や腕時計型、着衣型などのウェアラブル端末でもよい。また、据置型または携帯型のコンピュータや、クラウドやネットワーク上に配置されるサーバでもよい。あるいは、これらの複数の端末の組合せであってもよい。例えば、1台のスマートフォンと1台のウェアラブル端末との組合せが論理的に一つの端末として機能し得る。またこれら以外の情報処理端末であってもよい。
全体システム400のそれぞれの端末やソースコード売買システム1は、それぞれオペレーティングシステムやアプリケーション、プログラムなどを実行するプロセッサと、RAM(Random Access Memory)等の主記憶装置と、ICカードやハードディスクドライブ、SSD(Solid State Drive)、フラッシュメモリ等の補助記憶装置と、ネットワークカードや無線通信モジュール、モバイル通信モジュール等の通信制御部と、タッチパネルやキーボード、マウス、音声入力、カメラ部の撮像による動き検知による入力などの入力装置と、モニタやディスプレイ等の出力装置とを備える。なお、出力装置は、外部のモニタやディスプレイ、プリンタ、機器などに、出力するための情報を送信する装置や端子であってもよい。
主記憶装置には、各種プログラムやアプリケーションなど(モジュール)が記憶されており、これらのプログラムやアプリケーションをプロセッサが実行することで全体システムの各機能要素が実現される。なお、これらの各モジュールは集積化する等によりハードウェアで実装してもよい。また、各モジュールはそれぞれ独立したプログラムやアプリケーションでもよいが、1つの統合プログラムやアプリケーションの中の一部のサブプログラムや関数などの形で実装されていてもよい。本明細書では、各モジュールを各「処理部」という呼び方をする。
本明細書では、各モジュール(各処理部)が、処理を行う主体(主語)として記載をしているが、実際には各種プログラムやアプリケーションなど(モジュール)を処理するプロセッサが処理を実行する。
補助記憶装置には、各種データベース(DB)が記憶されている。「データベース」とは、プロセッサまたは外部のコンピュータからの任意のデータ操作(例えば、抽出、追加、削除、上書きなど)に対応できるようにデータ集合を記憶する機能要素(記憶部)である。データベースの実装方法は限定されず、例えばデータベース管理システムでもよいし、表計算ソフトウェアでもよいし、XMLなどのテキストファイルでもよい。
価格決定部15は、販売実績やソースコードの書誌情報(例えば作成者、プログラム言語、評価等、ソースコードのカテゴリ)に基づいてソースコードの販売価格を変動させ、決定する。
また、本実施例ではさらに、新たにソースコードが登録される場合に、すでに登録されているソースコードの情報に基づいて機械学習による分析を行うことで、ソースコードの販売予想価格を算出し、販売価格を決定する。
類否判定部16は、ソースコード同士の類似度を文字列の差分検出アルゴリズム等に基づき算出する。
外部情報取得部31は、定期的にもしくは任意のタイミングで、ソースコードを売買するコード売買サイトや、検索エンジンサイトや、ニュースや株価を提供するニュースサイト等の外部サービスサーバ23から、ソースコードに関する販売価格情報や、ソースコードに関連したニュースの記事情報や株価情報などの外部情報を取得する。
価格調整部32は、価格決定部15で決定された価格を外部情報に基づき定期的にもしくは任意のタイミングで更新する。
newsはニュースサイトから取得した情報に基づいて算出されたことを示す。codeは、他のソースコード売買サイトの価格情報に基づいて算出されたことを示す。searchは検索サイトから取得した情報に基づいて算出されたことを示す。
参照先707は、ソースコードが他のソースコードをコピーして、もしくは他のコードから改変して作成されている場合に、その他のソースコードを参照する情報である。プロダクト情報のプロダクトIDを参照する。
売上配分率708は、そのソースコードを販売した後に販売者に支払われる売り上げの配分率を規定する。ここでは割合で出しているが、販売に対する所定の経費や手数料を差し引いた後の金額を分配することとしてもよい。特定の方法で売上金を分配できる方法が記載されていればよい。
参照先配分率709は、他のソースコードを参照している場合に、その参照先のソースコードの販売者に対しても売り上げの一部を分配するための配分率を規定する。例えばソースコードのうちの30%を他のソースコードから流用している場合には、売り上げの30%を他のソースコードの販売者に配分する。
更新日時710は、情報が更新された日時を記憶する。
類似判定930において類似するソードコードが存在しない場合には、類否判定部16は、新規ソースコードの配分率を100%にする。すなわち、参照先配分率を0%とする(970)。
類否判定部16は、参照先配分率を価格データ18の参照先配分率709に記憶する(980)。
なお、参照記載へのインセンティブとして、配分率を調整することとしたが、このステップ950、960は設けない構成としてもよい。
また、インセンティブのつけ方として、参照先の配分率を下げ、新規ソースコードの配分率を上げる構成としたが、その代わりに、もしくはそれと並行して、売り上げに対する売上配分率708を上げることによりインセンティブをつける、という構成にしてもよい。
ソースコードのカテゴリ(ジャンル)は、大分類として、管理系、Web系、バッチ処理系、組み込み系、音声映像処理系、データ処理系、ゲーム系等に分けることができ、それぞれの大分類は中で中分類や小分類に分けることができる。例えばWeb系の中の中分類としては、Webサイト構築ソフト、CSSデザイン、HTMLデザイン、JavaScript(登録商標)処理、ECサイトなどに分類することができる。これらの情報は書誌情報に登録されている。
類否判定部16は、書誌情報に基づき同一または関連するカテゴリごとにあらかじめ登録されている一般的な機能ブロックの構造の情報に基づいて、新規ソースコードを解析し機能ブロックごとにソースコードを分解する。ソースコードの中に記載されているコメント欄に記載された説明を検索・解析したり、よく使われる関数やモジュールを検索・解析したりすることで、ソースコードの機能の区切り部分を特定し、機能ブロックを分解することができる。
なお、登録のたびに人手によって機能の区切り部分を特定して機能ブロックを特定する構成としてもよい。
分解された各機能ブロックには、それぞれ重要度及びこれに基づく重み係数が設定されている。例えばECサイトであれば商品管理機能や決済機能の重要度が「高」、顧客管理機能や販売インタフェースの生成機能の重要度は「中」等と設定されている。
類否判定部16は、分解された機能ブロックごとに過去にソースコードデータ12に記憶されているソースコードと類似しているか類似度を算出する(1030)。
類否判定部16は、類似している他のソースコードが存在する場合には、機能ブロックごとに新規ソースコードにしめる他のソースコードに類似している部分の割合(類似部分の割合)を求め、これに各機能ブロックの重み係数を乗算し、すべてを合計することで参照先配分率を決定する(1050)。
例えば、あるソースコードがA、B、Cの3つの機能ブロックからなり、それぞれのソースコード中の重要度に基づく重み係数が20%、50%、30%だとする。A、B、Cがコピーしている他のソースコードの割合がそれぞれ、70%、20%、80%だとする。この場合A、B、Cの他のソースコードに対する依拠する度合いはそれぞれの数値を乗算し、14%、10%、24%となる。
結果、このソースコードがトータルで他のソースコードに依拠する度合いは、これらの合計の48%となり、この数値を参照先配分率とする。
類似判定1040において類似するソードコードが存在しない場合には、類否判定部16は、新規ソースコードの配分率を100%にする。すなわち、参照先配分率を0%とする(1080)。
類否判定部16は、参照先配分率を価格データ18の参照先配分率709に記憶する(1090)。
売買仲介部13は、購入者端末22からの注文を受け、ソースコードを販売した場合には、販売価格に対し価格データ18の売上配分率708を乗算することで、売上分配利益を算出する。その後売買仲介部13は、この売上分配利益を参照先配分率709に基づいて、売れたソースコードの販売者端末21と参照先のソースコードの販売者端末21との間で分配する。
本実施例では、このようにしてソースコードの類似度を用いて、参照先のソースコードにも売り上げを分配することができ、ソースコード販売者のインセンティブを高めることができる。