This article will show how a developer can licensing their cTrader cBots & Indicators to protect against software piracy and to create maximum profit. If a developer wants to sell their product then if they use no licensing model the first customer who purchases the product can simply pass it to any other person free of charge, this is not an ideal method to protect their hard work.
Software piracy is bad for any industry as it can suffocate a company from providing high-quality customer service and continued work on updating existing products. The following options assume that the developer or company already have a website or blog to sell their products online, if not then you can sell your products through us.
Offer a Trial Version
To maximise sales the developer should always offer a trial version for the customer to download first before they decide to purchase the product, especially if there is no refund option once the digital product has been purchased and downloaded.
Basic Manual Licensing
There are a few options to protect your cBots and Indicators against piracy by adding some form of licensing, these implementations are not automated and will require the developer to manually send the customer custom builds of the product. This option would be for developers on a low budget and with limited programming experience, also for products with a low net worth.
Hard-Coded cTrader ID (cTID)
When a customer signs-up with a cTrader broker, they are given a unique ID that is used for signing in across all cTrader platforms across different brokers by using a single unified account. this ID can be hardcoded into a special custom build that the developer sends to the customer so that the product will only work for that particular customer on all brokers.
This can be obtained by using the following code: this.Account.UserId
Hard-Coded Date For Trial
The easiest method to provide a trial version for a customer is to also hard-code a date check so many days in the future so that the trial version simply stops working after this period.
- It costs no money to implement.
- It requires no in-depth knowledge of programming.
- It is simple and allows the customer to use the product on any machine for all brokers, but only for their own account.
- Option to offer the customer some form of trial.
- It is not automated and requires extra work by the developer on each sale.
- The customer has to wait for a custom build from the developer.
- The customer has to request a trial from the developer.
- This method of licensing is not very professional.
- If the product is updated with bug fixes or new features, the developer will need to create custom builds for all existing customers.
Advanced Automated Licensing
This option is for developers or companies who have many products to sell and that they have the budget and experience to implement an automated client/server licensing system. There are many pre-built licensing systems available that can be integrated into your .NET projects using C#.
How do They Work?
The licensing systems available for sale are pre-built completely managed to integrate into your existing .NET applications and components, one of our recommended systems is Babel Licensing. With Babel licensing you can create different license usage restrictions.
- Set the number of trial days.
- Limit how many copies of your product are allowed to run.
- Limit the amount of time a product will run for.
- local or cloud-based databases to store customer licenses.
- Customer order tracking.
- Customer reports.
When a product is licensed the following information is used to prevent software piracy:
- Computer name.
- CPU ID.
- Hard disk.
- Motherboard ID.
- Completely automated sales.
- Guaranteed refund option available.
- Professional impression to the customer.
- Remote deactivations.
- Adjustable trial options.
- Difficult for hackers to reverse engineer the code.
- This option can be costly for those on a low budget.
- It requires an experienced programmer to integrate.
How to Integrate
All companies who offer these licensing systems provide a user guide and sample code to help you integrate into your existing .NET projects. It is also possible to obfuscate your code against hackers who may attempt to reverse engineer and bypass your licensing system.
Alternative Licensing Companies
The company below is a much cheaper solution to start licensing your products, their fees for 1000 license activations per month is only $29.00. They also offer a free plan of 10 activations per month for a single product. if you also Google search '.NET Licensing' you will find plenty more companies offering this service as well as some free open source projects.
How to Protect Source Code
In addition to licensing you may also want to protect your source code against reverse engineering.