Speaker presentation

Eric Bachard

Professor of Applied Physics, UTBM (France)

Developer for Francophone OpenOffice.org project

Porting Project co-lead

Mac OS X Porting

Plan

History of the Mac OS X port

X11 vs Aqua and more

State of the Art

Propositions for future of Mac OS X port

Thanks

Q & A

OpenOffice.org history

1980	creation of Star Division

1986	StarWriter for DOS

1996	StarOffice 3.1 (Windows, Mac, OS/2, Unix )

1999	(Aout) : Star Office 5.1 is downloadable for free, for personal usage only

2000 : Start of StarOffice 5.1 (19 july) Announce of OpenOffice.org project creation (13 octobre). Code is free.

2002 (may) : Openoffice.org 1.0 / StarOffice6.0

2005 : OpenOffice.org 2.0 / StarOffice 8.0

Brief history of Mac Port

OpenOffice.org sources available since end 2001

First build for Mac OS : 2002

Most Important contributors for 1.1 to 1.1.2 :

Patrick Luby, asxless, Edward Peterlin, Dan Williams, Kevin Hendricks, Terry Teague

...and passed away just some days ago, Terry Teague (†) .

Existing versions of Mac OS X

Architecture : PowerPC (G3, G4 G5), and soon Intel x86 “Mactel”

Mac OSX 10.2 : Jaguar

Mac OS X 10.3 : Panther

Mac OS X 10.4 : Tiger

OpenOffice.org 1.1.x for Mac

What means X11 ... and Aqua ?

Differences X11/ Aqua

X11 : free implementation of XFree provided by Apple : client/server architecture

Exactly the same as the one used in Linux (gtk, kde can be used)

Aqua : native Graphical User Interface for MacOS X (using Cocoa)

All actual OpenOffice.org versions for Mac OS X need X11 to work

Another project does not use X11 : NeoOffice

What is Aqua ?

Native Apple User Interface with complete consistency between applications :

Drag'n drop

All shortcuts are the same for all applications, using “Apple” key.

Everything is thought for the user : better look'n feel

To learn more about Aqua Human Interface Guidelines, see

<http://developer.apple.com/documentation>

Two projects...why ?

OpenOffice.org was LPGL + SISSL

NeoOffice is a fork under GPL

Some developers disagreed the SISSL+LGPL mix, not protecting developers.

Kevin Hendricks : «no one wants anyone else to ride freely and make money off ther volounter work »

Actual Status of X11 port

OpenOffice.org 2.0 /X11 for Mac OS X : ok

Compatible Panther and Tiger : ok

Easy to install : ok

Easy to launch : ok

Native fonts auto extracted : ok

Look is now more better

Complete drag'n drop : not ok

-> we reach our limits using X11

What does Apple, waiting ...

One new OS version every year

Improving Cocoa : Objective-C, and soon Objective-C++ (partial implementation only currently)

Will X11 still be used in next version of Mac OS X ?

New hardware generation is planned for june 2006 : “Mactel” with x86 inside

Stop with X11

It's not possible to continue with X11 for next generations of OpenOffice.org versions.

Other potential problems :

Java 1.4.x mandatory (1.3 won't work at all)

gcc-4.0.x only

Assembler problems

We must change for Native port

Conclusion : to be able to follow Apple's evolutions :

We must stop to use X server for future version (after 2.0), just fixing bugs for 2.0

Mac OS X port must switch using Cocoa API's : all hardware problems will be solved inside Cocoa API

More easy to maintain

More attractive for Mac developers

Respects what Mac Users expect

What is to do ?

Everything :

Analyze existing code

Write the necessary documentation

Define a todo-list

Define a complete plan for Mac port

Write new code

Build and fix bugs

NeoOffice people, every developers are welcome

Where is the job to do ?

In vcl (visual class layer):

New code must reimplement what is actually done by X11, but using Cocoa API.

-> quick look in sources

-> what can help us

Syntax part

For (Re)writing vcl part, we must :

define codelines for C++ -> Cocoa translation

Define rules/tools for code documentation

Semantic part

analyze vcl and write doc about it

analyze aqua part of vcl

analyze NeoOffice strategy (proposed by Patrick Luby)

define precisely every task

rewrite a complete documentation of vcl part (including codelines, sample of codes)

define a timeline

Proposition of roadmap

End 2005 :

stable : SRX645 : 1.1.5 is ok for Mac OS X Panther and Tiger

stabilize SRC680 for both Panther and Tiger

Roadmap (part2)

Development (mactel port and native port)

End 2005 – mars 2006

analyse code, and write documentation about how it works

define codelines and rules

define tasks and a todolist

start implementation

Mars 2006 - end 2006 : provide a build using native port

Notes on mactel port

Mactel port : universal binaries build will probably be completed between end 2005 – mars 2006

To do :

complete use of gcc-4.0.x

adapt actual OpenOffice.org code

rewrite (adapt probably) bridge and uno part(Re)writing vcl, we must :

For actual Mactel port, around 20% builds without any problem for Universal binaries.

all improvment in native port will be included in

The active Mac OS X porting Team

Stephan Schäfer ( dev )

Tino Rachui ( dev )

Florian Heckl ( dev )

Etsushi Kato (dev )

Christian Junker (dev )

Eric Hoch ( build / website )

Joerg Sievers (we got a QA man ! )

Maho Nakata (dev / official builds )

Eric Bachard ( dev )

Pavel Janik ( everything :-) )

... forgoten someone ?

Welcome to the others :-)

Questions ?

Many thank's to :

CUSOON for the mactel + ADC select membership

Team OpenOffice.org e.V. For the tinderbox

OpenOffice.org project and all contributors

Eric Bachard (ericb@openoffice.org)

porting project co-lead

2005-09-26T01:22:26