<!DOCTYPE html>
<html><head>
<title>Proposal Regarding The OpenOffice.org Numbering Scheme</title>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
</head>
<body>
<h2>Proposal Regarding The OpenOffice.org Numbering Scheme</h2>
<p><i>Last updated: 2002-02-14</i></p>
<br>
<h4>Update: The community voted overwhelmingly in favor of this proposal. It is 
  now accepted. The build to become 1.0 is not the current one but a future one, to be made available early next quarter of this year.</h4>
<h4>&nbsp;</h4>
<h4>Proposal</h4>
<p>This proposal was developed by a consensus process on the OpenOffice.org Marketing list.  We are proposing it to several other OpenOffice.org mailing lists as a plebiscite in order to gauge the general community opinion of the idea.  Please be assured that we are not able to "force" a change on anybody; instead, we are putting this forward as something we think the community will wholeheartedly approve.
</p>

<p>OpenOffice.org will continue to use the build numbers (e.g. 641C, 647) for internal reference.  We are not proposing to tell the developers how to refer to their program, for which build numbers are apparently the most convenient means.</p>

<p>But for purposes of general intelligibility, and to accommodate a general expectation 
  of how an Open Source project should number its public releases, an "X.Y.Z" 
  numbering scheme will be adopted around the time of the release of StarOffice 
  6.0 this spring. Instead of referring to OpenOffice.org by its internal number 
  (e.g., 64x), people will be able to refer to it by the new numeration. All downloads 
  will use this form. This proposed numbering scheme serves four purposes:</p>

<ol>
  <li>Providing an identifier for the common user interfaces, such as: Splash 
    Screen, Title Bar, About Page, Installation Wizard, Web Page.</li>
  <li>Translating OpenOffice.org build numbering into a simpler value which is 
    more easily comprehended by the general public and the press.</li>
  <li>Building our image that OpenOffice.org is a separate and useful product 
    in its own right, not only a part of the StarOffice development process.</li>
  <li>Giving the impression, at the correct time, that OpenOffice.org is ready 
    for production use by businesses and individuals.</li>
</ol>
<br>

<p>The first version number will be "1.0.0".</p>


<p>Please review this proposal. We would like for discussion and vote to conclude by then end of next week: The deadline is Friday, 2002 Feb. 8. </p>
<p>Voting will be +1, -1, and indicate approval or disapproval. Feel free to comment, make suggestions, and contribute. Any OpenOffice.org member may vote; but members must submit their vote to the "discuss" list, <a href="mailto:users@openoffice.apache.org">users@openoffice.apache.org</a>; unsubscribed members will have their submissions moderated.</p>
<br>

<h4>Examined Alternatives (Found Unsatisfactory)</h4>
<p>The following three alternate numbering schemes were debated on the Marketing list and rejected for the reasons named. </p>


<p>"OpenOffice.org 6.0"</p>

<ol>
	<li>By synchronizing OpenOffice.org and StarOffice version numbers, we perpetuate the existing public impression that OpenOffice.org is strictly a StarOffice development project.  This impression impairs our ability to attract independent developers and to encourage OpenOffice.org use in businesses.</li>
 

	<li>We have not had five previous versions of OpenOffice.org.  Jumping straight to version 6, while it would re-assure may users accustomed to Microsoft product numbering, would alienate some Unix and Open Source developers due to the pretense involved.  In this light, version 1.0 is seen as a good compromise between the Windows and Unix/Open Source worlds.</li>
</ol>


<p> "OpenOffice.org 2002" </p>
<ol>
	<li>It could be perceived by many as slavishly imitating Microsoft.</li>

	<li>The "year" scheme does not allow for the release of multiple stable versions of the product in a single year.  It also complicates patch releases by requiring long version numbers like "OpenOffice.org 2002 r.3.1" which might confuse the general user.</li>
</ol>

<p>"OpenOffice.org 0.8.5 (or .9.x)</p>  
	<ul>
		<li>It was suggested that we release OpenOffice.org as a "less than 1.0" release and work towards a perfect, 1.0, product.  This is in keeping with the tradition of Open Source development.  However, the general Windows-using public would perceive any number less than 1.0 as being an alpha version and not suitable for general use.  As the entire purpose of a version numbering change is to market OpenOffice.org to the public, such a scheme would be self-defeating.</li>
	</ul>

<p>As said above, we felt that a "Version 1.0.0" on a product with some missing features and bugs but a lot of excellent functionality was a good compromise between "0.8.5" and "6.0".</p>
<p>To examine the threads of this discussion, please refer to the Marketing list <a href="http://whiteboard.openoffice.org/servlets/SummarizeList?listName=marketing&amp;by=date">archives</a>. Several key threads include:
<ol>
	<li><a href="http://whiteboard.openoffice.org/servlets/BrowseList?listName=marketing&amp;by=thread&amp;from=5396">General proposal for a 1.0.0 numbering</a>;</li>
	<li><a href="http://whiteboard.openoffice.org/servlets/BrowseList?listName=marketing&amp;by=thread&amp;from=5430">Debate on that issue, in which the numbering is hotly disputed</a></li>
	<li><a href="http://whiteboard.openoffice.org/servlets/BrowseList?listName=marketing&by=thread&from=5489">Final proposal and summary</a></li>
</ol>
<br></body>
</html>

