Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Python by (19k points)

I am developing a piece of software in Python that will be distributed to my employer's customers. My employer wants to limit the usage of the software with a time restricted license file.

If we distribute the .py files or even .pyc files it will be easy to (decompile and) remove the code that checks the license file.

Another aspect is that my employer does not want the code to be read by our customers, fearing that the code may be stolen or at least the "novel ideas".

Is there a good way to handle this problem? Preferably with an off-the-shelf solution.

The software will run on Linux systems (so I don't think py2exe will do the trick).

1 Answer

0 votes
by (106k points)
  • As Python is an open source programming language so there is no technical method that can stop your customers from reading your code, you have to apply ordinary commercial methods. Such as:-

  1. Licenses. Contracts:-

  • You can apply terms and conditions on your software. This still works even when people can read the code. Note that some of your Python-based components may require that you pay fees before you sell software using those components. Also, some open-source licenses prohibit you from concealing the source or origins of that component.

  1. Offer significant value:-

  • You need to make sure that your stuff should be as good, so at that price, it should be hard to refuse. In other word make your product slightly less expensive.

  1. Offer upgrades and enhancements:-

  • Whenever the next release breaks their product. You should offer new features that make the next release more valuable than their current product.

  • Offer customization at rates should be so attractive that they'd rather pay you to build and support the enhancements.

  1. Use a license key which expires:-

  • This is a bit cruel and will give you a bad reputation, but it certainly makes your software stop revealing it’s security after a limited time.

  1. Offer it as a web service:-

  •  You can offer them your software as a web service such as SaaS(Software as a service) which involves no downloads to customers.

Related questions

0 votes
2 answers
asked Aug 23, 2019 in Python by Sammy (47.6k points)
0 votes
1 answer
+1 vote
3 answers
asked May 21, 2019 in Python by Shivangi (13.2k points)

Browse Categories

...