How Microsoft Could Embrace Linux 424
"He goes on to cite the governments of Paris, Munich, Brazil, Peru, China, Korea, and Japan which are all embracing open source software to varying degrees. Meanwhile, when they choose Microsoft software, fast-growing emerging markets like China and India opt for pirated copies. Salkever explains that the concerns for customers like these are the 'relatively high price of Microsoft software' and the 'concerns about buying proprietary software to run critical government operations.' Finally he points to recent moves by Sun and IBM to leave the commoditized software and hardware business behind, writing 'When the world's largest and most respected IT consultancy draws a clear bead on your crown jewels, it's time to mount a bold counterattack.'"
Wh make a Linux Office version (Score:2, Interesting)
Re:Office for Linux? who'd use it? (Score:5, Interesting)
Of course, this ignores (a) the existence of Crossover Office, which I understand is capable of running Word virtually flawlessly, and (b) the fact that MS wouldn't do it because they know that they'd lose -- the number of people switching to Linux because of the availability of office would cut directly into their Windows revenues, and probably into some of their other application-based revenues also.
Re:Office for Linux? who'd use it? (Score:5, Interesting)
From what I heard, it's Office that's the real cash cow anyway, not Windows. Why shouldn't they?
Re:If MS were not so proud... (Score:1, Interesting)
Microsoft had already commented on Office for Linux. In order for it to work they would have to feel that Linux's market would be willing to pay for such a product (and judging by the current comments they are not) and that there would need to be some standardization of UI. Microsoft runs a business, not a charity. They will provide their software on platforms that make sense to them.
M$ on linux (Score:5, Interesting)
First of all I don't think it would be an easy port to make considering how M$likes to intermingle it's OS with it's applications. Office is bound to be using alot of OS specific API's, com objects etc... If the main selling opportunity would be low priced copies to the third world, then maybe they don't think it is worth the cost.
Thirdly I think it would be to much an admittance of defeat for M$ to aknowledge Linux that way.
Re:Office for Linux? who'd use it? (Score:1, Interesting)
Re:Office for Linux? who'd use it? (Score:3, Interesting)
then when I started working independantly and still hadn't starved I thought I'd better put my money where my mouth was.
I joined EFF and GNU and I donate to beg-ware software, as they are generous, I be generous back.
Sam
This is probably *bad* for Microsoft... (Score:3, Interesting)
You want a low cost, or free, system.
- In which case you use Linux and OpenOffice.org both of which are already proven products.
You want a UNIX based system as your using legacy UNIX products, but need Microsoft Office.
- In which case you use MacOS X and Microsoft Office.
You need Microsoft Office for office productivity and compatibility with other products.
- In which case is the $100 for a Microsoft Windows license really an issue?
I agree developing nations should find better and cheaper ways of doing things, but doing the same things a different way just for the sake of it doesn't seem justified to me!
Re:Wh make a Linux Office version (Score:1, Interesting)
1) No quarter given -- slightly eroding desktop OS market, rapidly eroding server market, office applications slightly eroded by OO.
2) Office on Linux - increases the losses in OS, but cuts OO off at the knees (I would probably switch, I miss Word).
3) MSLinux, embrace and extend - Office only runs on MSLinux because of proprietary libraries, for example. OO runs on competing distributions. A free-for-all ensues. Note that MSLinux would still be GPL and free to copy, but the library license would prevent you from running Office on other distributions. MS would wipe out the other distributions overnight and gain control of Linux.
Do one better: Give it away (Score:3, Interesting)
Re:Office for Linux? who'd use it? (Score:3, Interesting)
MS already has a plan... cheap & stripped down (Score:3, Interesting)
Secondly, Windows and Office are mutually supporting monopolies that are enhanced by the "net effect". You run Office because its the standard on Windows and you run Windows because you need Office. And everyone else you share files with run Office and Windows, so that reinforces the matter. If any cracks appear in that ediface, the whole thing more or less collaspes. MS will never chance that. MS could afford to make Office for Mac because Mac never a threat because it costs more than a PC, so it never challenged MS's model of being the low-cost solution. But Linux *is* a threat. Linux is cheaper and it has the potential to eat Microsoft's lunch in MS's native environment (i.e. low-end workstations, PCs, and servers), so they will never give it an opening.
with the right trade laws, M$ can conquer all (Score:3, Interesting)
Don't count on it. Monsanto ... uh I mean Microsoft ... can muster lots of support for such a campaign.
The United States forbids [cnn.com] poor countries from making generic versions of antiretroviral drugs for AIDS treatment. Given the limited financial resources involved, this will certainly cost lives.
Monsanto [monsantoafrica.com] Company is suing farmers [corpwatch.org] for re-using seed where patented genes have been found, whether said farmers wanted them or not [etcgroup.org].
How will software be any different? Countries developed enough to need office suites will be signing trade agreements with the United States. Undoubtedly there will be intellectual property conditions.
Re:Office for Linux? who'd use it? (Score:3, Interesting)
This is why there was a story here on
What's interestingly is this week's Barrons'...the cover shows a picture of Gates peeking through a candy store's window.
"Time to Grow Up: After paying its hue divident, Microsoft will no longer be the kid in the candy store. But, even in middle age, Bill Gates' company has impressive growth ropects. Why the stop could jump 25%"
It requires a subscription to get to the story (which I don't have - I only get it when there's something good in it)
Re:Office for Linux? who'd use it? (Score:5, Interesting)
We ran into this problem when we were looking to buy a new web server. The director actualyl gave me a choice on what was loaded on it. Although my last employer was a Linux shop, this place is Microsoft/Novell. As much as I love all things Linux on the server, we eventually decided to put Windows on it because a) we didn't want a third environment (Windows, Novell, Linux), b) most of our department expertise is Windows/Novell, c) Many of our apps are written in ASP, and although it wouldn't have been out of the question to rewrite them or use an emulator in the short term, it was a drawback.
I wouldn't doubt, however, that the major reason our director (is generally against free software) was okay with Linux is because Novell is backing it now, which is a good thing.
Re:Office for Linux? who'd use it? (Score:3, Interesting)
MS Office is probably one of the most OS dependant applications there is, porting it to ANY OS would be a nightmare I'd expect. Even with some compatibility layer below, the likelihood of something breaking and support headaches would keep such an endeavor from occurring as the potential market just isn't there.
Given the choice between loosing potential sales to piracy or investing large sums of money in a porting project with a low probability of commercial success... I'd pick the piracy and make my next version that much harder to pirate!
Re:If MS were not so proud... (Score:3, Interesting)
Re:If MS were not so proud... (Score:5, Interesting)
Win32 has blocking, non-blocking and asynchronous modes of IO. But where it really shines is the integration between IO and scheduling (from a developer perspective).
The call WaitForMultipleObjects allows you to wait on any number of objects, for any or all of them to be signalled. Each object can be a thread, an IO resource (file, socket, pipe), a synchronisation primitive (mutex, event, semaphore), etc.
The other point of integration is Completion Ports. You can provide worker threads and asynchronous callback functions (to be invoked in the worker threads) to any IO operation.
POSIX AIO provides most of the functionality (with regard to IO) that one can desire (Completion ports are cute and offer a lot of potential for performance, but you can do an equivalent job with kqueue/poll/devpoll and/or aio). But POSIX AIO doesn't offer developers control over the integration between the scheduler and IO.
Re:Why? (Score:2, Interesting)
By selling them 800 million copies of Light Linux MS Office they at least get some share of the 800 million new users.
Re:If MS were not so proud... (Score:5, Interesting)
wait for a mutex to be released or a socket to become readable
And there speaks a programmer who has been ill educated by the MSWindows environment. There are dozens of events that a program may need to wait on, everything from mutexes to sockets to GUI callbacks to USB events to power fails to signals to virtual memory events to whatever. To have a special call to wait on only two of them is stupid, precisely the sort of nonsense you expect to see in the MSWindows environment, rather than consistently solving the general problem with powerful, general purpose tools like threads and asynchronous IO. Related to the above, programmers who like the MSWindows kitchen sink API frequently have a poor idea of what a race condition is and how to avoid them, a large part of why MSWindows and MSWindows applications are so flaky. The Unix/Linux API isn't particularly clean either but it's a lot cleaner architecturally.
---
It's wrong that an intellectual property creator should not be rewarded for their work.
It's equally wrong that an IP creator should be rewarded too many times for the one piece of work, for exactly the same reasons.
Reform IP law and stop the M$/RIAA abuse.
Of sockets, mutex and performance (Score:5, Interesting)
The Win32 threading and synchronisation models are ridiculously powerful compared to *nix, which is precisely what makes it so hard to port a lot of Win32-based software to other platforms. The fact that you can't do a simple operation like "wait for a mutex to be released or a socket to become readable" deserves to be a joke about legacy operating systems, not a persistent reality. At least BSD's kqueue comes close.
If that is true, then it's a shame that the performance of the Win32 sockets are so meagre compared to the Linux implementation. Take a look at this article on Developerworks [ibm.com]. Maybe you can spot the changes required to close the performance gap between Windows and Linux (Linux running about 2 and a half times faster on the same machine).
And I think I'll take you to task for your blind assertion that "you can't do a simple operation like "wait for a mutex to be released or a socket to become readable" on a Unix platform. If you call pthread_mutex_lock in 'fast' mode it simply waits for the mutex to be released and will pick up as soon as the mutex becomes available. And there are plenty of other options around. It's also totally trivial to write a spin-check to check the TCP status of a socket.
Cheers,
Toby Haynes
Re:If MS were not so proud... (Score:3, Interesting)
So here's a programming challange for you. Create a function that takes a mutex, a file/socket handle and a timeout as parameters, and returns when the first of (mutex available, IO readabe, timeout occurred) happens.
Oh, and don't do something like userland polling. This has to prove that the scheduler can wake a thread under those conditions, not that you can sit in a busy loop checking the environment.
Hint: you can't do it. The IO waiting primitives provided by the kernel (select, poll, /dev/poll, blocking and non-blocking IO, etc) are completely divorced from the synchronisation primitives that are available. But don't believe me ... ask Google about WaitForMultipleObjects unix.
Re:If OSS weren't so proud we'd have our COM. (Score:2, Interesting)
The kernel behind Windows 2000/2003 is as solid as Linux.
The NT-Kernel is about as solid as the Linux kernel (most of the time it's accelerated 3D drivers that trash both systems). The real question today is, is it as solidly secure as Linux is?? I say it isn't because it has only received scant review outside of Microsoft.
The Win32 threading and synchronisation models are ridiculously powerful compared to *nix, which is precisely what makes it so hard to port a lot of Win32-based software to other platforms. The fact that you can't do a simple operation like "wait for a mutex to be released or a socket to become readable" deserves to be a joke about legacy operating systems, not a persistent reality. At least BSD's kqueue comes close.
Most apps don't need that in the first place and btw, waiting with select() call on a socket works just fine for me, I can poll and I can block on a socket so what more do I want
There are many other places in which the *nix kernels show their age compared to the design of Win32 (not to mention MS's ability to maintain a consistent API over 10 years of product developments). 30 year old technology may be "mature", but its not always The Right Thing To Do for the future. So let's see... guess what I agree with you that there are a lot of things in the NT-Kernel that would be cool to have in Linux.. (and a lot in the overall Linux/BSD/Unix codebase Microsoft stole without giving credit and violating licenses)... but we don't really need it to accomplish our mission.
The real battleground is now definitely in userspace and not anymore in kernelspace. If you ask me what we absolutely need is to adopt a standard in userspace like Microsoft did with COM, their Component Object Model which allows their applications to integrate with another.
We use kParts in KDE, Corba/Bonobo in Gnome, UNO in OOo, XPCOM in Mozilla but a Mozilla-XPCOM component can not be inserted into a kParts container like kMail nor a UNO OOo swriter container. Our components can't really talk to each other like theirs can. If we could offer the same kind of integration, Microsoft calls it OLE, where you could fire up OOo writer and edit an embedded gnumerics spreadsheet, right-click on it and send it on it's way using kmail... If we could do that then we would kick Microsoft's butt on the desktop just as bad as we kicked them out of the server arena.
Too bad that every major OSS project has to invent their own Component Architecture.
Re:Office for Linux? who'd use it? (Score:3, Interesting)
Which is why MS won't make a Linux version of office any time soon. If there was a Linux version of Office, one of the major roadblocks that holds corporations back from adopting Linux would be gone as well. If you can get all your old documents to run on cheaper Linux boxes than on Windows, there is little reason to keep upgrading both Office and Windows. MS would also lose the whole "cost of training" argument if there was a Linux version of Office. Your average user needs training to use the office suite, not the OS.
If Microsoft ever makes a Linux version of Office, it will mean that they have accepted that Linux is replacing Windows and they have decided to surrender their OS monopoly in order to extend the life of their Office monopoly. But Windows is currently far too pervasive to make that calculation make sense.
Re:Examples? (Score:3, Interesting)
Imagine a server in which you have a thread for accepting input from sockets, several processing threads (for various stages of processing), and one for sending output to sockets. These threads communicate by means of queues, access to which is controlled by a mutex. Aside: there are often dozens of processing threads in this sort of architecture, and processing ranges from sub-second to a minute or more
Now consider the output thread. It needs to wait on the mutexes of several queues and know when sockets (that have had their buffers filled) become writable.
Just waiting on multiple mutexes is a problem under *nix, but it can be avoided by reducing the number of mutexes and increasing the opportunity for lock contention.
Let me point out that if you are designing a system, knowing that it is targetting a *nix-style threading model, then you can avoid these problems. But the Win32 model allows a more straightforward approach (without sacrificing performance), and, if you already have a Win32 program using the functionality of that model, its a complete bitch to port to *nix.
Re:Office for Linux? who'd use it? (Score:3, Interesting)
Because they may want the combination of an extremely stable OS, coupled with a very popular office suite? There are many reasons, but the heart of your question is the unspoken assumption that Linux users don't want to pay for software.
I think you're wrong. Using myself as an example: right now I'm in the market for another digital camera. Since my home desktop PC runs Linux, unless I want to use my wife's XP machine every time I need to get images off the camera, I have to start by finding out which cameras have Linux support then I can look at specs and reviews to see what good cameras fit my budget!
I would happily pay for a Linux version of whatever Windows software the camera maker supplies so I wouldn't have to go through this process. Instead, I think in the end I'll just get a camera I like assuming I'll use my wife's PC to access the pix and if it turns out to have gphoto2 support, that's just icing on the cake.
Re:Office for Linux? who'd use it? (Score:3, Interesting)
Re:Office for Linux? who'd use it? (Score:3, Interesting)