Difference between revisions of "Mac OS X Porting - contributions from NeoOffice"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Contributions during OpenOffice.org transition from 1.x to 2.x (years 2003-2005))
(Contributions during OpenOffice.org transition from 1.x to 2.x (years 2003-2005))
Line 94: Line 94:
  
 
'''Detailed list of fixes resulting from the "patch bomb" (PB):'''
 
'''Detailed list of fixes resulting from the "patch bomb" (PB):'''
* (in OOo 2.1+) The PB pointed to issues with locking and network drives. It is a very complex problem. The openOffice.org developers have created their own fixes for these issues: AFP (Apple Filesharing) [http://www.openoffice.org/issues/show_bug.cgi?id=62229 Issue 62229], NFS (Network File Storage) problems [http://qa.openoffice.org/issues/show_bug.cgi?id=61865 Issue 61865],  
+
* (in OOo 2.1+) The PB pointed to issues with locking and network drives. It is a very complex problem. The openOffice.org developers have created their own fixes for these issues: AFP (Apple Filesharing) [http://www.openoffice.org/issues/show_bug.cgi?id=62229 Issue 62229], NFS (Network File Storage) problems [http://qa.openoffice.org/issues/show_bug.cgi?id=61865 Issue 61865], locking problems [http://qa.openoffice.org/issues/show_bug.cgi?id=61865 Issue 61865], [http://qa.openoffice.org/issues/show_bug.cgi?id=62521 Issue 62521]
locking problems [http://qa.openoffice.org/issues/show_bug.cgi?id=61865 Issue 61865], [http://qa.openoffice.org/issues/show_bug.cgi?id=62521 Issue 62521]
+
 
* (in OOo 2.0.4+) The PB pointed to problems in printing and resulted in a big cleanup and fixing of cups (cws macosxcups). The actual new code was not derived from the PB.
 
* (in OOo 2.0.4+) The PB pointed to problems in printing and resulted in a big cleanup and fixing of cups (cws macosxcups). The actual new code was not derived from the PB.
 
* (in OOo 2.0.3+) The Mac aliases were not working (at all). The code from PB was used to fix it  [http://qa.openoffice.org/issues/show_bug.cgi?id=61959 Issue 61959]
 
* (in OOo 2.0.3+) The Mac aliases were not working (at all). The code from PB was used to fix it  [http://qa.openoffice.org/issues/show_bug.cgi?id=61959 Issue 61959]

Revision as of 10:27, 24 November 2006

Introduction

Collaboration between OpenOffice.org and the NeoOffice -project has an ugly history. It is one of those things that one finds hard to be neutral about. You either hate NeoOffice, or love their work.

Despite this, there has been smaller and bigger contributions coming from NeoOffice to OpenOffice.org, every once in a while. It's very far from perfect, but it's something.

We at OpenOffice.org must stop hating others and spreading bad words. Our attitude must be honorable, no matter what others do.

The purpose of this page is to record all the contributions NeoOffice has done to OpenOffice.org. Maybe this makes one appreciate the history more.

The philosophical differences

Anonymous: The OpenOffice.org is a work in progress, and you'd better to support the real OpenOffice.org project, instead of propagate a big lie.

   As long as OpenOffice.org people have this kind of attitude towards NeoOffice, I see no reason why NeoOffice 
   people would want to cooperate with OpenOffice.
   
   - Mox


Anonymous: As summary : NeoOffice IS NOT OPENOFFICE.ORG

  With NeoOffice using & including something like 95% of the code in openoffice.org CVS, I find your 
  summary somewhat misguiding.
  
  This issue and the "not native because UI is partly(!) in Java" are clear signs how NeoOffice developers 
  (who are user-oriented developers) differ from OpenOffce.org developers (who are mainly coder-oriented)
  
  Have you seen this?
  "If it looks like a duck, walks like a duck, and quacks like a duck, then to the end user it's a duck, 
  and end users have made it pretty clear they want a duck; whether the duck drinks hot chocolate or coffee 
  is irrelevant."
  NeoOffice and Aqua
  
  Users do not care if the UI is in Cocoa (the hot chocolate) or partly in Java (Coffee). To users the Java UI 
  is "Native" and NeoOffice is "OpenOffice derivative", because NeoOffice looks like OpenOffice, behaves like
  OpenOffice, has the (at least) the same functionality and same menus.
  
  As a developer you can disagree to this. But then you are not speaking to the people who use the actual
  application. You are speaking coder-speak.
  
  Now, the entirely different matter is that the openoffice.org _as organisation_ is not the same as the 
  organisation that builds NeoOffice. But that distinction does not prevent the NeoOffice being called 
  OpenOffice.org -derivative or similar things.
  
  
  "Hate leads to anger and anger leads to the dark side"    - Yoda.
  
  - Mox


Contributions in the OpenOffice.org 1.x timeframe (years 2000-2003)

The Mac OS X porting team in OpenOffice.org at that time consisted from three (3) core developers:

  • Dan Williams (fa@openoffice.org) - After OOo 1.1 left completely the OpenOffice.org scene
  • Ed Peterlin (?@oo.org) - After OOo 1.1 went to co-found the NeoOffice project
  • Patrick Luby (?@oo.org) - After OOo 1.1 went to co-found the NeoOffice project

with some other contributors infrequent contributors such as:

  • Terry Teague - maintainer of Start OpenOffice.org -script, which was needed for OOo 1.1

The three core developers worked on Mac OS X for X Windows (X11) port, starting completely from scratch. The linux/unix X11 port of OpenOffice.org of course existed already, but because of openoffice.org code base, the porting to Mac OS X was still a herculean task. Not the least because of the bridges -module, which requires platform specific assembler language(!) -coding.

The current (2006) OpenOffice 2.x X11 port for Mac OS X continues to benefit from this pioneer work.

Summary of major contributions:

  • A fully functional OpenOffice.org X11 port for Mac OS X, written from scratch
  • Very polished (although X11) version of OpenOffice.org to Mac OS X (e.g. support for different printing implementations on Mac OS X 10.0 - 10.3, OpenOffice.org starter app, installable .pkg in a disk image)
  • Very active and effective bug fixing on Mac OS X

Contributions during OpenOffice.org transition from 1.x to 2.x (years 2003-2005)

Around the time OpenOffice.org 1.1 was released, Patrick and Ed founded the NeoOffice, project. No longer employed by Sun, nor in any other relationship with them, they wanted to explore the Mac OS X native port in full focus.

As a result, an effort was created, to make OpenOffice.org GUI more easier to port to different platforms (instead of using the same OpenOffice.org's own GUI in every platform). This resulted in the VCL plugins API.

Parallel to this, highly experimental OpenOffice with Cocoa (the NeoOffice/C -project) porting feasibility study was conducted in the years 2002-2004 by NeoOffice people. It never finished due to the recognition of challenges too hard to solve, between the OpenOffice.org (1.x) and Cocoa (as it was in 2003).

NeoOffice people re-started the NeoOffice project, this time using Java as the GUI glue. This was deemed as the fastest way to get the native port ready. Eventually this work resulted in a one-time contribution to OpenOffice.org, the "patch bomb" (PB) of fixes to OpenOffice.org 1.x from Patrick Luby, in summer 2005. It contained small, but important fixes.

The integration of PB was very slow due to OpenOffice.org people's lack of interest in outdated (1.x) code and the need to port it to 2.x. Also OpenOffice.org developers were very careful in evaluating whether the code was:

  1. still relevant
  2. the optimal/correct fix
  3. proper/suitable for the new 2.x codebase


Summary of main contributions:

  • major participation to the design and definition the VCL plugins API (the API for platform specific "GUI widgets" currently in use since OpenOffice.org 2.0)
  • The feasibility study of OpenOffice.org porting to Cocoa, leading to profound understanding of the difficulties and possibilities of using Cocoa in OpenOffice.org
  • A "patch bomb" of fixes to OpenOffice.org 1.x from Patrick Luby, sent to the (then current) developers of OpenOffice.org 2.x for Mac OS X developers (in summer 2005).


Detailed list of fixes resulting from the "patch bomb" (PB):

  • (in OOo 2.1+) The PB pointed to issues with locking and network drives. It is a very complex problem. The openOffice.org developers have created their own fixes for these issues: AFP (Apple Filesharing) Issue 62229, NFS (Network File Storage) problems Issue 61865, locking problems Issue 61865, Issue 62521
  • (in OOo 2.0.4+) The PB pointed to problems in printing and resulted in a big cleanup and fixing of cups (cws macosxcups). The actual new code was not derived from the PB.
  • (in OOo 2.0.3+) The Mac aliases were not working (at all). The code from PB was used to fix it Issue 61959
  • (in OOo 2.0.3+) The PB identified problems with using and displaying non-ascii characters (UTF8). The PB code was not directly used, but a better solution was created Issue 61958 (cws pj51)


(this list is not complete yet)

Latest contributions

Summary of contributions:

  • presentation at the OOoCon 2006, presenting the challenges of porting OpenOffice.org. The insights.
  • pointers to future development in NeoOffice, enabling also OpenOffice.org developers to be proactive, instead of reactive to features important to the users
  • NeoOffice represents the baseline in user-friendliness and features that also OpenOffice.org for Mac OS X should (at the least) reach for.

Related links

Personal tools