Commercial Usage

Very often I receive questions about using Kchmviewer together with non-free (as freedom) or commercial products. This FAQ summarizes the most typical questions.


Q: Can I use Kchmviewer for commercial purposes? Are there any restrictions?
A: Yes you can, as long as you obey the terms of the GNU General Public License v3. Those terms would generally only apply to you if you distribute Kchmviewer. They do not restrict the use of Kchmviewer in any way as long as you lawfully obtained it.

Q: Do I owe you any money if I do? Do I need to sign a contract or licensing agreement with you?
A: Kchmviewer is free software. You are welcome to use it for free, without any royalty or licensing fees.

Q: Does anything change if I use Kchmviewer in The Very Rich Bank, in our national government, or a state university? Still no royalties/fees?
A: Nothing changes. Still no royaltees and no fees.

Q: But I charge a lot of money for my proprietary application which uses kchmviewer (but does not distribute it). Does it change anything?
A: No, it does not change anything.

Q: What if I modify kchmviewer and sell it for ten million dollars, how much do I owe you?
A: Nothing, as long as you obey the terms of the license (since you would be distributing a modified Kchmviewer).

Q: If I just build kchmviewer from your sources and sell it for ten million dollars, how much do I owe you?
A: You owe nothing, as long as you obey the terms of the license.

Q: Which is that license kchmviewer is released under?
A: It is released under GNU General Public License version 3 or higher. Which means at this time it is just version 3. The text of the license is included in the distribution.

Q: What does it mean for me?
A: Read the Quick guide to GPLv3

Q: What if I do not want to be bound by the terms of GPL license?
A: Read below.

I want to use Kchmviewer in my application…

Q: I want to use Kchmviewer in my application and have its code integrated into the application.
A: This would mean your application must be released under GPL license or a compatible license, as well as you’re creating a “combined work”. Generally this means your application must be open-source, and there should be no further restrictions on its modifications or distribution besides those imposed by the GPL.

Q: I want to use Kchmviewer in my application as a separate executable, which is not linked with my application and is only started as a separate process when invoked to show the user help.
A: In this case your application is not bound by the terms of GPL license. However if you distribute Kchmviewer,  there are still requirements related to distributing kchmviewer which are imposed by the terms of GPL license and which you must obey.

Q: I want to use kchmviewer in my application when it is installed on the system, and I will not be distributing it myself. If it is missing during the installation of my application, I will ask the user to install it themselves.
A: In this case, since you are not distributing kchmviewer, there are no requirements imposed at you by the GNU GPL.

Distributing kchmviewer

Q: If I want to distribute the binary build of Kchmviewer with my application, what are the legal requirements imposed by the GPL license on me?

A: GPLv3 imposes the following requirements on you. Note that depending on your jurisdiction you may have other requirements as well, or some of those requirements might not apply to you. This is not legal advise, and you may check with your legal department if you need one.

  • If you claim any code ownership or copyright, you should mention that Kchmviewer is a third-party application written by George Yunaev and licensed under the GNU GPL. This would avoid confusion when the users think since Kchmviewer is distributed by your company, it is owned by your company. For example, if your EULA claims that your software is intellectual property of your company – as most do – you must explicitly state there that Kchmviewer is not such property of your company.
  • You must provide the complete corresponding source code of Kchmviewer with your application, no matter if you modified it or not. The best way is to make it available on the same web site you’re making your application available. Linking to SourceForge does NOT satisfy this legal requirement because SourceForge might stop distributing source code anytime, and thus put you in a position where you violate the license.
  • If your EULA contains the clauses prohibiting reverse engineering, copying, rent or distribution, you must state clearly that those clauses do NOT apply to Kchmviewer.
  • You should provide the user with a way to update Kchmviewer, and to replace it with a newer or modified version. This means if your application uses digitally signed binaries, Kchmviewer binary cannot be signed.
  • I ask that you mention that your program uses Kchmviewer in your application “About” box and on your web site where the download link to your application can be found. This is not a legal requirement, but it is a nice gesture from you which acknowledges that you use my work.

Q: Do those terms apply if I my application is freeware/shareware?
A: Yes they do. For the terms of GNU GPL it doesn’t matter how much your application costs, if anything at all.

Q: Do those terms apply if I my application is released under a GNU GPL license?
A: No, in this case those terms do not apply as they do not apply to your own application as well. A credit still would be nice though.

Q: What if I distribute kchmviewer as a part of my Linux/Windows/OtherOS distribution?
A: Same requirements as with any other GPLv3 software.

Q: I find those terms too restrictive.
A: Read below.

Commercial license

Q: Do I have to license Kchmviewer under some kind of commercial license if I use it for business/commercial purposes?
A: No. You can use it under the terms of GPL license.

Q: Why else would I get the commercial license?
A: You might if anything listed below applies to you:

  1. You want to integrate Kchmviewer into your application and not be bound by the terms of GPL license.
  2. You need support for Kchmviewer – for example if it crashes on your help file or doesn’t show anything for one of your users, and you do not want to wait for a fix a few months or do it yourself.
  3. Kchmviewer crashes on a specific document and you want me to sign some kind of NDA before sending it to me.
  4. Your legal department doesn’t believe in free licenses and insist you get some kind of license filled up with restrictions and legaleze – kind they are familiar with.
  5. You want me to add a specific feature into kchmviewer and maintain it.
  6. You want to show appreciation for my work or just feel generous.

Q: So can I license kchmviewer under a different/commercial license?
A: Yes it is possible. Contact me at

Q: Will it cost a lot?
A: It depends what kind of application you are developing, how much effort the support would put on me, and so on. It may be nothing at all, or some fictional amount like $1 (those legal departments, you know). This is a fun project for me, and I do not expect to make billions on it, so you better ask.