Software · 2010-03-04 · 6 Proprietary software (suletud tarkvara) proprietary – „closed“,...
Transcript of Software · 2010-03-04 · 6 Proprietary software (suletud tarkvara) proprietary – „closed“,...
1
Software
software – the binding component
storage processorbuses/data paths
software
2
Software
ownership and usage rights
installing
updating
software library
3
Software: ownership, usage rights
➔ ownership of the copy -
all the (owners) rights for the copy transferred to the end user
copyright may remain with the publisher
➔ license to use the copy –
client is licensed to use the copy of the software, but ownership of the copy remains with the publisher
4
Free Software (vaba tarkvara)
➔ end user owns the copy➔ owning the copy ≠ owning the copyright
➔ owner's rights and liabilities➔ accepting the license grants additional rights,
user will be bounded by the terms of license➔ copyleft vs. permissive
5
Free Software
copyleft➔ aim to preserve
freedom of the software
GNU General Public License
permissive➔ aim to give more
freedom to the users
BSD License, Apache License
6
Proprietary software (suletud tarkvara)
➔ proprietary – „closed“, „commercial“➔ end user does not own the copy➔ end user is granted the right to use the copy➔ accepting the license is prerequisite of using
the software➔ no standards, vendors impose their own rules
7
Software: Cost
freeware (tasuta tarkvara)
voluntary donations
free for personal use
shareware (vabalt levitatav prooviversioon)
try & buy, trial (prooviversioon)
for charge
8
Source Openness
closed source – only vendor/publisher and their partners can access the code
shared source – user gains access to the code by signing agreement, ownership remains with vendor
open source – code accessible by everyone, end-user owns the copy
access to source does not automatically imply the rights to modify the source
9
Counting the Users
➔ license tied to one workstation - per-seat➔ tied to one user - per-user➔ installed to many locations, allowed to use N
copies concurrently - concurrent, floating (ujuv litsents)
➔ license covers whole department/company or faculty/campus – site-licence, campus licence
➔ license tied to particular hardware – OEM
10
License Duration
➔ „forever“➔ annual fee (rent)➔ software support/maintenance/assurance
11
License Server
➔ keeps track of floating / concurrent licenses ➔ upon starting, application performs a check-
out of the license➔ when the application is closed, a check-in is
performed➔ no more free licenses to check out?
➔ application does not start, ➔ ..or starts for a limited period of time..➔ ..or starts with a limited functionality
12
Physical Tokens
➔ also known as dongles➔ a piece of hardware that enables the use of some
software application➔ usually an USB device➔ sometimes used with license servers
13
Installing Software
➔ only install what you own or are licensed to use
➔ temporary and trial installations➔ must be clearly distinguished➔ must not be used to do “real work”
➔ software install rights➔ person with install rights must understand the
concepts of software licensing
14
Installing Software
➔ mass installations➔ the only real way to mass install is to automate
➔ identical installations: identical problems
➔ try to parallelize for faster install times➔ applications/systems that were identically
installed tend to develop differences over time ➔ life-time management should be identical, too➔ you may benefit from “checkpoints”
15
Packaging
managing large quantities of software installations will get complicated
this can be mitigated by software packages
16
Activity II
17
Evolution of Packaging
➔ source code (or binary code) with half-automated install
tarball (incl Makefile), .jar
➔ install packages (incl removal functions, basic dependencies)
.exe install packages in Windows
18
Evolution of Packaging
➔ standard package formats with tools to manage them (removal, audit, dependencies, single package manager)
RedHat Package Management (rpm), Debian Package Format (deb), Solaris Package (pkg), Windows
Installer (msi)
➔ software repository systems (dependency resolving, central updates, single toolset)
APT, Yum, YAST2/Zypp,CPAN, PEAR
19
Software Repository
➔ set of published software (available over Internet)
➔ has structure, meta-info➔ compatible with some software management
application➔ complex aspects of dependency, version,
update management are kept hidden from the end user
➔ one system can be connected to many repositories, single tool for management
20
Repository Examples
➔ install repository for the OS➔ drivers from hardware vendors
➔ N: nVidia, ATI, Intel graafikadraiverid
➔ applications from third-party➔ N: Packman, rpmforge, EPEL, Blastwave
➔ for-charge and proprietary software➔ N: NightStar LX, Eucalyptus
➔ repository for SW development libraries➔ N: CPAN, PEAR, CRAN
21
Tarkvara pakendamine
Vendor 2 Vendor 3
Vendor 1OS (distro) ver 1
x86_64
i386
OS (distro) ver 2
x86_64
i386
Updates
1
x86_64
i3862
x86_64
i386
Driver A + upg
x86_64
i386
Application B OS 1 + upg
x86_64
i386
Application B OS v2 + upg
x86_64
i386
Client 1
Client 2
22
Software Updates
➔ upgrade versions are usually cheaper than full versions➔ functionality updates
➔ security updates – should be free➔ bug fixes – usually free➔ software “lifetime” – for how long is the
software version supported?
23
Software Updates
➔ security updates➔ security updates must be (semi)automated!➔ ideal model:
1.security update gets published
2.adminstrators test the update – in (semi)automated way
3.if the update passes testing, it will be delivered to all the systems needing the update via automated infrastructure
24
Software Updates
➔ version updates (upgrades)➔ major upgrades need planning➔ too quick upgrades will have a negative impact➔ learn from the experience of other companies
➔ if possible, the upgrade should be simultaneous over the company➔ new and old version may not be fully compatible
25
License Store
➔ repository of license tokens (agreements, license files, ..)
➔ with every token, list of existing installations is kept
➔ each new installation should begin with registering itself in the license store
26
Software Library
➔ ITIL: Definitive Software Library➔ structured library of software:
➔ installation packages of licensed software➔ different versions (for testing, in use, archive)➔ “install keys” can be either kept in software
library or license store