Extract LicenseType interface for custom license

同じフォーマットを汎用的に利用出来るようにするためにインターフェースの抽出をしました