<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="HTML Tidy for Linux/x86 (vers 1st April 2003), see www.w3.org"
      name="generator" />
<title>distribution: Content</title>
<meta http-equiv="Content-Type"
content="text/html; charset=us-ascii" />
<meta http-equiv="Content-Style-Type" content="text/css" />
</head>
<body>
<h1 align="center">Copying OpenOffice.org by Libraries,
Organizations or Tech. Support groups</h1>
<p>In short, <b>you may copy OpenOffice.org for anyone.</b></p>
<ul>
<li>Libraries may have a reference copy for people to borrow or
copy.</li>
<li style="list-style: none">
<ul>
<li>Some libraries make a new CD for a small charge.</li></ul></li>
<li>NGOs or corporations may keep a copy in a corporate library for
employees to copy and use at work and at home.</li>
<li>Tech support groups may keep a reference copy or distribute
copies.</li></ul>
<p>The most important thing about such casual distribution (as
opposed to full distributorship organziations, see the Distribution
Home page for more information) is to join the New Release Mailing
List to be certain that you are not handing our obsolete copies</p>
<p>Please subscribe to the "announce" mailing list from the mailing
list page at
<a href="http://www.openoffice.org/mail_list.html#general">http://www.openoffice.org/mail_list.html#general</a></p>
<hr noshade="noshade" />
<h2><i>Integrity of copies:</i></h2>
<p>Almost as important is to be able to assure people of the
<i>integrity</i> of the copy you are handing out.</p>
<p>There are several ways to do this:</p>
<ol>
<li>Keep a master copy and only loan out copies of the master copy.
Every time it is returned do a compare of the files one to the
other.</li>
<li>Collect the
<i>signatures</i><a href="#signatures"><sup>1</sup></a> of all
files to use to compare against the copy when it was loaned
out.</li>
<li>Perhaps easiest is to never use <i>loan and return.</i>
Insteadmake a copy and hand it out every time someone wants
one.</li></ol>
<hr noshade="noshade" />
<h2>Obtaining a master copy:</h2>
<ol>
<li>The easiest way to get a new <i>Master Copy</i> is to order a
new master from one of out distributors and use that CD as a master
copy. A new CD should cost, including delivery, one a few Punts,
Euros, Rubles or dollars.</li>
<li>You may join our official distribution channel and the use the
ISO distribution kit. More information is available on the main
<a href="http:/distribution.openoffice.org">distribution
page</a>.</li></ol>
In any case, 
<ul>
<li>Please see the general information about&nbsp;
<a href="burning.html">good burns of
OpenOffice.org</a>,&nbsp;<br /></li>
<li>Be sure that instructions for "How to Install" are included, or
a pointer to a web install page is both obvious and included.</li>
<li>Put appropriate labels on the CD and for jewel boxes so people
know what the disk is, including at least:<br /></li></ul>
<table cellpadding="5" cellspacing="5" border="1" width="90%"
align="center">
<tbody>
<tr>
<td valign="top">
<p>OpenOffice.org Office Suite, Release <i>1.1.1</i></p>
<p>Read the file named default.html in the top or root
directory.</p>
<p>See http://www.openoffice.org for more information or direct
downloads.</p>
<p>You may copy this CD: see http://distribution.openoffice.org for
details.</p>
<p><u>Always anti-virus scan all new
software.</u></p></td></tr></tbody></table>
<p>Replace the italicized version with the current version.</p>
<p>Join the OpenOffice New Release Mailing List so that you will
not be distributing old versions.</p>
<hr noshade="noshade" />
<h3><a name="signatures" id="signatures"></a>Signatures for
integrity checking.</h3>
<p>For more information about <i>sgnatures</i> please use a search
engine such as Google and search for information about MD5 or
SHA-1.</p>
<p>To integrity check a CD that is from a distributor or returned
by a user all one has to do is create signatures for all the files
on the CD and compare them to a signature list obtained directly
from OpenOffice.org.&nbsp; .</p>
<p>If there are <b><u>any</u></b> changes or new files, the CD
should not be used until they are fully explained.</p>
<p>There are free or inexpensive utilities for signature checking
on all major computer platforms such as Linux, Mac, Solaris, UNIX
or Windows</p>
<p>If you do not check signatures on CDs as they are returned from
borrowers, we recommend that you <u>do not</u> accept back
CDs.&nbsp; CDRs are very inexpensive compared to the many costs you
will incur if someone loads a virus or worm on a CD that you loan
out.</p>
</body>
</html>
