performant-software / faircopy

FairCopy is a word processor for the humanities scholar.
https://www.faircopyeditor.com
Other
4 stars 0 forks source link

Licensing and Software Updates #105

Open NickLaiacona opened 4 years ago

NickLaiacona commented 4 years ago

When the user decides to try out FairCopy, the first thing they must do is create a free account. The user then gets a download link, which they can use to start a 14-day trial of the software. The user can upgrade to a paid account at any time via the website. The Faircopy website is a RoR app which keep track of user accounts and interfaces with the payment service (Stripe) and the license key service (Keygen).

Once the user has downloaded and installed the software, they are first asked to accept the EULA. They are then asked to login to activate the software on this machine. This process uploads a machine fingerprint to the server and downloads a license key (either for 14-day trial or for a full version.)

When the user decides to upgrade from a trial account, they fill in their payment information via the website and receive a license key to copy and paste into the application. If the user paid for the software before activating it, they don't need to copy and paste a license key, since the license key they download when they activate the software will be a full license.

FairCopy uses Keygen's auto-update server to serve new versions of the software. When the user starts FairCopy, if there is a new version available, they are asked if they wish to upgrade. If so, the new software is downloaded and upgraded. Note that if the user has a trial license, it does not check for auto-updates. If the EULA version has changed, the user must accept the new EULA before continuing.

FairCopy uses machine fingerprinting to prevent sharing of license keys. Users may activate FC on up to 3 machines. After the third machine, they must deactivate the software on another machine. Note that license keys are separate from user logins. They are only linked in that a user account owns and manages a license key. FC does not utilize Keygen's user accounts, only the license keys. So identifying user information is not shared with other services.

In the future, the RoR web app will also handle cloud projects, in terms of access and publishing controls. A Node based app w/MongoDB (perhaps using Cevitxe) will handle keeping shared projects in sync. Access to these features will require an additional monthly subscription.

NickLaiacona commented 4 years ago

@jamiefolsom spent some time studying Keygen API and working on the design for licensing and software updates.