<?xml version="1.0" encoding="utf-8"?>
html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<title>"Icehamster" - an Executive Summary</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="author" content="Shlomi Fish" />
<meta name="description" content="Executive summary for Icehamster" />
<meta name="keywords" content="Shlomi Fish, Icehamster, Apt, Windows, Microsoft, Win32, urpmi, rpm, dpkg, Linux, packages" />
<h1>"Icehamster" - an Executive Summary</h1>
The Microsoft Windows line of operating systems suffers from inadequate
package management. Generally, programs are downloaded as
self-contained executables, installed using a manual process, and often
break other applications or the entire system. Compare this to the
state of the art in most modern Linux distributions (such as
<a href="http://www.debian.org/">Debian GNU/Linux</a>,
<a href="http://www.mandriva.com/">Mandriva Linux</a> and
<a href="http://www.redhat.com/">Fedora Linux/Red Hat Enterprise Linux</a>
, where one can install packages in an automated processes, and each
package encompass functionality that can be used by many other
The aim of the "Icehamster" (temporary name) project is to provide the
same functionality for Microsoft Windows, in an open-source
(BSD-licensed), flexible, and reliable way.
<h2>What Icehamster will do?</h2>
Icehamster will provide:
A way for developers to package their software (and similar
content) in packages. As opposed to traditional
"Next → Next → Install" Win32 packages, each of these
would contain a self-contained and possibly dependant
functionality that can later be re-used by other packages.
Allow developers to publish their packages online, or in re-usable
media such as CD-ROMs.
Allow users to install an Icehamster client which will allow them
to retrieve Icehamster packages from remote sources or from media.
All of this will be fully automatable, open source, and flexible.
<h2>Source of Revenue</h2>
The Icehamster software being open-source will not generate a profit
stream by itself. The Icehamster developers will instead offer
the software free of charge for people to download and install on their
computers. Furthermore, developers will be able to prepare their own
Icehamster packages for easy installation and maintenance of their
software. So what will we profit from?
Simple. We will provide a hosting service for Icehamster packages.
Instead of configuring and maintaining their own source of packages,
the interested developers would be able to set up an account on our
server, and upload new versions of their packages whenever they are
ready. We will charge them for the hosting, and for any extra bandwidth
It is possible similar providers of services will spring up. That's
perfectly acceptable, as we will still have a large percentage of the
total market, assuming we stay competitive enough.
We plan to use <a href="http://www.perl.org/">Perl</a>, a powerful
, popular and cross-platform dynamic language for writing most of
Icehamster. While being very high-level and allowing a programmer
to construct a lot of working code very quickly, it also supports
many low-level primitives, and platform-specific APIs.
We plan to use PAR - the Perl Archiver, as a way to package Icehamster
in self-contained executables that contain the Perl Virtual Machine
and all the third-party APIs. This is done in order to facilitate the
installation by the user.
We will make use of many of the
<a href="http://www.cpan.org/">Comprehensive Perl Archive Network</a>
(or CPAN) modules that we find appropriate. CPAN provides a lot of
ready made and fully usable functionality, that can make a dramatic
improvement in development time and cost. We may also make use of
external tools written in other languages (especially C and C++)
if they also prove useful.