Description of "per-instance" licensing - Advanced
This help article expands on the information from Description of "per-instance" licensing. It includes examples and audit/enforcement information.
Licensing versus registration
All users of FDSE must be in compliance with the FDSE license at all times. The license is a legal document. A copy is here and a copy is also installed with the product.
If you are using FDSE in the "Freeware" or "Trial Shareware" modes, then nothing special needs to happen. You do not need to communicate with xav.com about your usage. You do not need a registration key. You do not need to pay anything. As long as you haven't removed the copyright string, then you are in compliance with the license terms.
If you don't know what mode you're in, go to your copy of FDSE and select "Admin Page" => "Update License". There it will display your current setting. The default is "Trial Shareware" mode.
If you use FDSE in the "Registered" mode, you need to contact Fluid Dynamics and make a payment. You will be sent a registration key, which is a personalized block of text. Once you enter your registration key into the script, then you can remove the copyright and you will still be in compliance with the license terms.
Note that, if you are in "Freeware" or "Trial Shareware" mode, then you can run as many instances of the script as you want. The license applies to each instance separately, but since there is no cost, it doesn't matter how many copies you have. In the "Registered" mode, it will make a financial difference if you run dozens of copies instead of one.
Exceptions to per-instance licensing
In some cases, customers need to install the product multiple times in order to support a single public instance. These cases are:
An exact copy of the website (all content and scripts) is running on a separate server as a backup copy or as a mirror.
A copy of the website (similar content) is running separately for non-public testing and development.
A copy of the search script is running on a separate server for purposes of FDSE log analysis or indexing.
In these special cases, you can register your copies using the original registration key from the primary instance.
Bob has one website with content in French and English. He installs FDSE twice, once for each language:
[server computer] e:/webroot/www.xyzw.org/english/search/search.pl e:/webroot/www.xyzw.org/french/search/search.pl
Bob is running two instances. In "Registered Mode", he would be expected to purchase two keys.
Sally also has one website with content in French and English. She installs FDSE once. She creates two separate realms (indexes), one devoted to each folder:
[server computer] e:/webroot/www.xyzw.org/cgi-bin/search/search.pl e:/webroot/www.xyzw.org/english/ e:/webroot/www.xyzw.org/french/
Sally is running one instance. In "Registered Mode", she would be expected to purchase one key.
Nick has FDSE installed once on his main website, and uses it to search other websites. His web host does not allow sockets connections, and so he has a copy of FDSE installed on his local computer for when he needs to rebuild the indexes:
[server computer] e:/webroot/www.nick.org/search/search.pl [local computer] e:/localhost/search/search.pl
Nick is running two instances, but the second is a special-case "support" instance. In "Registered Mode", he would be expected to purchase one key. The same key would be entered in each instance.
Tina has FDSE installed on her local computer. She is not interested in search functionality, but she uses the crawler to index websites and extract links for a separate application:
[local computer] e:/localhost/search/search.pl
Tina is running one instance. It is not special-case "support" instance because there is no other registered site which is supported. In "Registered Mode", she would be expected to purchase one key.
Bob has FDSE installed once. Then, on all 1500 HTML pages on his site, he has added a custom search form in the navigational sidebar. In addition, he encourages his visitors to add his search form to their own sites.
[server computer] e:/webroot/www.xyzw.org/search/search.pl
Bob is running one instance. In "Registered Mode", he would be expected to purchase one key.
Auditing and enforcement
FDSE licensing and registration is based on the honor system. Users are expected to read, understand and comply with the license terms. Users are encouraged to make payments when using the advanced features of the script ("Registered Mode").
There is no requirement that users disclose the URL of their instance when purchasing a key, and FDSE never initiates contact with xav.com (i.e., no "phone home" functionality). Because of this, the author does not automatically know which of the thousands of FDSE instances are registered and which are not. For some highly customized sites, it isn't even clear whether the search software is FDSE, or something based on it, or inspired by it. From time to time, an instance of FDSE will be encountered without copyright information, or with misleading copyright information, and the author will contact the site owner to ensure that the script is properly registered.
FDSE also contains a read-only private interface by which the author can make a specially-formatted request to determine four things: the script version; the current mode setting of Freeware, Trial, or Registered; the registration key, if present; and the last-login time for the admin page. This private interface is protected by a 32-character password and only responds to queries originating from host "xav.com". This interface makes it possible for the author to determine if copyright information has been removed in unregistered instances, or if forged or shared keys are being used. The author uses this interface because it is faster, more reliable, and more polite than emailing the site owner. If you cannot tolerate a private interface in your software, it can be easily disabled from within the source code; contact the author to find out how. Even if the interface is removed, you still may be contacted manually to confirm the registration status of specific instances.
Penalties for violating the license terms range from nothing to harassment to legal action, with the first two being most common.
Please contact Fluid Dynamics if you have any questions regarding licensing and registration.
"Description of "per-instance" licensing - Advanced" https://www.xav.com/scripts/search/help/1160.html