Slashdot Mirror


MS Office for OSX? Why not for Unix as Well?

technode asks: "Apple has released OSX, which appears to be an amalgam of NetBSD, and NexTStep, and other stuff. There is, or will be, undoubtedly, a 'native mode' office suite for OSX. If there is an Office suite for OSX, then why not for other Unixes? To do it once requires solving the basic problem of mapping Office onto the Unix/X-windows API. Once you have that piece, it seems like the only thing preventing a Linux MS Office Suite is MS desire to preserve their OS market share. Technically, this begins to seem a little bit like using one's market share in the applications business to protect one's market share in the OS business, which would, on the face of it, seem to be an anti-trust no-no. What gives?" Most people don't seem to understand that "native-mode" OSX isn't necessarily Unix compatible. Macs have had their own GUI toolbox for a long time, and I would assume that if Office does show for OSX, that it would be an easy port to other Unicies. This doesn't even go into the horrendous track record with regards to security that Microsoft has garnered, especially over the past few years. Does Unix really need Office at this point? Update: 12/29 1pm EDT by C :The wording above is incorrect. To clarify: an OS X version of Office would not be an easy port to Unix. Sorry for the miswording, there.

17 of 479 comments (clear)

  1. Office X uses Aqua by Matt+Gleeson · · Score: 4, Informative

    Office for MacOS X doesn't use X11, it uses the native OS X GUI. IIRC they are using Carbon, a transitional API from older MacOS's to OS X.

  2. In this case, it wouldn't work. by Gothmog · · Score: 4, Informative

    Office v.X is what is called a "Carbon" app. It uses a subset of the old Mac APIs to work on OS X. No such API exists on any unix, so it would require rewriting the entire GUI aspect of the program to run on another UNIX.

    This was Apple's way of making it easy to port apps from the "old" MacOS to OS X. You just have to make sure you are not using the parts of the old APIs that are "naughty" under OS X (directly access hardware, etc.) and you are good to go.

    1. Re:In this case, it wouldn't work. by Gid1 · · Score: 5, Informative

      *sigh*

      Well, looks like you're not getting it either. (I'm a Mac OS X and UNIX programmer, and I have done NEXTSTEP programming too.)

      1. Carbon is native. Cocoa is too. Classic isn't.

      2. Carbon and Cocoa aren't languages, as you stated. They're APIs.

      3. There are Objective C extensions to GCC, which is what you probably use when you allegedly develop MOSX code. Thus, the fact that Cocoa is written in Obj-C is not a problem for UNIX porting.

      4. Cocoa would be far easier to port than Carbon, since the bulk of it (OpenSTEP) is already kinda ported in the form of GNUStep. (Cocoa is informally NEXTSTEP 5, IIRC, and the GNUStep team try to track changes in Cocoa, IIRC) One of the big missing bits is the whole Aqua/"Display PDF" layer, which contains some very proprietary work. However, the basic "event based model classes" you describe are identical.

      5. Failing all that, IIRC, there already is a Mac OS (Classic) API for UNIX, or something like it. AFAICR, Adobe used it to produce their IRIX version of Photoshop. I'm not sure about that, though. It would defeat the whole point though, as they'd have to branch from the classic Mac OS Office.

      For future reference for the dumb !"$%$£ that asked the original question, it's much easier to think that Mac OS X *contains* a standard UNIX rather than *is* a standard UNIX. Therefore, it's pretty easy to port UNIX stuff to MOSX, but not necessarily the other way round.

    2. Re:In this case, it wouldn't work. by stripes · · Score: 3, Informative
      There are two languages used for programming mac OS X. Carbon and Cocoa.

      Er, those are APIs, not languages. There is a C language binding for Carbon, and probably an assembly one, and maybe Pascal... Cocoa has a ObjectaveC binding, and a Java binding, and with the newer dev kit it may sort of have a C++ binding, or maybe that's just the ability to do some sort of twisted intermingling of C++ and ObjC.

      Cocoa would be NEARLY IMPOSSIBLE to port to unix because it is in OBJECTIVE C and it is deeply rooted in the event based model classes of mac OS X.

      Sure, unless you could somehow get an ObjectaveC compiler...like gcc. Oh, and a ObjC runtime system...like the GNU version of NeXTStep (which I thought was AfterStep, but that may just be a window manager...I know there is one though). Cocoa is mostly NeXTStep, down to all the classes being named things like NSfoo. There have been some people busily cloning under Unix it for the better part of a decade.

      Unless you think it is going to run in the terminal, M$ will have a hell of a time trying to port it to unix.

      Well, if they did it in Cocoa they may be able to use the NeXTStep clone, more likely they did it in Carbon, and the best bet for that would have been a company that did a Mac API clone some years ago, but I think they went bankrupt in the very early '90s because almost nobody wanted to port Mac apps to Unix, even if they made it a pretty trivial port.

      More importantly, the Mac has about 5% of the desktop market (as of the start of 2001 -- it may have gone up, Apple had a pretty good year with the iBook and TiBook). That's pretty small, but Unix in general (not counting OSX) has a smaller share, and there is some effort in porting between them (should be minimal for well written apps -- they even frequently "just work"; but that doesn't help staff a support center with everything they need). Is it worth MS's money to port Office to other Unix systems? Even if MS didn't have a vested interest in keeping everybody out of their party?

      I don't think it really does. That's not to say they wouldn't give Linux the big miss even if they thought they could recoup their porting investment, but I doubt they could. How much money is Loki making (and Loki has a bunch of portability libs they have written already...).

  3. Re:cuz by oherntp · · Score: 3, Informative

    Microsoft does not own a nice chunk of Apple. They bought $150k worth of non-voting stock a few years back. $150k, contrary to what many people think, is just a drop in the bucket to Apple. Apple is actually a multi-billion dollar company.

    MS will continue to make a Office suite for MacOS because if they don't it will be another prime example of how, as a monopoly, they can control the fate of other companies.

    They are not going to make a Office suite for Linux because they don't right now and they don't feel they have too. If Linux only has 0.24% of the market its easy to economicaly justify that. Plus there are all the other reasons they will not....

  4. Re:cuz by Anonymous Coward · · Score: 1, Informative

    NO, they sold all of their interest in Apple since acquiring it in '97.

  5. Re:cuz by ddtstudio · · Score: 2, Informative

    agreed. the $150m was non-voting, the $150m was a tiny percentage. i'm so tired of the "ms ownz apple" or "ms bailed out apple" misapprehensions.

    not to mention -- dudes, do a teeny bit if research! a mac os x-only version of ms office has been on the shelves for months. in addition, we've all known ms was working on it for the better part of the year. i'm not a fan of either -- i'm not promoting them -- but really, think before you sound an alarm.

    for a unix-based effort, go look at www.openoffice.org.

  6. Office Suite for UNIX by Anonymous Coward · · Score: 1, Informative

    I noted that the article made the leap from saying "Office Suite for UNIX" to saying "for Linux"; let's try to keep things objective, and while we're encouraging Microsoft to make an Office suite for us, let's also encourage them to make it portable!

    Brad

  7. Re:OS X GUI is not X Windows by sinator · · Score: 0, Informative

    The NeXT-based DisplayPostScript (actually, in OS X, DisplayPDF) *is* network transparent. I can remotely start up NeXT applications between by cube and my slab. In addition, with 'public sound server' option, the sound is also network transparent (which ESD and ARTS have caught up to).

    Of course, if you do this, you'll need to probably enable "Encapsulate PostScript" option to prevent malicious inline PS code from being executed on object refreshes.

    --
    Three Step Plan:
    1. Take over the world.
    2. Get a lot of cookies.
    3. Eat the cookies.
  8. Re:OS X GUI is not X Windows by petej · · Score: 3, Informative
    > But it isn't network-transparent out of the box

    OS X has something called a Remote Operation API (apparently only documented in header files), that allows you to remotely display an OS X desktop, and to inject input device events. It's more like VNC than the X Window System, but it's use is transparent to applications. There's an OS X VNC port that uses it.

  9. Re:get the facts right by smack.addict · · Score: 2, Informative
    Think a little more about WHAT THE ARTICLE SAYS, dummy! It speculates that A NATIVE API version of MS Office is in preparation. (not that a version has yet to appear) A native (COCOA) version of Office will have much code that is translatable to GNUstep which is a NeXTstep clone that runs on free Unices.

    You really should get a clue before you get out your flamethrower. Cocoa does not make a GUI app portable to other UNIX boxes. Cocoa apps are not X Window apps; they therefore cannot run UNIX systems for whom X Window is the only GUI. For the app to be portable to another UNIX, either the app would have to be an X Window app (and thus not Cocoa) or the target UNIX would have to support Aqua (wouldn't Apple's legal team have a field day with this one?)

    You're 100% right on one point: YOU REALLY DON'T UNDERSTAND THIS ARGUMENT

    Both of you understand the argument. Unfortunately, you, AC (and the original poster), do not understand Mac OS X.

  10. Re:YES by xonker · · Score: 3, Informative

    There's one very strong reason why many people would like to see Office for Linux (or any other free UNIX) -- because they want to move away from Windows, but Office is "standard" everywhere.

    I work with several publishers who won't accept manuscripts in anything but Word, which means that if you want to write or edit for those companies -- even if you're working on their Linux books -- you have to bow down to Office.

    There are a lot of people who HATE Windows but love Office. Honestly, StarOffice et al. haven't caught up to Word's revision features. I wish they would, and soon, but until then there are a lot of businesses that would benefit enormously from being able to run Office on Linux or *BSD because the only apps they need are mail, browser and Word and Excel. (And maybe Access...) Frankly, I'd rather write in Vim any day, but just try to convince a large publisher to accept chapters in plain text, LaTeX or DocBook. And I'm not talking about O'Reilly.

    StarOffice is just fine for typing a quick letter or whatever, but its revision control isn't up to snuff and it still has trouble converting Word docs. I'm no champion of Microsoft or their products, but if Microsoft were to port Office to Linux I strongly believe you'd see a surge in Linux on the desktop -- precisely why they won't do it. Why don't you see tons of Macs? Damned expensive hardware, that's why. Commodity PCs + Free OS + Office == Happy Businesses.

    I really don't know anyone who uses Linux to be "trendy" though I know a lot of people who find the migration difficult if they try to replicate the Windows experience under Linux.

  11. Re:In this case, it wouldn't work. (exactly right) by Jobe_br · · Score: 3, Informative

    In the near future, we will see many, many more 'main stream' applications such as Adobe's prestigious family of design applications, Macromedia's design, multimedia and production applications, etc. running 'natively' on OS X. Don't look for any of these applications to be ported to UNIX. Developing for OS X is absolutely nothing like developing for UNIX, take it from a developer.

    For example, a carbon applications is still based on the same MacOS APIs that have existed in the past - with a few omissions and a few additions, of course. The point of Carbon, though, is to make porting existing MacOS applications as easy as possible. Cocoa, on the other hand, is very different and is a totally new creature, and one that is proprietary, I'm afraid. I don't think we will see a Cocoa compatability layer for Linux - ever. These OS X applications are not based on the FreeBSD/OpenBSD foundation of OS X, it is the OS itself that is based on these foundations, not the applications that run on top of the OS.

    A valid analogy might be the fact that in a large part, Windows NT was initially based in a large part on VMS, if I recall - maybe not the actual code, but I have heard varying reports of that as well. Of course, no application that runs on NT will run on VMS (without significant recoding). This is because the foundation of these OS's is less important than the APIs they are written against.

    Bottom line here is that OS X is far more than a foundation of FreeBSD/OpenBSD with a pretty window manager. For more info, check out Apple's site for developers: click here. You'll find info on Darwin (the FreeBSD/OpenBSD layer), Cocoa, Carbon, how the various layers interact, what depends on what, etc. Enjoy!

  12. Mac GUI and APIs by booch · · Score: 5, Informative
    Let me see if I can help straigthen things out here. I'll start with the GUI itself, then move on to the APIs used to build GUI apps.

    Most UNIX-like systems use an X11 server to draw graphics on the screen. MacOS X does not use X11; instead it uses Quartz, a Display PDF server, derived from NeXT's Display PostScript server. (The GNUstep project is working on a DPS/Quartz server running on top of X11.)

    X11 and Quartz only provide basic drawing capabilities. They don't provide widgets such as menus, toolbars, scrollbars, etc. So a widget toolkit API is layered on top of the drawing functionality. In X11, common widget sets are KDE/Qt, GNOME/GTK, and Xt/Motif. Most of these APIs try to shield the programmer from having to access any of the low-level rendering calls. There are versions of Qt that can run without X11 -- the front end and back end are completely de-coupled.

    MacOS X provides 2 different APIs for GUIs: Carbon and Cocoa. Cocoa is basically the NeXTSTEP/OpenSTEP API adapted for use within MacOS. It contains most of the old NeXT stuff, plus some functionality from MacOS 9. It is accessed via Objective-C. (The GNUstep folks are attempting to emulate most of Cocoa.) Carbon is basically the old MacOS 9 API in C adapted to use Quartz and the other lower-level functionality of MacOS X.

    --
    Software sucks. Open Source sucks less.
  13. Linux users wouldn't buy it anyways. by Ron+Atkinson · · Score: 2, Informative

    If MS released Office for Linux then I can guarantee that users wouldn't buy it anyways. Sure you might have a few people pay for it, but most will not. Look at Netscape/iPlanet (not the web browser). There was so much customer demand for Linux versions of their software, such as Enterprise server, Messenging, Directory, etc. that Netscape decided to start porting their servers to Linux. Suddenly the Linux versions became their most popular downloads. Later when an audit was done it was found that everyone was downloading the Linux versions for free, but nobody was paying for it. It was all the Linux users at home downloading it for their personal use or to run it for free and not corporations trying to purchase it (lab environments excluded). Hence the reason why Netscape/iPlanet have been dropping the Linux versions of their products now. There is demand for the product, but there is noone that will pay for it. Linux users typically want something for free and the source code to go with it. How many times does a commercial company release a product for Linux only for the Linux community to keep bothering the company saying "where's the source code???". If MS released a Linux version then it would appear on every warez site with cracks to break any protection. The same thing may exist for Windows or Mac versions, however the percentage of people who use it illegally is very small. Since Linux isn't as wide spread and it's typically techies that run it, and these are the ones that typically also pirate software (how many Slashdot posts are in here justifying cracking, reverse engineering, stealing intellectual property, etc... way, way too many...), these folks will not pay for it regardless of the price, hence there will be a much higher percentage of pirating in the Linux community than Windows/Mac. I can't see MS releasing a version of Office for Linux anytime soon. Maybe if it had the same or higher office/home desktop market as Apple did they might, but for now I would be shocked if they did.

  14. Re:Not Unix? by Anonymous Coward · · Score: 1, Informative

    Pot, kettle.

    Mac OS X is an operating system based on the Mach microkernel that exposes a UNIX-like API (or OS "personality"). That's the interface that the BSD services are based on. For all you know, Cocoa and Carbon may use the Mach API directly instead of going through the BSD personality. In which case, yes, porting them to another UNIX variant would be a tremendous task.

    To say that "macosx is unix" is like saying BeOS (or, god forbid, NT) is UNIX because it has a POSIX API.

  15. No Offense.... by jmenezes · · Score: 5, Informative

    But you managed to be wrong on every point.

    Is it an Application? Yes.
    Does it run native on MacOSX? Yes.
    well, almost.
    On that you are absolutely right.

    Is MacOSX a Unix OS? Yes.
    Somewhat.
    MacOSX is based on a BSD/Mach Kernel. But that doesnt make it Unix. The Unix compatibility is more of a one-way street than anything else. Lemme hit a few more of your points, and I'll explain:

    Carbon Applications are every bit as Unix as Cocoa.
    True, but not in the way you meant. Cocoa has _NOTHING_ to do with Unix, and neither does carbon.

    Carbon is not some thin wrapper Apple devised to help developers port.
    somewhat true. Carbon is almost the entire MacOS toolbox, as its been since the begining. Apple took the existing toolbox, weeded out the APIs that wouldnt work under OSX (the ones with direct hardware access, for example) and added a few new oens, and called that carbon. Its a completely integrated API set for MacOSX, not just a wrapper.
    This aided in porting current applications to MAcOSX without having to do a major re-write.

    In fact some aspects of Cocoa, under the OO level, are implemented using Carbon API calls.
    wrong. Cocoa was pretty much done LONG before the idea of carbon came around. originally, there was going to be a "classic" compatibility layer, much like there is now, and then from there developers would have to completrely re-write their applications in objective-c or java for cocoa (yellow box, as it was known then). After much developer discontent, they decided to add carbon, which sits NEXT to cocoa, not underneath it. In fact, with MacOSX server 1, there was no carbon compatibility layer, or a classic layer for that matter. just BSD and yellow-box.

    They use terminology like a Terminal window "letting you talking directly to the Unix kernel". This is crap, the shell is just another program. They mystify Unix and make it sound harder than it really is.
    I agree, it could be taken as confusing. but with terminal programs, you can simply port most *nix applications and have them run in the terminal without a problem.
    The problem only arises if you try to use a GUI, under which case you would have to use quartz...
    which has _NOTHING_ to do with x11 or gnome or kde or anything like that.

    In short, unless it is running in the classic environment (they all run as one application), it is a Unix Application.
    BZZZZZZT.
    nope.
    its a Unix application as much as OfficeXP is a VAX/XMS application (NT having some of its roots in VMS, Win32 having its roots in NT)

    Now, getting to what I was saying earlier, Unix compatibility ios a one-way street with MacOSX. it is based on a Mach/BSD kernel, and can run a good deal of bsd/unix programs with a simple re-compile or some minor code tweaking....
    But theres a lot more to OSX then the BSD layer.
    On top of that, is the Carbon and Cocoa APIs, which run on top of the BSD layer. THESE are what the native applications are written to, the higher-level APIs. and then there is the Quartz graphics layer, which is the GUI for OSX.
    Any Native MacOSX application, therefore, isnt written to the BSD layer, but to the cocoa and carbon layer that sits atop it.
    Apple could port (with significant effort, no doubt) the upper layers of MacOSX to run on the NT kernel, but that wouldnt make the applications any more Win32 then it would make them BSD or VAX for that matter.
    this is evolution, and its only working one way.
    Humans arent gonna evolve into apes (although its arguable that a fair amount have the brain capacity of apes....), and in somewhat the same way, OSX applications arent gonna evolve into Unix applications.
    they can be re-written, but not simply evolve into them.

    --
    Stop over-analyzing your analizations