Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I implement license management for on-site installation of webapps (preferably cross-platform)? [closed]

I have a web application running on a Gentoo-based LAMP stack. My customers buy the software as a service and I host everything. However, there is some demand for on-site deployment inside the clients' own networks.

Currently, because I host the system, there is no built-in license management in the app. I bill based on user accounts and data capacity (it's a processing and analysis app for metering data) and I just set up whatever the client pays for and the client can't setup those things himself. Even without on-site installation, that should be changed for better scalability anyway.

I am looking for a license managment framework and/or typical approaches that you have implemented yourselves or have seen to work well elsewhere. My requirements are:

  • "safe enough" rather than "military grade"
  • very much non-obtrusive
  • prevent the owner of a license from running the system in multiple plants when he has only licensed one
  • make the number of user accounts and the data capacity both reasonably tamper-proof and easy to up- / downgrade
  • work without an Internet connection (having a completely self-contained system would be the main point of opting for the on-site solution), though it might be acceptable if there has to be a temporary connection during installation

For some of the on-site scenarios, there would be a requirement for some particular OS, typically some version of Windows Server, but various Linux distros are getting more popular as well, especially in the public sector.

From a user's point of view, I am quite satisfied with the license management in FogBugz, it seems Joel Spolsky is satisfied with it from a vendor's point of view, and it is cross-platform, so it would make a great reference of what I'm aiming at.

like image 775
Hanno Fietz Avatar asked Sep 09 '08 07:09

Hanno Fietz


People also ask

Which is good practice for software license management?

Determine software usage. Measure how many licenses you need per software usage. Keep updating your license and software inventories. Manage your licenses more efficiently.

What is SaaS license management?

SaaS license management is a subset of software asset management (SAM), dedicated to cloud-based applications and services. And as modern business becomes more cloud-centralized, new and established SaaS products demand better tracking and management options. SaaS management provides the solution.

What is an on premise software license?

An on premise license is a software license that is installed and used locally. That is, in order to use the software, the user must install it on their own server or computer — and the software can then only be accessed and used through that server or device.

Who is responsible for software licensing?

Software publishers own all of the rights to the software; they are selling a license to use their product.


2 Answers

Don't. Every hour that you spend writing a license key system is an hour that you are not spending fixing bugs or adding features. By writing a license management system, you are spending resources in order to reduce the value of your product!

Copyright your code, have a lawyer and be ready to prosecute anyone who violates your copyright, and call it a day.

like image 71
Andru Luvisi Avatar answered Oct 18 '22 21:10

Andru Luvisi


I've seen one company that deploys their on-site web system using a pre-built linux VM image. Clients run it under VMWare and you don't need to worry about the actual OS on the client systems is. Plus they don't provide logins for the actual linux system running the web server, so the end users can't actually get in and modify anything.

I'm not sure how they handle the licensing limits, but they are in there. It might be a case of providing an updated VM image whenever a client requests more user licenses.

Although this doesn't directly address the need to prevent multiple instances running. I guess you could always do some sort of activation key system based on the system configuration.

like image 40
Kroden Avatar answered Oct 18 '22 22:10

Kroden