Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm writing an application that will be made available for sale. I'd like to have a system to ensure that customers have paid to use the software.

The variables to consider are: 1) Number of users in an organisation 2) Facilities available in the application to the users 3) Licensing period - ie one month or one year

Are there any free or commercial offerings that can be used to help with this?

What are the best practices for this kind of thing?

What else should I be considering?

My initial idea is to have a block of encoded text which is either emailed, or downloaded. The contents of the block of text would include a unique number for the PC, end date, facilities etc. I guess I would need a server somewhere to control the number of licenses for an organisation.

share

migration rejected from stackoverflow.com Dec 15 '14 at 16:31

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as off-topic by MichaelT, gnat, Kilian Foth, Bart van Ingen Schenau, GlenH7 Dec 15 '14 at 16:31

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – MichaelT, gnat, Kilian Foth, Bart van Ingen Schenau, GlenH7
If this question can be reworded to fit the rules in the help center, please edit the question.

    
@Mike - There are tons of quality offerings. Honestly there is not much use for both a secure and free offering. A simple Google search can find most of those offerings. I as a user hate it when an application fails to work because of its DRM software. I don't buy broken software and I judge the author of a given peice of software based on the criteria of "it works" when it doesn't work I stop using it ( and thus don't purchase future versions/updates/applications from said comapny ). –  Ramhound Apr 13 '11 at 15:13
    
Free/Open Source Software has much simpler license schemes (make as many copies as you like and use it as long as you want), and I'd be surprised if somebody wrote some sort of free license server. –  David Thornley Apr 13 '11 at 17:12

1 Answer 1

This is the business we're in at Agilis Software - just to declare my interest - so falls right in our area of expertise.

We've published a number of White Papers and articles on license management, some of which are available through our website, and others are published web articles e.g. What Is a License Manager?.

The main licensing controls you describe are available in any competent commercial licensing system, such as our Orion License Manager: managing and limiting the number of active users, configuring the available product features, and setting a subscription or trial time limit. Some further issues you may want to consider include:

  • How many license servers would your customer need to run? Can one server manage licenses over their entire worldwide VPN / WAN / intranet?
  • Do you also want to offer customers the option to have a license server hosted by you just manage their licenses over the Internet? (this can be attractive to some customers as they don't even have to think about a license server, plus of course you can readily manage their license from you on their behalf).
  • Might some users not have a network connection to the server, so does the licensing system provide some means of securely enabling licenses on disconnected systems?
  • What security measures are there to protect against hacks, such as attempting to extend a time-limited license by rolling back the system clock, replicating the license server, replicating the licensed application instance, spoofing or tampering with the application or license server's license-checking code, intercepting or spoofing the client-server communications....

Hope this helps.

share
    
Thanks - that is useful. –  Mike Vincent Apr 15 '11 at 13:42
    
No personal experience of Agilis - but customers get very annoyed when they can't run software they bought because of a license server fault, especially when it then takes days for the supplier to respond. –  Martin Beckett Jan 12 '12 at 5:26
    
@MartinBeckett We are not a mass producer of software and most of our software is given away free with equipment we manufacture. Some of the software we charge for as it add some valuable features. We sell through distributors, primarily, and don't think they'd always be honest with the number they sell. We hve caught at least one out in this way. So we are kind of pushed into this situation. Although I agree it is not ideal. –  Mike Vincent Dec 16 '14 at 15:05

Not the answer you're looking for? Browse other questions tagged or ask your own question.