应用 APP 的Highcharts 授权许可全解析:SaaS 与 APP 的区别、边界与合规要点

面向开发者和采购人员的授权选型指南
依据 Highsoft《Standard License Agreement 19.0》整理


一、为什么开发者与采购容易搞混 SaaS 和 APP?

在实际项目中,很多人会把"我们做了个 APP"和"我们用了 SaaS 授权"混为一谈。但从 Highcharts 的授权体系来看,SaaS 和 APP 根本不是同一个维度的概念

  • SaaS Highcharts这里指是一种授权类型(License Type),不是我们产品本身的公网服务形态;
  • APP 是一种产品形态,是你做出来的东西。

同一个 APP,可能对应 SaaS License,也可能对应 OEM License,甚至 Internal License,取决于它分发给谁、装在哪里、怎么用

采购如果只问"我们要做个 APP,买哪个授权",往往得不到准确答案。正确的问法是:

“我们的 APP 面向谁?部署在哪里?用户怎么访问?”

这才是决定授权类型的核心。


二、先厘清三个关键概念

在 Highcharts 授权协议里,与 APP 相关的核心术语有三个:

1. External Application(外部应用)

指被许可方通过 Customer Installation 之外的分发形式 提供的软件产品、应用或解决方案,其中嵌入了 Licensed Software,并已在 License Statement 中明确标识和获批。

协议明确指出,外部应用 可以通过各种平台交付,包括:

面向外部用户、由许可方托管或通过 Web、移动端、桌面客户端提供访问的应用, 通常属于 External Application,通常需要 SaaS License,并且应在 License Statement 中明确标识。

2. Licensee Product(被许可方产品)

指被许可方提供给第三方、通过 客户端 安装到客户服务器上的产品。它对应的是 OEM License,而不是 SaaS License。

3. Customer Installation(客户端)

指将 Licensed Software 作为 Licensee Product 的组成部分,通过安装到客户拥有或运营的服务器上的方式进行分发。

如果产品会进一步交付给客户,并由客户托管或安装,则通常应评估 OEM License。


三、SaaS License 与 APP 的关系

SaaS License 是什么?

根据协议第 4.2 节,SaaS License 授予被许可方:

  • Internal License 的全部权利;
  • 额外允许将 Licensed Software 作为 一个或多个 External Application 的组成部分;
  • 非独占、永久(针对适用 Release)、不可重复使用(non-reusable)、全球范围;
  • 可在指定 External Application 的任意域名、子域名、端点、环境和部署中使用。

结论:面向外部用户的 APP,通常需要 SaaS License

协议明确规定:

any use of the Licensed Software in connection with a publicly accessible website or webpage made available to users outside of the Licensee’s organization (Public Websites) shall be deemed use in an External Application and will require a SaaS License.

面向组织外部用户的 APP,属于 External Application,需要 SaaS License。

SaaS License 下的 APP 能做什么?

能做不能做
将 Highcharts 嵌入一个或多个指定 External Application进行客户端安装
在指定 APP 的任意域名、环境、部署中使用把软件安装到客户自己的服务器或其他终端上
修改和增强指定 APP转让、出租、销售、再分发、再许可 Licensed Software
在 公网 Website 上生成静态内容把 Licensed Software 从授权 APP 替换到另一个 APP
使用 Internal License 覆盖的内部网站和应用把 Software 本身作为独立产品对外分发

多 APP 场景:什么时候需要多个 SaaS 授权?

协议第 3 节给出了判定标准。如果一个 APP 满足以下任一条件,就构成独立且额外的 External Application,需要单独授权:

  1. 作为独立产品、服务或配置进行营销、品牌化、定位或销售;
  2. 提供给实质上不同的客户群、行业垂直领域或目标用户群体;
  3. 提供实质上不同的主要功能、用例或业务目的;
  4. 采用不同的商业模式、定价结构或订阅计划;
  5. 部署为独立的托管环境或平台,服务于不同的产品线。

四、APP 授权方案速查:三种场景

APP 场景分发对象是否装到客户服务器推荐授权
面向公众/客户的移动 APP、桌面客户端外部用户SaaS License
面向客户的 Web APP / SaaS 服务外部用户SaaS License
随产品安装到其他终端的 APP第三方客户OEM License
仅限公司内部员工使用的 APP内部用户Internal License
既有外部 APP 又有客户现场安装混合部分SaaS + OEM 组合
OEM 产品中还需在公开 APP 中使用混合OEM + 可选 SaaS 附加权利

补充说明

  • Internal License 仅覆盖内部网站和内部应用,供员工和承包商使用,不面向客户、顾客或其他第三方,不授权客户端安装。
  • OEM License 不自动包含 Internal 或 SaaS 权利。如果需要在 APP 本身(作为 External Application)中使用,需根据第 4.3.3 节额外付费添加,并在 License Statement 中确认。
  • OEM License 仅与 客户端数量相关

总结:APP 授权合规的核心原则

一句话:看 APP 分发给谁、装在哪里。

  • 面向外部用户、不装到客户终端 → SaaS License
  • 随产品装到客户终端 → OEM License
  • 仅限内部员工使用 → Internal License
  • 混合场景 → 组合授权,并在 License Statement 中明确标识

三条合规底线:

  1. 授权范围以 License Statement 为准,超出范围的使用可能被要求补缴费用,甚至构成重大违约;
  2. 新增 APP、新增 External Application、新增 Customer Installation 都要事先报备并更新 License Statement
  3. AI 辅助开发、自动化生成不改变授权要求,责任始终在使用方。

给采购的建议:

不要只问"多少钱",要问清楚:

  • 我们买的是哪种 License 合规?
  • 授权覆盖几个产品、几个 客户服务器?
  • 是否包含技术服务与期限?

把这些确认清楚,才能真正做到授权合规、采购放心、开发安心


本文依据 Highsoft《Standard License Agreement 19.0》整理,具体授权条款以官方协议及 License Statement 为准。

源码链接: https://pan.quark.cn/s/46590cc698ca 在信息技术领域,特别是在网络应用程序开发和用户界面设计方面,构建支持多选项选择的下拉选择框是一项普遍的需求。常规的下拉选择框往往仅限于让用户选择一个选项,然而,通过定制和扩展,我们能够构建一个能够支持多个选项选择的下拉选择框。以下将对这一主题进行深入探讨。 我们将探讨“支持多选项选择的下拉选择框”的构建方法。这种功能通常应用于用户需要从众多选项中进行选择,而部选项不可能在页面上完展示的情况。在这种情况下,一个可进行多选项选择的下拉选择框提供了一种既高效又节省空间的解决方案。描述中提到,这种多选项下拉选择框是通过一个被称为“checkboxlist”的元素构建的,这可能是使用特定的编程语言(如JavaScript、HTML5或特定的前端框架如React、Vue)中的一个组件或控件。 在网络应用程序开发中,实现此类功能通常需要以下步骤: 1. **HTML结构**:构建一个基础的下拉选择框结构,通常使用`<select>`元素,并为其附加`multiple`属性以启用多选项选择功能。每个选项则由`<option>`元素表示。 2. **CSS样式**:为了使下拉选择框看起来更像一个列表,可能需要对其进行个性化设置,例如添加背景色、边框等。可以使用CSS来调整`<select>`元素的样式。 3. **JavaScript交互**:为了实现checkboxlist的效果,通常会运用JavaScript或jQuery来处理用户的交互事件,如点击、键盘操作等,同时更新选定的选项状态。 4. **自定义控件**:在某些场景下,为了获得更佳的用户体验,开发者可能会选择创建自定义的用户控...
代码转载自:https://pan.quark.cn/s/f81e48336f75 在当前流媒体服务广泛应用的背景下,于Android系统平台完成网络视频的播放功能是一项普遍需求。 为了达成这一目标,开发者必须熟练掌握若干核心的技术要点。 以下提供一份详尽的说明: 1. **播放器库的应用**:Android系统自带的MediaPlayer类能够播放本地及网络媒体资源,但其功能较为有限,对于网络视频的兼容性表现不佳。 因此,开发者常常会选用第三方库,例如ExoPlayer。 ExoPlayer是由Google研发的一款具备高性能且可灵活定制的媒体播放器,能够支持多种格式和网络流媒体,涵盖DASH、HLS以及Progressive Download。 2. **视频链接的获取**:网络视频播放的首要步骤是获取视频的URL地址。 这可能需要服务端进行交互,比如通过发送HTTP请求或调用API来获取视频的链接地址。 3. **播放器的配置**:在建立ExoPlayer实例时,需要设定播放源(DataSource),这通常通过MediaSource对象来完成。 针对网络视频,可以使用ExtractorMediaSource,并搭配DefaultHttpDataSourceFactory来管理HTTP或HTTPS链接。 4. **播放操作的操控**:ExoPlayer提供了丰富的API用于播放控制,包括play(), pause(), seekTo()等功能。 开发者需要将这些控制接口UI组件进行关联,以实现便捷的用户交互。 5. **异常管理**:网络视频播放过程中可能遭遇各种挑战,如网络连接中断、服务器响应错误等。 因此,需要编写异常管理代码,确保在问题发生时能够妥善应对,例如...
我也要推广
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值