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

From Apache OpenOffice Wiki
Jump to: navigation, search
(The philosophical differences)
(Contributions in the OpenOffice.org 1.x timeframe (years 2000-2003))
Line 26: Line 26:
 
The Mac OS X porting team in OpenOffice.org at that time consisted from three (3) core developers:
 
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  
 
* '''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
+
* '''Ed Peterlin''' (openstep@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
+
* '''Patrick Luby''' (pluby@oo.org) - After OOo 1.1 went to co-found the NeoOffice project
  
 
with some other contributors infrequent contributors such as:
 
with some other contributors infrequent contributors such as:
 
* '''Terry Teague''' - maintainer of Start OpenOffice.org -script, which was needed for OOo 1.1
 
* '''Terry Teague''' - maintainer of Start OpenOffice.org -script, which was needed for OOo 1.1
 +
(Terry Teague died suddenly and was a great contributor to both projects and tried to mend the fences several times, without success.)
  
 
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 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.
Line 40: Line 41:
 
* 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 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
 
* Very active and effective bug fixing on Mac OS X
 +
  This continues to this day with the present team.  Also, efforts to port OpenOffice.org to the X11 Windowing interface from the UNIX world 
 +
  were undertaken by the current Aqua team.  No code contributed for OpenOffice.org 1.1 could be used for the 2.0 effort due to the changes
 +
  to the underlying code.
  
 
==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)==

Revision as of 21:25, 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

NeoOffice.org was begun out of the original Mac OS X porting team, Patrick Luby, Ed Pertilin, Dan Williams, et. al. There was a falling out of sorts between the OpenOffice.org community and Sun Microsystems, who was Patrick's employer at the time. (Details are not available as to what happened and why.) The lead to the original group leaving the OpenOffice.org community support team and founding a project of their own, NeoOffice.org. This project has lead to a Mac GUI style version oSeconf OpenOffice.org. What this project basically did is use Carbon/Java to create a wrapper around the basic OpenOffice.org application code that creates the sensation that one is using a Mac Native program with all of the appropriate menus and displays. However, this code is on top of the original OpenOffice.org code and this project is not supported by OpenOffice.org.

There is another effort, lead by the current Mac OS X porting team, called Aqua. This team is growing and changing but the original lead in this effort is Eric Bachard. This project has made great progress in using Carbon/ObjC (the C programming language for the Mac).

There was a decision by the OpenOffice.org organization to move all information about NeoOffice.org to the derivatives page, as NeoOffice.org is and will continue to be a derivative.

It should be noted that several members of the NeoOffice.org support team continue efforts to "mend the fences" with the OpenOffice.org team. The first of these should be 'bring backs' of code that fixes problems in the current version of OpenOffice.org that would help both projects become easier to use.

Second, the path to mend the fences would be for the NeoOffice.org team to join the OpenOffice.org team to finish the work on the Apple HIG version being constructed and completed by the OpenOffice.org team.

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 (openstep@oo.org) - After OOo 1.1 went to co-found the NeoOffice project
  • Patrick Luby (pluby@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

(Terry Teague died suddenly and was a great contributor to both projects and tried to mend the fences several times, without success.)

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
 This continues to this day with the present team.  Also, efforts to port OpenOffice.org to the X11 Windowing interface from the UNIX world  
 were undertaken by the current Aqua team.  No code contributed for OpenOffice.org 1.1 could be used for the 2.0 effort due to the changes
 to the underlying code.

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