Link Search Menu Expand Document

Cmajor Licensing

Different Cmajor licensing options

Cmajor is available under a dual GPLv3/Commercial licensing scheme.

If you fully comply with the terms of the GPLv3 (or later) then you can use Cmajor without needing to contact us.

If you’d like to embed the Cmajor engine in a closed-source product, or to mix it with non-GPL-compliant code, then we will offer a range of commercial licenses to cover many types of use-case.

We are currently working on our list of commercial license tiers, and payment systems.. All the prices and terms will be published here very soon, so watch this space…! (If you’re an enterprise user and can’t wait to discuss a custom Cmajor license, please contact us directly at

For reference, the terms of our commercial license will be:

License Terms


This Cmajor end-user licence agreement (Agreement) is a legal agreement between you (Licensee or you) and Cmajor Software Ltd (Cmajor Software, Licensor, us or we) for the Cmajor library, which includes source code, tests and examples. For the purposes of this Agreement, the Cmajor library shall be described as “Code”.





If you are accepting the terms of this Agreement on behalf of a company or other legal entity, you represent and warrant that you have the authority to bind that company or other legal entity to the terms of this Agreement and, in such event, “you” and “Licensee” will refer to that company or other legal entity.

You affirm that you are at least 18 years of age. If you are not 18 years of age but you are at least the age of 13, you may use the Cmajor library only if your parent or guardian agrees to be bound by this Agreement. Parents and guardians of users under the age of 18 agree to the terms of this Agreement, and any reference to “you” shall include the parent or guardian.

You should print a copy of this Licence for future reference.

During the term of this Agreement, you expressly acknowledge and agree that if you are a Personal, Indie, or Pro user and exceed the Revenue Limit thresholds, then you may no longer use that tier of the Program, and you must either: (a) purchase a different Cmajor licence (if eligible); (b) or cease distributing your Applications; or (c) license your Applications under the GPLv3 License. We may monitor your compliance with and enforce these restrictions and requirements as described in clause 10.4 below.

1. Grant and scope of Licence

1.1. Each Cmajor licence includes New Features and Minor Updates for that specific Cmajor license, but does not include New Releases.

1.2. Each Cmajor licence comes with a specific number of seats for users to utilize the Code, and you agree that only one user may utilize the Code per seat offered in your specific Cmajor licence for the purposes of coding and development.

1.3. You may not use the Personal, Indie, Pro (1, 2, or 3), Enterprise or Education licenses simultaneously. You may not combine or integrate your Licensee Content developed with one tier of the Code (e.g., the Personal tier) simultaneously with any of your Licensee Content developed with another tier (e.g., the Indie or Enterprise tier).

1.4. You may sell or distribute Applications using the Code that incorporates your Licensee Content to end users, provided that you adhere to the terms in this Agreement, including paying applicable Fees once you hit your Revenue Limit. You may not sell, sublicense, or otherwise distribute the Code or Software on their own.

1.5. Where you have licensed the Education tier, you may be requested to provide certain documentation before being approved, and Cmajor Software Ltd reserves the right in its sole discretion to decline authorization for an Education tier license.

1.6. Remember, unless you upgrade to the Indie, Pro, or Enterprise tiers, if you exceed the Revenue Limit for the Personal iter, then your licence becomes the GPLv3 License which is an open-source licence and requires, among other things, that you make your source code available and license modified files and larger derived works (including all linked code) under the same terms of the GPLv3. Please review the terms of the GPLv3 carefully.

1.7 You may not create Applications directed toward Children, unless you fully comply with the COPPA rules, including without limitation obtaining verifiable parental consent, as further described in clause 10 below. You are responsible for any liabilities arising out of a violation of COPPA.

1.8. Each particular type of license comes with certain features as is described further in this chart, and these may include adding Cmajor branding to your Application.

1.9. If you subcontract development of an Application, you must have at least one Cmajor license of a suitable type (matching revenue/funding limits as per the table) in order to distribute Applications.

1.10. If a New Release of Cmajor is made, any support will be for the New Release.

2. Restrictions

Except as expressly set out in this Agreement or as permitted by any local law, you undertake:

2.1. to comply with all applicable laws, including all technology control or export laws and regulations;

2.2. to supervise and control use of the Code and ensure that the Code is used by your employees and representatives in accordance with the terms of this Agreement;

2.3. not to use the Code in connection with any Licensee Content, Application or otherwise that infringes or misappropriates any third party right, including any intellectual property, property, privacy, contract or other proprietary right or for any other illegal or immoral purpose;

3. Fees and Minimum Commitments.

3.1. Where you have purchased a Cmajor subscription licence, you agree to pay the subscription Fee from the first day of purchase, and recurring every month on the same day, for the Minimum Commitment, where applicable.

3.2. The subscription Fee shall be the Fee as notified to you on the Website at the time you purchase the Cmajor subscription licence.

3.3. All payments of Fees are non-refundable.

3.4. All Fees payable under this Agreement are exclusive of VAT or any relevant local sales taxes, for which you shall be responsible.

3.5. Without limiting all available remedies, in the event Cmajor Software discovers that you have exceeded your Revenue Limit in breach of this Agreement, you shall be liable for the amount of Fees due if you had properly purchased a Cmajor licence, the amount of any audit, and internal administration costs in the amount of no less than $1,000 USD.

4. Support

4.1. We shall have no obligation to provide support and maintenance services to you. You may participate in our online support forum in accordance with our forum policies. Further support and maintenance services may be offered at our sole discretion, and may be offered as a feature of the Cmajor licence you purchase.

4.2. You acknowledge and agree that we have no obligation under this Agreement to provide New Features, Minor Updates, or New Releases.

5. Intellectual Property Rights

5.1. You shall own all modifications you make to the Code, and all Intellectual Property Rights therein, that are created and incorporated in the Application, subject to our continuing ownership of the Code and all associated Intellectual Property Rights of the Code.

6. Disclaimer of Warranty

6.1. The Code is provided “as is” without warranty of any kind, including without limitation any warranties that the Code will be uninterrupted, error-free or otherwise free from infringement. All other conditions, warranties or other terms whether express or implied, or incorporated into this Agreement or any collateral contract, whether by statute, common law or otherwise, including without limitation warranty of merchantability or fitness for a particular purpose are hereby excluded to the fullest extent permitted by law, including the implied conditions, warranties or other terms as to satisfactory quality, fitness for purpose or the use of reasonable skill and care.

6.2. You acknowledge that the Code has not been developed to meet your individual requirements and that it is therefore your responsibility to ensure that the facilities and functions of the Code meet your requirements.

7. Limitation of Liability and Indemnification

7.1. Neither Cmajor Software nor its parent company, subsidiaries, employees, partners or contractors shall in any circumstances whatsoever be liable to you, whether in contract, tort (including negligence), breach of statutory duty, or otherwise, arising under or in connection with this Agreement for any indirect, consequential or special loss or damage, including but not limited to, for:

  • 7.1.1. loss of profits, sales, business, or revenue; business interruption;
  • 7.1.2. loss of anticipated savings;
  • 7.1.3. loss or corruption of content, data or information;
  • 7.1.4. loss of business opportunity, goodwill or reputation;
  • 7.1.6. any indirect or consequential loss or damage; or
  • 7.1.7. any computer failure or malfunction, corruption to or loss of data or files, or any and all other commercial damage or loss.

7.2. Nothing in this Agreement shall limit or exclude our liability for:

  • 7.2.1. death or personal injury resulting from our negligence;
  • 7.2.2. fraud or fraudulent misrepresentation;
  • 7.2.3. any other liability that cannot be excluded or limited by law.

7.3. Subject to clause 7.1 and 7.2, our maximum aggregate liability under or in connection with this Agreement whether in contract, tort (including negligence) or otherwise, shall in all circumstances be limited to the Fees paid by you to Cmajor Software in the month before the claim arose or $15, whichever is greater.

7.4. You agree to indemnify, defend and hold us and our licensors, partners, affiliates, contractors, officers, directors, employees and agents harmless from any third party claims, liabilities, losses, costs and expenses (including legal expenses) or otherwise arising directly or indirectly from (i) the Licensee Content or your Applications; (ii) your use, handling, or operation of the Program otherwise than in accordance with this Agreement, or (iii) any violation of applicable laws by you, including without limitation COPPA violations.

7.5. This clause 7 shall survive and shall not be rendered ineffective by the termination or expiry of this Agreement for whatever reason.

8. Term and Termination

8.1. Where you have purchased a Cmajor subscription licence, this Agreement shall remain in effect for the Minimum Commitment and shall renew automatically on a monthly basis following expiry of the Minimum Commitment, subject to payment of any applicable Fees.

8.2. Where you have licensed a Cmajor Education licence, this Agreement shall renew automatically on a monthly basis and remain in effect until the licence is terminated or you no longer qualify for the Education licence tier.

8.3. Where you have purchased a subscription licence and you fail to pay the subscription Fee when it falls due then your licence will terminate. Where your licence is terminated before the end of the Minimum Commitment then you, in any event, are still responsible for paying the subscription Fee for the remaining term of the Minimum Commitment.

8.4. We may terminate this Agreement immediately by written notice to you if you commit a breach of this Agreement which you fail to remedy (if remediable) within 14 days after written notice requiring you to do so.

8.5. Upon termination for any reason:

  • 8.5.1. all rights granted to you under this Agreement shall cease
  • 8.5.2. you must cease all activities authorized by this Agreement, including distribution of your Application that incorporates the Code;
  • 8.5.3. you must immediately delete or remove the Code from all computer equipment in your possession and immediately destroy or return to us (at our option) all copies of the Code then in your possession, custody or control and, in the case of destruction, certify to us that you have done so.

9. Communications Between Us

9.1. If you wish to contact us in writing, or if any condition in this Agreement requires you to give us notice in writing, you can send this to us by e-mail at We will confirm receipt of this by contacting you in writing, normally by e-mail.

9.2. If we have to contact you or give you notice in writing, we will do so by the email associated with your Cmajor licence or by pre-paid post to the address you provide to us in your order for the Program.

10. Data, Privacy and Publicity

10.2. You may not use the Code in connection with any Application that may be “directed to children” as defined under the Children’s Online Privacy Protection Act (“COPPA”) unless you fully comply with COPPA and all other similar applicable laws. You are fully liable for, and will defend, hold harmless and indemnify Cmajor Software and its affiliates against any and all liability arising from or relating to COPPA in connection with any Application directed to Children.

10.3. You agree that Cmajor Software may use your name and logo to publicize that you are using Cmajor in your Applications. You may opt-out of this publicity by emailing Cmajor Software at and we will use best efforts to remove all uses of your name or logo within a commercially reasonable time.

10.4 To ensure compliance with this Agreement, you agree that within thirty (30) days from the date of our request, you shall provide all pertinent records and information requested in order to verify that your installation and use of any and all Programs is in compliance with this Agreement, along with a signed verification that all such information is complete and correct. You also agree we may audit applicable records concerning your use of Program during normal business hours upon notice to you, at our cost, except in the event the audit reveals an underpayment or breach of this Agreement, you shall be liable for the cost of the audit.

11. Other Important Terms

11.1. We may transfer our rights and obligations under this Agreement to another organisation, but this will not affect your rights or our obligations under this Agreement. 11.2. You may transfer your rights or your obligations under this Agreement to another person or entity provided that you are in full compliance with this Agreement and provided that you first contact Cmajor Software in writing and follow the required steps for transfer.

11.3.This Agreement and any document expressly referred to in it constitutes the entire agreement between you and us. You acknowledge that you have not relied on any statement, promise or representation made or given by or on behalf of us which is not set out in this Agreement or any document expressly referred to in it.

11.4. If we fail to insist that you perform any of your obligations under this Agreement, or if we do not enforce our rights against you, or if we delay in doing so, that will not mean that we have waived our rights against you and will not mean that you do not have to comply with those obligations. If we do waive a default by you, we will only do so in writing, and that will not mean that we will automatically waive any later default by you.

11.5. Each of the conditions of this Agreement operates separately. If any court or competent authority decides that any of them are unlawful or unenforceable, the remaining conditions will remain in full force and effect.

11.6. Governing Law and Jurisdiction.

  • 11.6.1. If you are a US citizen, this Licence shall be governed by the laws of Washington State without regard to its conflict of laws rules and you consent to the exclusive jurisdiction of the state and federal courts located in King County.
  • 11.6.2. If you live outside the US, you agree to the laws and jurisdiction of Washington State as noted above in clause 11.6.1 above.
  • 11.6.3. You may have additional rights as a consumer under your local law.

12. Definitions

The definitions and rules of interpretation in this clause apply in this Licence:

12.1. Application(s): desktop or mobile applications developed using the Cmajor Code, which incorporates the Licensee Content.

12.2. Code: means the Cmajor library code, specifically, Cmajor Personal, Cmajor Indie, Cmajor Pro, Cmajor Enterprise, Cmajor Education, and any New Features and Minor Updates thereto.

12.3. COPPA: means the Children’s Online Privacy Protection Act of 1998, 15 U.S.C. 6501–6505, as may be updated and amended.

12.4. Children: mean children under the age of 13, or as otherwise defined by applicable law.

12.5. Customizations: mean the enhancements, modifications, improvements, or any other changes made by Cmajor Software to either the Cmajor Code or the Licensee code, as specified.

12.6. Fee: the licence fee payable by you to us for use of the Program as detailed further in clause 3 and on the Website.

12.7. GPLv3: the GNU General Public License v.3, which governs the terms of your Cmajor license if you exceed the Revenue Limit.

12.9. Intellectual Property Rights: patents, utility models, rights to inventions, copyright and related rights, trademarks and service marks, trade names and domain names, rights in get-up, goodwill and the right to sue for passing off or unfair competition, rights in designs, rights in computer software, database rights, rights to preserve the confidentiality of information (including know-how and trade secrets) and any other intellectual property rights, including all applications for (and rights to apply for and be granted), renewals or extensions of, and rights to claim priority from, such rights and all similar or equivalent rights or forms of protection which subsist or will subsist, now or in the future, in any part of the world.

12.10. Licensee Content: any content created, owned or used by the Licensee in connection with the Program.

12.11. Minimum Commitment: the minimum length of time you must license the Code in order to be eligible for the Cmajor licence, depending on the type of licence chosen.

12.12. Minor Update: any release of bug fixes and small improvements within the same version of the Cmajor Code licensed by you (e.g., Cmajor v1.1 to Cmajor v1.2).

12.13. New Features: any release of a new feature within the same version of the Cmajor Code licensed by you, but not including New Releases (e.g., Cmajor v1 to Cmajor v2) or other features not included in your specific license tier.

12.14. New Releases: any release of a new version of the Cmajor Code that is not included in this license Agreement, which contains such significant differences from the previous versions as to be generally accepted in the marketplace as constituting a new product (e.g., Cmajor v1 to Cmajor v2).

12.15. Revenue Limit: the total gross annual revenue limit in USD (or local currency conversion equivalent thereof), of a business, whether it be a sole trader, team, or registered company, which shall be calculated as any and all revenue raised, donated towards, earned, or otherwise received in connection with your business, whether or not in connection with your Applications, before your Cmajor licence requires either payment or separate license terms.


Can a Cmajor licence be shared by multiple developers?

No. Each developer requires an exclusive licence.

It is possible to reassign licences amongst members of an organisation?

If an organisation has purchased a set of licences for their software development team, then when a team member leaves the team their licence seat can be reassigned to a new team member. Reassigning licences can be done using the account dashboard of the licence purchaser.

Reassigning licences should not be done very frequently. This is not a mechanism designed to optimise the minimum number of licences required. If you have multiple developers regularly, but non-concurrently, contributing code to software containing Cmajor then you will require multiple licences.

Is the total annual revenue or funding limit determined solely by sales of software containing Cmajor?

No. The total annual revenue or funding limit is that of the whole organisation or individual that owns the Cmajor licence. If your team or project is a small part of a large organisation then you will likely require a Pro licence. The revenue or funding limit is not based upon revenue generated by software containing Cmajor nor the budget of a particular team or individual within an organisation.

Do I need a Cmajor licence if I am not releasing products containing Cmajor?

Cmajor is dual licensed under both our commercial licences and the GPLv3.

This means that you can choose to use Cmajor under the terms of the GPLv3 licence. If you are not “propagating” or “conveying” closed-source software containing Cmajor outside of your organisation then you may not be violating the terms of the GPLv3. The creation and use of “in-house” tools and the internal development of “pre-release” software (before it goes out to external testers) is usually permitted under the GPLv3. Please refer to the GPLv3 terms for the full details.

If you are not using Cmajor under the GPLv3 then you will require a commercial licence. You will need to maintain a licence for at least the duration over which you are distributing closed-source binaries containing Cmajor.

Can a Cmajor Educational licence be used by students?

No. Our Educational licences are offered to bona fide educational institutions and come with the number of seats requested by the educational institution. Institutions requesting Educational licences must agree to submit any requested documentation to show proof of a bona fide educational institute.

How many licenced developer seats do I need?

By default all developers contributing any source code to software containing cmajor will require a licence.

However, there are certain situations where this doesn’t make much sense. If the software development team using Cmajor is a small fraction of the overall software development team, and the use of Cmajor is not central to the overall product, then it is more appropriate that only the developers in the team using Cmajor directly will require licences. If you’d like to discuss what might constitute a fair number of seats for your situation, contact us at

While Cmajor licences can be infrequently reassigned between developers, our licensing is not designed to be flexible with regards to team size. If a product containing Cmajor ever had a large development team then it is the maximum concurrent size of the development team that fixes the number of licence seats required. If the team size is subsequently reduced to just a few people providing product maintenance post-release the product still requires the larger number of licence seats for the entire duration over which the product is distributed.

Do I need a Cmajor licence to sell Cmajor-based software created by another entity?

No. The software needs to be licensed by all the contributors to the source code. If you have not contributed to any of the source code then you do not require a licence.

However, you must ensure that the software is appropriately licensed for the whole duration over which you are distributing it. If any of the contributors are third parties then the distributor/seller is legally obliged to ensure that the corresponding licences are perpetal, rather than per-month subscription licences.

I want to hire a contractor to contribute to software containing cmajor. Do I need a licence or does the contractor need a licence?

You can use either option.

If the hiring organisation purchases a licence then that licence can be used by the contractor for the duration of their work. When the contractor has finished the work the licence can then be re-assigned to a different contractor. If the hiring organisation will have a fixed maximum number of contractors working simultaneously then this licensing model may be the most appropriate.

It is also possible for contractors to have their own individual licences. In this situation the relevant revenue or funding limit will be that of the contractor, so it may be possible for contractors to use Indie licences where the revenue of the hiring organisation would exceed the Indie funding or revenue limit. However, the hiring organisation is responsible for ensuring that the software is appropriately licensed for the whole duration over which it is distributed (see the answer to the previous question above).