This article is about me and people like me, therefore I would like to introduce myself: I'm an engineer, work in an EDA company, where I design different chips. At my working place I used to have a Unix-workstation couple of years ago, now I have a Windows laptop connected to a powerful server grid (call it a cloud if you want) over Citrix connection for the reasons described here. In my office people call me progressive because I'm using Java Desktop System for my work and not CDE as most of my colleagues. Computer for us engineers is a tool to get the job done, it must be fast, stable and run all the software which can cost up to $1.000.000 US per seat / year.
At home I'm a Mac guy since MacOS X 10.1. There was a time when I really wished that at some point MacOSX would be supported by the EDA software, that was a time when Maya was ported to OS X, when AutoCAD for Mac appeared and some of other engineering tools were ported to Mac. Apple positioned MacOS X as UNIX OS with supported XWindows port, with open-source Darwin core, with FreeBSD userland, with OpenGL, first citizen Java VM and so on. Now latest with introduction of Lion there is absolutely no point in porting professional software to MacOS X. From content creation OS it now becomes a content consumer OS. As I wrote one year ago there should be a differentiation between content creation OS and content consumption OS. Content consumption OS should run on a variety of fast booting, network centric, often mobile devices, it must offer easy access to different media, free or commercial, offer unified messaging, have interfaces to different social networks, must sync with other devices and must be dead simple to use. Software, which runs on content consumption OSes, should be flexible enough to run on variety of devices, which may have different screen sizes or input methods. Often these devices are connected to cloud, where media and personal data is saved. One of the main applications is a powerful browser with support for the latest standards like HTML5 and WebGL. The applications and media are provided through a store.
With introduction of Lion and Win8 Apple and Microsoft are heading exactly in direction of consumer OS. It's understandable business decision, 90% of users are consuming media, only 10% are creating. Application and media stores, cloud offerings bring revenue after the sale of the OS. At the end it's fancy, pads, smartphones are selling like crazy, social networking and digital media distribution is all the rage, lot of office applications are moving into web, so some office workers don't need a powerful PC any more and are happy with devices with consumer OSes.
But what about content creators? People who used to have workstations, MCAD users, DTP-professionals, 3D-content creators, architects, geologists, biologists and other scientists? Do they really need an application store? Their software has completely different sales model, than through an application store. How do they update their Mac at work to Lion? Will every employee need an AppleID and put $29 for Lion update on private expenses? Have you read what Apple says about new UNIX features in Lion? How will professional programs benefit from iCloud, from Auto Save (saving of huge databases might take several seconds and block the user from working)? We don't know much about Win8 yet, but for sure none of professional CAD applications will use JavaScript and HTML5 or Silverlight or XNA for designing of their UI. All these techniques make sense in order to easy port of applications to pads or smartphones, but does anyone need Catia on pad?
So after differentiation between server and desktop OSes, now it is time for differentiation between content creation and content consumption OSes. The aims of the OSes and user groups are too different, so that one OS can fit all needs. Linux world shows how it should be, while Ubuntu seems to target consumers, RedHat Enterprise distros are heading toward professional user. The same should be the case for Windows and MacOS. I don't see lot of chances for MacOSX, Apple stopped to care about the professional users couple of years ago, but Microsoft really should rethink if they should establish an extra line for Windows for Professionals, which is not intended to merge with pads and smartphones, but will remain a powerful, stable OS for power users without lot of experiments on UI and programming models.
Posts mit dem Label MacOSX werden angezeigt. Alle Posts anzeigen
Posts mit dem Label MacOSX werden angezeigt. Alle Posts anzeigen
Mittwoch, 29. Juni 2011
Call to Apple: Please Open Mac OS X (or Others Will)
This article is about new aspects of the never-ending story of how Apple is protecting MacOS X for running on different hardware than Apple's. The keyword is virtualization, which allows running unmodified version of Mac OS X as virtualized instance.
Two recent news items regarding virtualization of Mac OS X hit the street recently. The first news item is that in their EULA Apple allowed running several Mac OS X server instances on Apple hardware and the well-known company Parallels (which was bought by SWSoft) announced Parallels Server, the company's hypervisor-powered server virtualization solution, which does exactly that. Parallels Server can run on every x86 server and can virtualize Linux and Windows there, but virtualization of Mac OS X is only allowed on Apple hardware. The second news item was the announcement of a German hacker Alexander Graf at the CCC-congress that he modified the popular open-source emulation software Qemu so it can run an unmodified Mac OS X instance on Linux, but since Qemu is portable, it should work on different platforms (e.g. Windows) as well. In his project description Alexander writes that in the EULA Apple does not mention that Mac OS X is not allowed to be installed in a virtualized environment; that means if somebody installs Linux on Apple hardware and runs a single instance of Mac OS X in Qemu it is perfectly legal. But in the wiki Alexander writes that with his modifications Mac OS X can run on other hardware as well.
Virtualization or emulation as such is nothing new for Apple. Projects like Mac-on-Linux allow running a virtualized Mac OS X on non-Apple PowerPC hardware like the Amiga One or Genesi PowerPC based hardware. But this did not really hurt Apple, because such hardware was too exotic to cause too much headaches in Cupertino.
Another kind of virtualization was even highly welcome at Apple's headquarters: virtualization of other operating systems inside Mac OS X. Several emulators for Windows which emulated x86 on PowerPC, were available, but with the transition to x86, companies like Parallels and VMSoft created virtualized environments that make use of Windows applications as transparent as possible for Mac OS X user.
The other way around, virtualization of Mac OS X itself on any other x86 computer, is a completely different thing. Apple does everything to prevent such scenarios technically and legally. But is it still justified to prevent installing of a (licensed) copy of an OS inside a virtualized environment? Mac OS X is the only OS running on x86, which is coupled to the hardware of the manufacturer. All open and closed source OSes of other manufacturers can be installed on any compatible hardware; only Apple is protecting its Mac OS X. So my call to Apple is: open your OS for other computers, or other people will do it and with the availability of the solutions described above - it never has been simpler. Learn your lessons from the iPhone: you can forbid hacking of the iPhone as much as you want, but if enough people are interested in it and the solution is very simple, lots of people will do it regardless of what is written in EULAs.
Here are some arguments, why Apple should open Mac OS X and only wins from this decision:
Apple is afraid of all the hardware it has to support, what will disturb the Mac OS X experience for the user, whose hardware combination might not be supported. Well, OpenSolaris showed how to increase supported hardware in quite a short time. Previous versions of Solaris x86 supported only a small subset of hardware, but this changed quite fast. Take the drivers from FreeBSD, it should not be too hard to adapt them for Mac OS X. Spread a compatibility check program, which tells the user before installation, if his hardware is compatible or not. Every sold package of Mac OS X should contain a CD with such a program, which can be tried out without opening the package itself, so if the results are negative, the package can be returned to the dealer unopened. Vista also does not support every hardware on earth and is still successful.
Apple is afraid that less Apple hardware will be sold. Well, what I can tell from my friends who bought a Mac recently, they did it not because of Mac OS X (they could have done it five years ago as well), but because current hardware offerings from Apple look very slick, they are competitive quality- and performance-wise, the prices are fair and the status of a Mac-owner changed in Germany from freaked-out designer and experienced computer geek to ordinary computer users, who love their iPod and want to have a well-designed computer on their desk. For them it is also good to know that they can use Windows as a fallback solution. So Mac OS X is not a must for them, they would buy Apple hardware anyway.
Apple is afraid that Microsoft will immediately stop shipping Office for Mac. This is a valid point, but I am not sure if Microsoft can allow this, because this would immediately strengthen the monopoly debate, that Microsoft is preventing competition by discontinuing an important software product only because the competitor is becoming dangerous.
The spreading of Mac OS X would only increase software sales for Apple. Currently Apple has very good software offerings for professionals and advanced amateurs for media creation. Adobe shows how to earn very good money with comparable products without selling any hardware at all.
But is there any interest for Mac OS X outside Apple hardware? I think a lot of people would like to try out Mac OS X on their old hardware and if they like it, the probability that their next computer will be a Mac is quite high, isn't it?
Virtualizing Mac OS X on computers of developers helps them to develop multi-platform software, so more of them can consider implementing their software for Mac OS X as well, without investing in a Mac first.
I am sure there are a lot of other arguments as well, so my first wish for the Jobs' keynote at the coming MacWorld: mr Jobs, please open MacOS X! [ ed. note: this article was written before the keynote]
Two recent news items regarding virtualization of Mac OS X hit the street recently. The first news item is that in their EULA Apple allowed running several Mac OS X server instances on Apple hardware and the well-known company Parallels (which was bought by SWSoft) announced Parallels Server, the company's hypervisor-powered server virtualization solution, which does exactly that. Parallels Server can run on every x86 server and can virtualize Linux and Windows there, but virtualization of Mac OS X is only allowed on Apple hardware. The second news item was the announcement of a German hacker Alexander Graf at the CCC-congress that he modified the popular open-source emulation software Qemu so it can run an unmodified Mac OS X instance on Linux, but since Qemu is portable, it should work on different platforms (e.g. Windows) as well. In his project description Alexander writes that in the EULA Apple does not mention that Mac OS X is not allowed to be installed in a virtualized environment; that means if somebody installs Linux on Apple hardware and runs a single instance of Mac OS X in Qemu it is perfectly legal. But in the wiki Alexander writes that with his modifications Mac OS X can run on other hardware as well.
Virtualization or emulation as such is nothing new for Apple. Projects like Mac-on-Linux allow running a virtualized Mac OS X on non-Apple PowerPC hardware like the Amiga One or Genesi PowerPC based hardware. But this did not really hurt Apple, because such hardware was too exotic to cause too much headaches in Cupertino.
Another kind of virtualization was even highly welcome at Apple's headquarters: virtualization of other operating systems inside Mac OS X. Several emulators for Windows which emulated x86 on PowerPC, were available, but with the transition to x86, companies like Parallels and VMSoft created virtualized environments that make use of Windows applications as transparent as possible for Mac OS X user.
The other way around, virtualization of Mac OS X itself on any other x86 computer, is a completely different thing. Apple does everything to prevent such scenarios technically and legally. But is it still justified to prevent installing of a (licensed) copy of an OS inside a virtualized environment? Mac OS X is the only OS running on x86, which is coupled to the hardware of the manufacturer. All open and closed source OSes of other manufacturers can be installed on any compatible hardware; only Apple is protecting its Mac OS X. So my call to Apple is: open your OS for other computers, or other people will do it and with the availability of the solutions described above - it never has been simpler. Learn your lessons from the iPhone: you can forbid hacking of the iPhone as much as you want, but if enough people are interested in it and the solution is very simple, lots of people will do it regardless of what is written in EULAs.
Here are some arguments, why Apple should open Mac OS X and only wins from this decision:
Apple is afraid of all the hardware it has to support, what will disturb the Mac OS X experience for the user, whose hardware combination might not be supported. Well, OpenSolaris showed how to increase supported hardware in quite a short time. Previous versions of Solaris x86 supported only a small subset of hardware, but this changed quite fast. Take the drivers from FreeBSD, it should not be too hard to adapt them for Mac OS X. Spread a compatibility check program, which tells the user before installation, if his hardware is compatible or not. Every sold package of Mac OS X should contain a CD with such a program, which can be tried out without opening the package itself, so if the results are negative, the package can be returned to the dealer unopened. Vista also does not support every hardware on earth and is still successful.
Apple is afraid that less Apple hardware will be sold. Well, what I can tell from my friends who bought a Mac recently, they did it not because of Mac OS X (they could have done it five years ago as well), but because current hardware offerings from Apple look very slick, they are competitive quality- and performance-wise, the prices are fair and the status of a Mac-owner changed in Germany from freaked-out designer and experienced computer geek to ordinary computer users, who love their iPod and want to have a well-designed computer on their desk. For them it is also good to know that they can use Windows as a fallback solution. So Mac OS X is not a must for them, they would buy Apple hardware anyway.
Apple is afraid that Microsoft will immediately stop shipping Office for Mac. This is a valid point, but I am not sure if Microsoft can allow this, because this would immediately strengthen the monopoly debate, that Microsoft is preventing competition by discontinuing an important software product only because the competitor is becoming dangerous.
The spreading of Mac OS X would only increase software sales for Apple. Currently Apple has very good software offerings for professionals and advanced amateurs for media creation. Adobe shows how to earn very good money with comparable products without selling any hardware at all.
But is there any interest for Mac OS X outside Apple hardware? I think a lot of people would like to try out Mac OS X on their old hardware and if they like it, the probability that their next computer will be a Mac is quite high, isn't it?
Virtualizing Mac OS X on computers of developers helps them to develop multi-platform software, so more of them can consider implementing their software for Mac OS X as well, without investing in a Mac first.
I am sure there are a lot of other arguments as well, so my first wish for the Jobs' keynote at the coming MacWorld: mr Jobs, please open MacOS X! [ ed. note: this article was written before the keynote]
Opinion: Why Solaris and MacOS X should unite?
There are dozens of articles like this one on the net. Over and over people suggested solutions like this for different reasons and although I know that such thing probably won't happen any time soon, from my point of view now it is the best moment ever in the history of both operating systems to merge in a one powerful alliance. And the hell has already frozen over, hasn't it?
First I will give short description of both OSes, so we can see the strong and the weak sides of them and see if the combination should eliminate the shortcomings and make the good points even better.
MacOS X
After running MacOS X several years exclusively on PowerPC processors from IBM and Freescale (former part of Motorola), Apple decided to make a switch towards x86 architecture, which is completed now. PowerPC version of OS is still developed, although no one outside Apple knows for how long this version will be feature complete with the x86 version. While the kernel of MacOS X is freely available, the complete OS costs about $150 per seat.
The kernel of MacOS X is called Darwin, it is open sourced, but it is not very popular among third party developers outside Apple. First reason is that the development itself is closed source, only the finished kernel is delivered by Apple, sometimes with months of delay. So the developer can study the kernel, write drivers for it, but has only little influence on the development of the kernel itself. The second reason is that the architecture of the kernel is quite unusual. It is an outdated Mach3 microkernel with a FreeBSD "personality". So after understanding of the concept, still hardly anyone can explain the reason (probably heritage of NextStep) and the benefits of having such architecture. Some people are talking about Frankenstein OS, which consists of parts somehow glued together and brought to life. The problem with such approach is that the concepts from other OSes cannot be applied to Darwin. That might affect security, reliability and scalability of the OS, because there is no experience from other OSes, so all these topics require extra effort and research. Virtualization is not even on agenda of the kernel developers. Darwin kernel has also received lot of negative press, because it lost several benchmarks against Linux and Solaris. Even if the benchmarks were not always correct, they still contribute to the negative image of Darwin, which decreases the amount of voluntary programers, who want to spend their time with this program.
The UI and user-land programming on the other hand are among the best in class. MacOS X was the first platform with 3D GUI acceleration, is very consistent and simple to use, but powerful. Lot of technologies like Quicktime, ColorSync, PDF-based compositing system, desktop-search system Spotlight, Core Audio and Core Image are built-in and are used by the OS itself and by the third-party programs. MacOS X can be used by not tech-savvy people without any knowledge of the command line. For command line-aware people, whole UNIX power is available. MacOS X also includes an X-Window server, so even UNIX-programs, which require graphical output can be ported to MacOS X. The programming of MacOS X is either possible using libraries and languages known from other UNIX platforms like TK, QT, Motif for libraries and C, C++, Perl for languages or MacOS X-native Cocoa or Carbon environments.
Main usage of MacOS X is creation and consumption of multimedia content, video and image editing, audio processing, desktop publishing, main focus is desktop user, who might not be aware of command line and should not be. MacOS X is used as server mostly in MacOS X environment. Most of the software has already been ported from PowerPC to x86 or is still in development. For PowerPC-only software there is an emulator available, which translates PowerPC code to x86 commands.
MacOS X is supposed to run on Apple computers only. Apple offers two lines of notebooks, three lines of desktop computers and one server line. Although it is theoretically possible to run MacOS X on an other x86 compatible computer from other manufacturer it is legally forbidden. Drivers exist only for devices, which are used by Apple computers, so running the OS on a computer with different devices, might cause problems. MacOS X has been already tried out for running on 8 processors (2 4-core Intel processors). However, there are no experiences how well it scales for this number of processors or even above (remember, Linux 2.2 was also running with 16 processors, but it did not scale well). The maximum supported amount of memory is 16GB.
Solaris
With the open-sourcing of the Solaris 10 version of its operating system, Sun has awaked new interest in it. Solaris 10 is running on SPARC and x86 processors both versions are feature-complete. There are attempts of porting it to PowerPC processors as well. Solaris 10 is available for free, however you have to pay for support.
The kernel of Solaris is BSD UNIX with some heritage from System V (according to the www.levenez.com/unix/ ). The kernel is very scalable (largest server offered by Sun contains 72 CPUs), secure (merged with parts of Trusted Solaris), reliable (Solaris Fault and Service Managers, Self-Healing technologies). Technologies like Containers for virtualization, DTrace for debugging and performance optimization, ZFS as high-end file system are still not available on other systems (or have been ported from Solaris). Performance-wise Solaris gets very good notes from several benchmarks. It receives lot of attention from the open source community. Sun releases very often previews of the next version of Solaris and works close with the third-party developers.
On user-land side, Solaris 10 is delivered with completely outdated CDE or Java Desktop 3, which is based on GNOME. This software is included in Java Desktop 3:
• GNOME 2.6
• Evolution 1.4.6
• Mozilla 1.7 browser
• OpenOffice.org 1.1 (basis for StarOffice 7 suite)
One can see, that this software is completely outdated (compared with e.g. SUSE Enterprise Desktop). There is no 3D-acceleration included, no desktop search. And nowhere on the net I could find a shipping date for Java Desktop 4. Moreover Sun will have problems sticking with further versions of GNOME, because it seems, that GNOME's high-level language will be Mono's C#, which is big rival for Sun's JAVA. User-land programming is done in JAVA, C, C++ with GTK+, QT or Motif libraries.
Solaris is heavily used in technical and science areas. It is still OS of choice for such tasks as EDA, CAD, CAM, CAE. It is also used as server OS for large databases, file and computation server or websites in mixed environments. The user should be very skilled in usage of the command line and understanding of UNIX. Lot of software, which is available for SPARC only has still not been ported to x86. There is no emulator available, which could translate SPARC commands to x86 (the only emulator demonstrated by Intel translates SPARC code into Itanium code, Sun tries to ignore that one). Currently there are no plans to abandon SPARC processor, but the roadmap for a workstation SPARC processor is not quite clear.
Solaris runs on wide variety of SPARC and x86 based hardware, especially servers from big companies. But it has to share the same problems as Linux with notebooks, where there might be no support for non-standard hardware build-in, or no open available documentation, so no open source drivers may exist. Sun also produces workstations and servers for Solaris.
Elimination of Shortcomings
Now it becomes clear that the weak side of the MacOS X is its kernel. Even if it is technologically interesting, it has negative image in the minds of developers, so there are only few people outside Apple, who are doing research and develop for Darwin. Lost benchmarks, complex architecture (and unknown security holes as a result), not proven scalability, lack of virtualization, self-healing, and a noncompetitive file system also doesn't make it system of choice for large server administrators. Additionally, though MacOS X is a UNIX system, there is hardly commercial software available, which comes from "old" UNIX platforms (e.g. Solaris).
The weak side of Solaris it is user-land. While making good shape on server, Solaris looses ground on workstation market, especially to Linux. Lot of workstation software packages, which were running on SPARC Solaris, are not ported to Solaris x86, but to Linux instead. Linux supports more hardware, it receives more frequent updates and ISVs (Independent Software Vendors) see no point in supporting two very similar (from the workstation point of view) operation systems on the same hardware. Unclear situation on the SPARC side (for the workstation) only increases the problem.
Strengthen the Good Sites
So what kind of advantages will the user have, if both systems will be merged?
- industry-proven, trusted, fast, reliable, secure, scalable kernel as fundament
- server OS with great manageability as known from MacOS X server
- unmatched technologies like DTrace, ZFS, Containers, Spotlight, Time Machine, Quicktime and so on in one package
- attractive UI with modern multimedia, office and communication software for former Solaris users
- programs from both worlds on one platform
- increased number of users, who might attract developers for porting their programs to this platform
- new buzz OS for geeks
- shared development resources
- ...
Is it just a dream?
Both companies Apple and Sun must change their politics to make such a dream happen. Apple has to accept that they do not have the full control over the development of the kernel, Sun has to accept that after open sourcing the whole OS, parts of it will be closed again (Aqua part, Apple will never open-source that one). From the license point of view such a merging is possible, I hope Sun will not do something stupid and put Solaris under GPL as they announced not so long ago. Both OS need to get some attention from users and developers for not being crushed from Windows on one side and Linux on the other. Sun should also declare SPARC workstations as depreciated, so not the complete OS should be ported to SPARC, but only the server relevant one. An emulator should translate SPARC code to x86. Aqua should run only on selected hardware, but kernel can run on a variety of x86 platforms. The Solaris port to PowerPC should be accomplished, but the quality doesn't have to match the x86 package, because, PowerPC platform is not the main business for Apple, they should do it only for the compatibility reasons. The interesting thing is that some of Solaris code has already been ported to Darwin, namely DTrace and there are lot of rumors, that ZFS will also find its way into the new Leopard. So why not make a big step and take the whole portion instead small crumbles.
First I will give short description of both OSes, so we can see the strong and the weak sides of them and see if the combination should eliminate the shortcomings and make the good points even better.
MacOS X
After running MacOS X several years exclusively on PowerPC processors from IBM and Freescale (former part of Motorola), Apple decided to make a switch towards x86 architecture, which is completed now. PowerPC version of OS is still developed, although no one outside Apple knows for how long this version will be feature complete with the x86 version. While the kernel of MacOS X is freely available, the complete OS costs about $150 per seat.
The kernel of MacOS X is called Darwin, it is open sourced, but it is not very popular among third party developers outside Apple. First reason is that the development itself is closed source, only the finished kernel is delivered by Apple, sometimes with months of delay. So the developer can study the kernel, write drivers for it, but has only little influence on the development of the kernel itself. The second reason is that the architecture of the kernel is quite unusual. It is an outdated Mach3 microkernel with a FreeBSD "personality". So after understanding of the concept, still hardly anyone can explain the reason (probably heritage of NextStep) and the benefits of having such architecture. Some people are talking about Frankenstein OS, which consists of parts somehow glued together and brought to life. The problem with such approach is that the concepts from other OSes cannot be applied to Darwin. That might affect security, reliability and scalability of the OS, because there is no experience from other OSes, so all these topics require extra effort and research. Virtualization is not even on agenda of the kernel developers. Darwin kernel has also received lot of negative press, because it lost several benchmarks against Linux and Solaris. Even if the benchmarks were not always correct, they still contribute to the negative image of Darwin, which decreases the amount of voluntary programers, who want to spend their time with this program.
The UI and user-land programming on the other hand are among the best in class. MacOS X was the first platform with 3D GUI acceleration, is very consistent and simple to use, but powerful. Lot of technologies like Quicktime, ColorSync, PDF-based compositing system, desktop-search system Spotlight, Core Audio and Core Image are built-in and are used by the OS itself and by the third-party programs. MacOS X can be used by not tech-savvy people without any knowledge of the command line. For command line-aware people, whole UNIX power is available. MacOS X also includes an X-Window server, so even UNIX-programs, which require graphical output can be ported to MacOS X. The programming of MacOS X is either possible using libraries and languages known from other UNIX platforms like TK, QT, Motif for libraries and C, C++, Perl for languages or MacOS X-native Cocoa or Carbon environments.
Main usage of MacOS X is creation and consumption of multimedia content, video and image editing, audio processing, desktop publishing, main focus is desktop user, who might not be aware of command line and should not be. MacOS X is used as server mostly in MacOS X environment. Most of the software has already been ported from PowerPC to x86 or is still in development. For PowerPC-only software there is an emulator available, which translates PowerPC code to x86 commands.
MacOS X is supposed to run on Apple computers only. Apple offers two lines of notebooks, three lines of desktop computers and one server line. Although it is theoretically possible to run MacOS X on an other x86 compatible computer from other manufacturer it is legally forbidden. Drivers exist only for devices, which are used by Apple computers, so running the OS on a computer with different devices, might cause problems. MacOS X has been already tried out for running on 8 processors (2 4-core Intel processors). However, there are no experiences how well it scales for this number of processors or even above (remember, Linux 2.2 was also running with 16 processors, but it did not scale well). The maximum supported amount of memory is 16GB.
Solaris
With the open-sourcing of the Solaris 10 version of its operating system, Sun has awaked new interest in it. Solaris 10 is running on SPARC and x86 processors both versions are feature-complete. There are attempts of porting it to PowerPC processors as well. Solaris 10 is available for free, however you have to pay for support.
The kernel of Solaris is BSD UNIX with some heritage from System V (according to the www.levenez.com/unix/ ). The kernel is very scalable (largest server offered by Sun contains 72 CPUs), secure (merged with parts of Trusted Solaris), reliable (Solaris Fault and Service Managers, Self-Healing technologies). Technologies like Containers for virtualization, DTrace for debugging and performance optimization, ZFS as high-end file system are still not available on other systems (or have been ported from Solaris). Performance-wise Solaris gets very good notes from several benchmarks. It receives lot of attention from the open source community. Sun releases very often previews of the next version of Solaris and works close with the third-party developers.
On user-land side, Solaris 10 is delivered with completely outdated CDE or Java Desktop 3, which is based on GNOME. This software is included in Java Desktop 3:
• GNOME 2.6
• Evolution 1.4.6
• Mozilla 1.7 browser
• OpenOffice.org 1.1 (basis for StarOffice 7 suite)
One can see, that this software is completely outdated (compared with e.g. SUSE Enterprise Desktop). There is no 3D-acceleration included, no desktop search. And nowhere on the net I could find a shipping date for Java Desktop 4. Moreover Sun will have problems sticking with further versions of GNOME, because it seems, that GNOME's high-level language will be Mono's C#, which is big rival for Sun's JAVA. User-land programming is done in JAVA, C, C++ with GTK+, QT or Motif libraries.
Solaris is heavily used in technical and science areas. It is still OS of choice for such tasks as EDA, CAD, CAM, CAE. It is also used as server OS for large databases, file and computation server or websites in mixed environments. The user should be very skilled in usage of the command line and understanding of UNIX. Lot of software, which is available for SPARC only has still not been ported to x86. There is no emulator available, which could translate SPARC commands to x86 (the only emulator demonstrated by Intel translates SPARC code into Itanium code, Sun tries to ignore that one). Currently there are no plans to abandon SPARC processor, but the roadmap for a workstation SPARC processor is not quite clear.
Solaris runs on wide variety of SPARC and x86 based hardware, especially servers from big companies. But it has to share the same problems as Linux with notebooks, where there might be no support for non-standard hardware build-in, or no open available documentation, so no open source drivers may exist. Sun also produces workstations and servers for Solaris.
Elimination of Shortcomings
Now it becomes clear that the weak side of the MacOS X is its kernel. Even if it is technologically interesting, it has negative image in the minds of developers, so there are only few people outside Apple, who are doing research and develop for Darwin. Lost benchmarks, complex architecture (and unknown security holes as a result), not proven scalability, lack of virtualization, self-healing, and a noncompetitive file system also doesn't make it system of choice for large server administrators. Additionally, though MacOS X is a UNIX system, there is hardly commercial software available, which comes from "old" UNIX platforms (e.g. Solaris).
The weak side of Solaris it is user-land. While making good shape on server, Solaris looses ground on workstation market, especially to Linux. Lot of workstation software packages, which were running on SPARC Solaris, are not ported to Solaris x86, but to Linux instead. Linux supports more hardware, it receives more frequent updates and ISVs (Independent Software Vendors) see no point in supporting two very similar (from the workstation point of view) operation systems on the same hardware. Unclear situation on the SPARC side (for the workstation) only increases the problem.
Strengthen the Good Sites
So what kind of advantages will the user have, if both systems will be merged?
- industry-proven, trusted, fast, reliable, secure, scalable kernel as fundament
- server OS with great manageability as known from MacOS X server
- unmatched technologies like DTrace, ZFS, Containers, Spotlight, Time Machine, Quicktime and so on in one package
- attractive UI with modern multimedia, office and communication software for former Solaris users
- programs from both worlds on one platform
- increased number of users, who might attract developers for porting their programs to this platform
- new buzz OS for geeks
- shared development resources
- ...
Is it just a dream?
Both companies Apple and Sun must change their politics to make such a dream happen. Apple has to accept that they do not have the full control over the development of the kernel, Sun has to accept that after open sourcing the whole OS, parts of it will be closed again (Aqua part, Apple will never open-source that one). From the license point of view such a merging is possible, I hope Sun will not do something stupid and put Solaris under GPL as they announced not so long ago. Both OS need to get some attention from users and developers for not being crushed from Windows on one side and Linux on the other. Sun should also declare SPARC workstations as depreciated, so not the complete OS should be ported to SPARC, but only the server relevant one. An emulator should translate SPARC code to x86. Aqua should run only on selected hardware, but kernel can run on a variety of x86 platforms. The Solaris port to PowerPC should be accomplished, but the quality doesn't have to match the x86 package, because, PowerPC platform is not the main business for Apple, they should do it only for the compatibility reasons. The interesting thing is that some of Solaris code has already been ported to Darwin, namely DTrace and there are lot of rumors, that ZFS will also find its way into the new Leopard. So why not make a big step and take the whole portion instead small crumbles.
Abonnieren
Posts (Atom)