see the results.

advertisement
Commercial software licensing
A. Introduction:
Software products are usually distributed with a License, which describes what can and
cannot be done with the Software.
Standard licenses (GPL,MIT etc.) are common in open-source and free SW, but most
commercial SW vendors phrase their license independently, and not according to any known
standards. Therefore licenses should be divided to models.
The following document will cover the license models (section b), define what models will be
taken into account in our project by minimizing the models (section c), and define the class
hierarchy (section d).
B. License models:
following is a list of license models and their description , note that the models are analyzed
mainly by their distribution and use, and that a "real" license might match to more than one
model.
Name
Free distribution
and use
Description
The most "free" license, place no restrictions
on distribution and use. Usually permits
redistribution as long as the original license is
used (GPL), credit is given to the original SW
programmer (BSD). Sometimes no restriction is
placed (MIT).
Project's handling
No support.
Due to its loose terms of
use license management
isn't needed.
Capacity or
performance –
The usage is limited by capacity (e.g. SW that
deals with large databases) of performance (e.g.
SW that run on a specific server).
Evaluation
The usage is limited by time, usually a month, in
which the user is allowed to evaluate the SW in
order to determine if it fit it's needs.
The usage is limited by time, usually a year.
During that time the user (or users) is allowed
to use the program as agreed.
The usage is granted to all users in certain
geographic location, mainly used by large
customers.
Partial support.
Due to the lack of "client
crawler" that supply
information on the usage
time\CPU there isn't any
way to present data
related to actual usage.
Therefore the license will
contain additional data
regarding the usage limits
(e.g. DB size in MB).
Full support.
The expiration date will be
saved in the license object.
Full support.
The expiration date will be
saved in the license object.
Full support.
Information about the
user's working site will be
retrieved from the Ldap
server.
Partial support.
Time limited
Site
Concurrent
the usage is granted to a number of users with
concurrency restriction (e.g. if you have 9
computers that run WordPerfect Office, but
never more than 4 at one time, then you only
need 4 licenses).
Pay per use
The customer pays according to the usage (the
usage can be measured by time\CPU etc.).
Typical to Saas.
OEM (original
equipment
manufacturer)
A license that bind (usually by the hardware
manufacturer) to a specific computer. Using the
same license on other computer is strictly
forbidden.
Node locked
The license is bind to one or more computer
systems and can't be transferred.
Named user
The license is granted to one or more login ID's
(user-names).
Group
The license is granted to all members of a
certain group.
End user license
agreement
The license is granted to an individual, usually
to one computer (almost all retail SW is sold
that way).
Due to the dynamic change
in usage and the lack of
"server's crawler" that will
supply data on usage the
model can't be fully
represented. The
maximum number of
concurrent users will be
saved.
Partial support.
Due to the lack of "client
crawler" that supply
information on the usage
time\CPU there isn't any
way to present real data on
such licenses.
All eligible users will be
saved.
Full support.
Hardware piece will be
represented in the project
using its company ID. The
hardware object will hold
all its licenses.
Full support.
Hardware piece will be
represented in the project
using its company ID. The
hardware object will hold
all its licenses.
Full support.
The user name will act as a
key.
Full support.
Information about the
user's group will be
retrieved from the Ldap
server.
Partial support.
Number of computers will
be saved as additional
data.
C. Optimized model group:
To reduce duplicates and due to the partial support given to some models, we opted to
minimize the model list to 4 models. Each model represents certain license properties.
Limit →
License ↓
Hardware
attached
Group of
users
Time
Num of users
Hardware
Other
X√
X
√
Tags – OEM.
X√
√
X
Usage
X√
X√
X√
Tags Number of computers allowed for each
user should be determined – default is 1.
Tags Various options – data size, CPU, actual
usage time.
√
X
Concurrent X√
D. Additional Definitions
1. User element – all users will be represented by the user element.
2. Machine element – all hardware parts that has one or more licenses from "Hardware
attached" kind will be represented by this element.
3. License holders – a license holder is any element that can be a license owner. Therefore
"user element" and "machine element" are license holders.
4. LDAPGroup – an entity representing a collection of license holders defined by the LDAP
server, and is in itself a license holder. All holders in the group share possession of the
license.
5. License tags – the licenses will have additional information that will be described with
key-value properties object.
See UML diagram on the next page
bibliography:
http://en.wikipedia.org/wiki/Proprietary_software
http://www.aaxnet.com/topics/slicense.html
http://www.iusmentis.com/computerprograms/licenses/choosing/
http://www.oilit.com/papers/licenstracker.pdf
http://revgengroup.com/resources/25+Software+Licensing+Models.pdf
Download