Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
playground:servers [2025-05-13 19:07] – [Oracle Free VPS] geek | playground:servers [2025-05-14 17:25] (current) – [Fingerprinting] geek | ||
---|---|---|---|
Line 2: | Line 2: | ||
If you are building commercial software with AutoHotkey, you may need to build some license management infrastructure in order to avoid software cracks, source code leaks, password sharing, etc. | If you are building commercial software with AutoHotkey, you may need to build some license management infrastructure in order to avoid software cracks, source code leaks, password sharing, etc. | ||
+ | |||
+ | ===== AutoHotkey Interpreter Licensing Issues ===== | ||
+ | |||
+ | This does not constitute legal advice. | ||
+ | |||
+ | The AutoHotkey interpreter software is released under the GPL v2.0 license. This license gives users broad rights to freely access and use the software and its source code, as well as any " | ||
+ | |||
+ | Scripts written to be run by AutoHotkey are not inherently constrained under that GPL v2.0 license, but by bundling your script with a copy of the AutoHotkey interpreter with a tool like ahk2exe, in order to form a " | ||
+ | |||
+ | Distributing your scripts alongside a standalone copy of AutoHotkey does not avoid the implicit transfer of the GPL v2.0 license to your script file. When distributed alongside a standalone copy of AutoHotkey, your script forms what is effectively a kind of plug-in for the AutoHotkey interpreter software. When the AutoHotkey interpreter loads your script into its own process space, and the script' | ||
+ | |||
+ | Building an installer that first downloads and installs AutoHotkey before installing your own non-GPL-licensed AutoHotkey-based software is also not clearly legal, although to my knowledge this has not yet been tried in a court of law. | ||
+ | |||
+ | The primary developers of AutoHotkey have expressed in the past that they have no intent of prosecuting developers who build software that bundles the AutoHotkey interpreter in this way. However, these statements of intent do not actually waive their legal rights if they were to change their minds. In addition to the primary developers, there are a couple dozen known contributors, | ||
+ | |||
+ | It is also possible that in some jurisdictions, | ||
+ | |||
+ | Keeping all of this in mind, the only legally sound way to distribute closed-source software written in AutoHotkey appears to be to distribute it separately from the AutoHotkey interpreter entirely. This would require your users to first install AutoHotkey on their own before choosing // | ||
+ | |||
+ | ==== Alternate Interpreters ==== | ||
+ | |||
+ | Although the premiere AutoHotkey interpreter is licensed under this " | ||
+ | |||
+ | === Keysharp === | ||
+ | |||
+ | The [[https:// | ||
+ | |||
+ | ===== Source Encryption ===== | ||
+ | |||
+ | See full article: [[guides: | ||
+ | |||
+ | Keeping in mind the issues with the licensing of the AutoHotkey interpreter, | ||
===== Fingerprinting ===== | ===== Fingerprinting ===== | ||
+ | Software licenses are usually tied to both a user of the software, and some number of computer systems that the software will be installed onto. In order to enforce the installation limit, one or more metrics of the computer system must be fingerprinted to validate that the user did not attempt to impermissibly transfer the software from one computer to another. Together, these collected metrics form what is called a " | ||
+ | Some metrics can change over the lifetime of a single installation. For example, the operating system version, processor, motherboard, | ||
+ | Here are some of the fingerprint-able metrics you can access from AutoHotkey: | ||
+ | |||
+ | Motherboard Serial Number: | ||
+ | |||
+ | <code autohotkey> | ||
+ | MsgBox ComObjGet(" | ||
+ | </ | ||
+ | |||
+ | Processor Serial Number: | ||
+ | |||
+ | <code autohotkey> | ||
+ | MsgBox ComObjGet(" | ||
+ | </ | ||
+ | |||
+ | BIOS Serial Number: | ||
+ | |||
+ | <code autohotkey> | ||
+ | MsgBox ComObjGet(" | ||
+ | </ | ||
+ | |||
+ | Operating System Version: | ||
+ | <code autohotkey> | ||
+ | MsgBox A_OSVersion | ||
+ | </ | ||
+ | |||
+ | Computer Name (host name): | ||
+ | |||
+ | <code autohotkey> | ||
+ | MsgBox A_ComputerName | ||
+ | </ | ||
+ | |||
+ | User Name: | ||
+ | |||
+ | <code autohotkey> | ||
+ | MsgBox A_UserName | ||
+ | </ | ||
+ | |||
+ | Processor Metadata: | ||
+ | |||
+ | <code autohotkey> | ||
+ | MsgBox ( | ||
+ | EnvGet(" | ||
+ | EnvGet(" | ||
+ | EnvGet(" | ||
+ | EnvGet(" | ||
+ | ) | ||
+ | </ | ||
+ | |||
+ | Storage volume identifiers: | ||
+ | |||
+ | Network card MAC addresses: '' | ||
+ | |||
+ | Computer System Product UUID (This is used to identify an OEM PC, it may be generic for custom built PCs or VMs): | ||
+ | <code autohotkey> | ||
+ | MsgBox ComObjGet(" | ||
+ | </ | ||
+ | |||
+ | MachineGuid (This is used to identify a Windows installation, | ||
+ | <code autohotkey> | ||
+ | MsgBox RegRead(" | ||
+ | </ | ||
===== Oracle Free VPS ===== | ===== Oracle Free VPS ===== | ||
Line 17: | Line 112: | ||
==== Pay as You Go ==== | ==== Pay as You Go ==== | ||
- | Instance creation is subject to availability at the time you're creating the instance. Priority is given to "pay as you go" accounts, which you can upgrade to under "Bill & Cost Management > Billing > Upgrade and Manage Payment" | + | Instance creation is subject to availability at the time you're creating the instance. Priority is given to "pay as you go" accounts, which you can upgrade to under "Bill & Cost Management > Billing > Upgrade and Manage Payment" |
https:// | https:// | ||
- | Account upgrades can take some time, so please be patient! | + | Account upgrades can take some time, so please be patient! |
+ |