5. License Types
Contents
This documentation is only apply to Pyarmor 8.0 plus.
Pyarmor is published in PyPI, free trial version never expires. Try it by the following commands:
$ pip install pyarmor
$ pyarmor gen foo.py
$ python dist/foo.py
There are some limitations in free version, for example, can’t obfuscate big scripts etc. These limitations can be unlocked by different license types. Pyarmor has 4 kind of licenses:
Basic
Pro: Irreversible Obfuscation
Group: Offline build
CI: for CI/CD pipeline, new in v9.0
Feature |
Free |
Basic |
Pro |
Group |
CI |
---|---|---|---|---|---|
Big Script / Mix String 1 |
Y |
Y |
Y |
Y |
|
BCC / RFT / FLY mode 2 |
Y |
Y |
Y |
||
Offline build 3 |
Y |
||||
Maximum build devices 4 |
100 |
100 |
200 |
0 |
|
Unlimited local dockers 5 |
Y |
||||
Work in CI/CD pipeline 6 |
Y |
Y |
Y |
Notes
- 1
Big Script: file size exceeds a certain value.
Mix Str: obfuscating string constant in script
- 2
RFT Mode: renaming function/class/method/variable in Python scripts
BCC Mode: Transforming some Python functions in scripts to c functions, compile them to machine instructions directly
- 3
Offline build: the build device need not be online to verify Pyarmor License
- 4
Maximum devices could install Pyarmor, each docker run will be taken as one new build device, CI license only works in CI/CD pipeline
- 5
Unlimited local dockers: run docker container in local machine, may be offline or in private network
- 6
Work in CI/CD pipeline: it need special option to register Pyarmor in CI/CD pipeline
Important
All Pyarmor Licenses are only used to generate the obfuscated scripts in build device
It need neither install Pyarmor nor verify Pyarmor License to execute obfuscated scripts
The obfuscated scripts are generated by Pyarmor, but they are completely independent of Pyarmor
You can take them as normal Python scripts, so what the obfuscated scripts do is controlled by you, not by Pyarmor
5.1. Terms of Use
Only use Pyarmor on your own scripts
In any case, even you have purchased Pyarmor License, it’s not allowed to obfuscate other scripts of which you haven’t property. For example, call pyarmor in your app to obfuscate your customer’s scripts, provide obfuscation services based on Pyarmor by website etc.
No profit no license required
Free version can be used to obfuscate your scripts which COULD NOT make lot of money for you. Otherwise it need purchase Pyarmor License.
One product one license
One product means one kind of product, not one copy of product. For example, Micorsoft Excel is one product, even it’s installed on countless devices
Each license has an unique number, the format is
pyarmor-vax-xxxxxx
, which x stands for a digital.Pay once
Except CI License, all the other licenses work forever with Pyarmor version when this license is purchased, but may not work in future Pyarmor versions
Fair use
If you have purchased Pyarmor License for one product, but you have aother product, and the total revenue of the other project is less than 100 x Pyarmor License fee, you could rent this license in your aother product
Pyarmor Pro License still could be used in CI/CD pipeline for low volume (100 runs per month)
Pyarmor CI License has rate limit in CI/CD pipeline
In details check Pyarmor EULA
See also
5.2. Privacy
License No. and product name will be embedded into obfuscated scripts, all the other user’s information, for example, regname, email are not
For Pyarmor Basic and Pro License, only Pyarmor License file, serial number of hard disk, Ethernet address, IPv4/IPv6 address, and hostname will be sent to Pyarmor License Server for verification
When using Basic or CI License in CI/CD pipeline, some information about docker like docker name, ethernet address, IPv4/IPv6 address, and license information will be sent to Pyarmor License Server for verification
No any user script will be uploaded to Pyarmor License Server
5.3. Technical Support
License fees only for unlock features, not include technical supports
Users need to learn Pyarmor features and how to use it by themself. Generally Pyarmor Team won’t help to debug users’ case and teach them how to use Pyarmor
Pyarmor provides comprehensive learning systems, including but not limited to the following ways:
Checklist and FAQs could fix 90% issues reported to Pyarmor Team
Discussions in Pyarmor project home
Full examples to show each option usage and common cases by command
pyarmor man
Learn Pyarmor concepts by figure and animations in EKE Learning Platform (coming soon)
Rome was not bulit in a day. Pyarmor Team keeps improving documentation and learning systems according to users feedback to make it easy and effects
Report bugs and request new features in Pyarmor project home, Email to pyarmor@163.com is only for security and private issues, there may no reply for common technical issues.
Pyarmor team generally will handle submitted issues within 24 hours (working time), but may be extended during holidays or special circumstances
Pyarmor Team doesn’t provide any instant technical support by telphone or other similar tools.
5.4. Purchasing license
If you have Pyarmor 8.6+ installed, this command also could open shopping cart:
$ pyarmor reg --buy
Open Pyarmor Shopping Cart in any web browser:
5.5. Refund policy
If activation file isn’t used, and purchasing date is in 30 days, refund is acceptable.
If purchasing order from MyCommerce:
Email to Ordersupport@mycommerce.com with order information and ask for refund.
Or click FindMyOrder page to submit refund request
If purchasing order from reseller, contact your reseller
For other cases, email to pyarmor@163.com
Out of 30 days, or activation file has been used, refund request will be rejected.
5.6. Appendix
5.6.1. What is one product
First of all, if not for sale, all the Python scripts are belong to one product “non-profits”.
One product in Pyarmor world means a product name and everything that makes up this name.
It includes all the devices to develop, build, debug, test product.
It also includes product current version, history versions and all the future versions.
One product may has several variants, each variant name is composed of product name plus feature name. As long as the proportion of the variable part is far less than that of the common part, they’re considered as “one product”.
Pyarmor is one product, it includes:
Pyarmor basic, Pyarmor pro, and Pyarmor group
pyarmor-webui which provides graphics interface for pyarmor.
the order system of Pyarmor is a Django’s app running in cloud-server. This Django’s app also belongs to one product Pyarmor.
the laptop used to develop Pyarmor, the PCs used to test Pyarmor, the cloud-server to serve order system of Pyarmor, all of them belong to one product Pyarmor.
Pyarmor 7.x, Pyarmor 8.x and Pyarmor 9.x
Microsoft Office is not one product, because each product in Microsoft Office is functional independence. For example, Microsoft Word and Microsoft Excel belong to Microsoft Office, but they’re totally different.
Microsoft Word is one product, and Microsoft Word 2003,Word 2007 etc. are belong to one product Microsoft word.
5.6.2. Q & A
I noticed that the pricing table lists “0 Maximum build devices,” for the CI/CD plan which has left me a bit confused. Could you please clarify what this means?
It means CI License only works in CI/CD pipeline, can’t be used in local device.
If we are using the product in our CI/CD environment we can deploy it to unlimited number of kubernetes pods
If the product means the obfuscated scripts, Pyarmor has no any limitation on it.
Pyarmor License is only apply to build machine in which to generate the obfuscated scripts.