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 the 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 email@example.com
When you're ready to begin distributing your app to a live hostname, the confirmation email directs you to the My Licenses page where you can create the key
Enter your activation code into the provided link, enter your hostname(s), and it will generate your unique Hostname Deployment License key. You may purchase additional hostnames at the rates here.
You're ready to deploy!
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:
GC.Spread.Sheets.LicenseKey = "[your Distribution license key here]";
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:
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.
For example pricing only:
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: What's the difference between Internal/Non-Commercial Deployment vs Commercial/SaaS Deployment?
A: Non-commercial use is defined as an application(s) that will be used for internal or external use where the end-user will not be charged to access the service(s). Commercial and/or SaaS use is defined as an application(s) that will be used for external use where the end-user or company(s) will be charged to access the service(s).
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 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 firstname.lastname@example.org and they will promptly respond with an answer.