views:

763

answers:

5

My company is trying to find a tool that will track serial keys for software we have purchased (such as Office), as well as software that we write and sell.

We want software that will allows us to associate a particular computer with the software on that computer and the serial key(s) and license(s) for that software. We'd also like to track history of the computer, such as when software is removed from a computer and moved to another computer.

I've looked around Google and various software sites, but all of the results I've found are for licensing software and creating serial keys, not managing the serial keys that those tools generate. I know this problem has been solved; many companies license software and keep records of the serial keys they generate. So I'm curious if any of you have solved this same problem without writing your own custom software?

Edit: I forgot to mention, I am not asking about the merits of licensing software -- the software we write is not COTS and purchases are controlled at a contractual level. Still, we need to manage how serial keys are generated.

A: 

not off-the-shelf, but perhaps a database like MySQL or OpenOffice Base (or Access, bleah)? This sounds pretty simple if you're not looking for many frills; just a couple of tables, e.g. users, computers, software types, license keys, and cross-tables to associate these with each other.

Jason S
A: 

This might be useful, but I have not used it for what you are looking for:

http://www.ezasset.com/i/front.html?page=front_ezindex

There are a number of ways you can handle this - perhaps a license is also considered an asset (not just a computer) and you an group the assets together?

There is a notion of a parent asset and sub assets I think. It is free for up to 100 assets. Assignment and location are also handled.

Tim
+2  A: 

A couple of options (including the one you don't want):

  1. Write your own database for this; Perhaps a simple app using SQLite. (Not very appealing, but not hard either)

  2. You just need an application that lets you create name:value pairs and assign them into groups. A customizable address book would work in a pinch. Each contact could be a program name or a customer name with the license/serial as the data. Then you could group by computer, customer, etc.

This sounds like the classic kind of problem that Access (and programs like it) were designed to solve. You start with access, use it for a couple of years, and then later hire someone to port the data into a custom app when you've outgrown that solution.

I would be extremely tempted to try and use an address book program for this to start. (Note: I'm using Apple's address book program in my mind for referencing features) It allows for custom fields, notes, and groups. The downside is that you have to do more work: searching for part of a serial number to make sure it is not already in use, manually adding a note to two "contacts" indicating the transfer of a license from one to the other.

On the other hand, if the license tracking of your own software is key to your business, it is probably worth your time and money to develop a custom app on top of a SQL database. Write down a list of everything you want to be able to do. Go back and write down any rules or constraints (e.g. can two or more machines have the same license?). The database schema and programming rules will fall right out of that document.

Another idea: programs that track books, dvds, etc. Primarily ones that allow you to keep notes about when you lend them to people.

Harvey
I'm not completely against writing our own stuff, but I imagine its re-inventing the wheel. Also we don't have much spare developer time, so we'd be willing to trade time for money.
ARKBAN
A: 

I've used this in the past and been pretty happy with it. The downside is that it runs in FileMaker

GregD
A: 

Take a look at SpiceWorks:

http://www.spiceworks.com/

It does a lot more than just inventory / asset management and is free.

Abdullah Jibaly