SpreadJS is licensed per Developer and deployed Hostname
A Developer license is needed for every developer using SpreadJS. In addition, a Deployment license is needed for each separate production hostname SpreadJS is deployed on.
You can purchase both the developer license and Deployment licenses separately. We also offer a SpreadJS Developer License + SpreadJS One (1) Annual Hostname Deployment License Bundle which includes one Developer license and one Annual deployment license. Perpetual Deployment licenses are available be contacting firstname.lastname@example.org
How SpreadJS Licensing Works:
How to license SpreadJS in your application
With every developer bundle license, you'll receive one distribution license for one hostname (domain), which entitles you to generate a distribution key that will be used in the script code. To deploy to additional hostnames, you can buy packages of additional, renewable distribution licenses by contacting sales, and generate distribution keys for those hostnames. Licenses must be renewed annually, and keys will need to be updated if you deploy a new version of SpreadJS.
The license for SpreadJS is set via script code. This is done by setting the GC.Spread.Sheets.LicenseKey before creating a new Workbook() instance:
<script> GC.Spread.Sheets.LicenseKey = " [your Distribution license key here]"; </script>
NOTE: When entering the license key, be sure to paste the entire key exactly how it was provided to you. Typical keys look similar to the following:
- "Example inc, app1.example.com|app2.example.com, 972138875423714#B0LKsUTWlXVu ....."
- "Example inc, 972138875423714#B0LKsUTWlXVu..."
Watch the video:
Q: How many SpreadJS Developer licenses do I need?
A: Each developer of an application that references SpreadJS code will need an individual developer license. If you have five developers working with SpreadJS, you will need five developer licenses. In this example, you can have up to five unnamed developers working with SpreadJS at the same time. The SpreadJS Developer Bundle includes one developer license and one Deployment license.
Company A has (3) developers and deploys their application on (1) hostname. License requirements would be:
SpreadJS Developer License Bundle = $1499
SpreadJS Developer License $999 * 2 = $1998
Company B has (5) developers and application is SaaS, hosted at *.company.com. License requirements would be:
SpreadJS Developer License $999 * 5 = $4995
SpreadJS Single Domain Deployment License = $12499
Q: What is a Deployment License Key?
A: A SpreadJS Deployment license is required when you are ready to deploy your application(s) to internal/external production. The Annual Deployment license must renewed every year to continue using SpreadJS in your application(s). Perpetual Deployment licenses are also available.
The Deployment License key is a character string that authorizes a deployed application to use SpreadJS. You can generate a Deployment Key using your account on our website. To make a Deployment Key, simply add the hostname(s) to be authorized and generate the key. Then you'll apply the key to your app as listed above. You can generate as many keys that you are licensed for.
Q: What is a Hostname and how many Deployment licenses do I need?
A: SpreadJS Deployment is licensed by hostname or application and each separate hostname will need its own separate deployment license. The deployment license is created and assigned specifically for the hostname you provide.
Examples of a single host name include: www.mycompany.com/dir1/xxx, www.mycompany.com/dir2/xxx, and www.mycompany.com/dir3/dir3a/xxx
Examples of multiple hostnames include: www.mycompany.com, demos.mycompany.com. acct1.mycompany.com, acct2.mycompany.com, www.mycompany.jp. These are all different hostnames. In this example, a total of five Deployment licenses will be needed.
Q: How many hostnames can I add to a Deployment license?
A: Each SpreadJS Developer Bundle includes one developer license and one Deployment license key to license one production hostname. Additional hostname license packages are available for purchase separately as explained under the Pricing Licensing Table section.
Q: How many web applications can I deploy with my purchase?
A: You can deploy as many applications as you wish with the standard per-developer license on one hostname. Additional hostnames deployment licenses are available separately.
Q: How long will my Deployment license be valid?
A: If you purchased the Annual Deployment Key (most cases): The SpreadJS Deployment Key is valid for one year and is renewed annually. You must renew the Deployment License every year to continue using your SpreadJS application on a production server. Once renewed, you can continue to use the same license key for your hostname application(s). No new license key will be needed unless you upgrade your application to use a newer major version of SpreadJS. At that time, you will be issued a new license key.
If you purchased the Perpetual Deployment Key (only available by contacting sales): The SpreadJS Deployment Key will not expire and you can continue using that specific SpreadJS version you purchased in production for an unlimited time. Upgrade options are also available if you choose to use later major versions other than what you originally purchased.
Q: What happens if I don't renew my Annual Deployment license?
A: You must remove all references to SpreadJS and its code from your applications and discontinue all use of the product. Failing to comply constitutes a breach of GrapeCity's property rights and End User License Agreement.
Q: How do I create a Deployment license for an intranet application that doesn't have a hostname?
A: Licensing code uses the browsers window.location.hostname variable to check for a match with the license. If you're accessing your intranet application by IP address, you can use that. For example, if your URL looks like https://10.0.6.9/apps/employees/, then your hostname should be 10.0.6.9. If you're accessing your intranet application by machine name--for example, if your URL looks like https://appserver03/apps/employees/, contact sales to generate the key for you.
Q: How do I license and create a Deployment license for a mobile or desktop application that doesn't have a hostname?
A: Application shells like Electron or Ionic often don't have a hostname, or their hostname is localhost. To create a distribution license for these types of applications, please contact sales to generate you a license key. These types of applications require a single domain (*.domain) license per application.
Q: Does SpreadJS require an internet connection for licensing to work?
A: No, the license validation in SpreadJS does NOT call back to our server and does not require any internet connection. The mechanism just validates the key and domain to make sure they are valid and match.
Q: Is the source code available for the SpreadJS Designer?
A: The developer license includes the run-time SpreadJS Designer for the developer to use. Optionally, the Designer source code is available separately for purchase so you can embed this same functionality directly into your own applications. Contact sales for pricing.
Q: Is SpreadJS compliant with x?
A: SpreadJS is a developer component, not an application. It is up to the customer’s application to be compliant as the application controls all the security, etc.
Q: I use contracted developers. Can I transfer or reassign a license?
A: Yes. The license will be linked to your company account with GrapeCity. If you don’t already have one, it will be created at the time of purchase. You can issue your purchased license key(s) to a third-party developer and retain all administrative control via the customer portal. If/when you need to transfer a license key to another developer, you can contact our sales team or support team to reassign the license.
Q: I still have questions. Who should I contact? A: Contact sales at email@example.com and they will promptly respond with an answer.