Hacker News new | past | comments | ask | show | jobs | submit login

> "It's challenging to fix as one needs to tunnel certain data through 20 layers of abstraction, but hey, that's improved UX for you!"

It it's truly 20 layers of abstraction, I'd love to read a blog that spelunks into all those layers and elucidates what they do.




Started in 1988, but since around 2012 we have started to streamline it.

The layers work like this:

1. Old cross platform layer for both operating system specific functionality (OSL) and runtime specific functionality like string handling and bootstrapping (RTL).

2. UI code base is the Visual Components Library (VCL) - Window handling, event loop, controls (e.g. buttons, etc), etc.. This is divided into a platform specific part and a non-platform specific part (allows for easier porting).

3. “Starview Library” (svl) and toolkit Library with extra widgets, etc.

4. SFX2 (Starview Framework v2) dies things like dispatches messages, creates a “shell” for each program.

After that I get a bit lost, it it’s mostly app specific stuff.

There’s also a component model baked in called UNO (Universal Network Objects) which is a network transparent component hosting environment - it’s what allows the use of Python and Java, with obviously a C++ specific purpose environment. It’s kind of cool, but also many folks don’t want to use it any more than necessary.

I think it helps to understand that it was a German company who created StarView, they really though in terms of layering :-)


I vaguely remember that StarDivision (the original company) offered separate licenses for the VCL as a cross-platform UI library in the 90s. If memory serves, it was available for DOS, Windows, OS/2 and Solaris back then.


And MacOS. It was reviewed by Dr Dobbs magazine, wish I had the original library source code! I’m a bit of a Libreoffice code historian, but there is no source code history before the year 2000...


Not sure if you'll see this since I'm a bit late, but I have two questions:

1. I've been wondering this for a while but never knew who/where to ask, but where's the original StarOffice code dump? What actually got dumped? I'm fascinated by that whole transition timeline, both in terms of its own history and also as one of many code dump events. (One of these days I'll go learn about Mozilla.)

2. Are there any interesting tidbits floating around? Any old DOS-era or early-Windows-era code, for example? I wonder if (with great effort) I could build something for Win3.1. (Of course I realize I'm not describing LO at all here)

2000 is pretty old, as tech goes, surely something fun got captured. The only reason I can see for super-old code not floating around somewhere is that it was explicitly excluded.


Actually, maybe not for Windows 3.1 (it did run in this) but there was a shim layer where the developers inplemebted something called uwinapi. Thus implemented NT functions for Windows 95 and 98, and in fact it was used layer for a few functions that didn’t work in Windows XP but did in Vista.

There is a whole bunch of code in the SAL that works for OS/2 but it has maintenance overhead. Both uwinapi and the OS/2 port have been removed from Libreoffice.

As for a code dump before 2000 - man, I would love that. But sadly, it doesn’t exist. The Star/Sun/Oracle guys chanted VCSes a few times. They had a procedure for merging patches into the trunk that was insane - and we have lost the history of those branches so from between 2001 to 2009 the code becomes harder to follow.

Unfortunately, there are decisions that were made before 2000 but that’s lost to us now due to a lack of version history from before this point.


I see, wow. Thanks for the info.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: