Microsoft Trying To Appeal to the Unix Crowd?
DigDuality writes "With the news that Windows 2008 (recently discussed on Slashdot) will have GUI-less installs and be fully scriptable, that they've opened up their communication protocols for non-commercial usage and are providing a patent covenant (Redhat Responds), and now finally an interesting rumor floating around that Microsoft will be taking on GNU directly. Has Microsoft totally switched gears in how it is approaching the Unix and FOSS sector for direct competition? According to an anonymous email leaked from a Microsoft employee, it seems Microsoft will be developing a framework that will be completely GNU compatible. Microsoft CEO, Steve Ballmer, said on Friday (23 February) that they are aiming to restore a Unix-like environment to its former proprietary glory, at the same time proving that Microsoft is committed to interoperability. Ballmer emphasized that Microsoft's new strategy is to provide users with a complete package, and this includes users who like Unix environments. According to the supposedly leaked email, UNG, which stands for UNG's not GNU, is set to be released late 2009."
In the late 1970s and early 1980s MicroSoft sold a version of PC-UNIX called Xenix (they didnt write it). Until the mid-1990s PCs were too-weak to effectively run UNIX, so it was not a popular product. In the early 1980s MicroSoft decided to concentrate on MS-DOS and other products, so it sold Xenix to a company which eventually became SCO.
and has for a very long time.
I don't agree. Microsoft IS trying to make Windows the best FOSS platform. The goal is not to be nice to FOSS, but to try to damage Linux. It's not me who says it, but Mary Jo Foley (who got it from a Microsoft), one of the most journalists experts in microsoft, if not the best. Quote:
"Microsoft is looking at open-source software (OSS) as just another flavor of independent software vendors (ISV) software. Microsoft's goal is to convince OSS vendors to port their software to Windows. But Microsoft doesn't want OSS software to just sit on top of Windows; the company wants this software to be tied into the Windows ecosystem by integrating with Active Directory, Microsoft Office, Expression designer tools, System Center systems-management wares and SQL Server database.
In cases where customers and software vendors want/need Linux to still be part of the picture for some reason, Microsoft will suggest they use Hyper-V, its forthcoming virtualization hypervisor, to run Linux and Linux-dependent applications.
Microsoft's OSS strategy makes a lot of sense for Microsoft. It's another way for Microsoft to try to make Linux obsolete, and not look as obviously ruthless doing so. And for OSS vendors who are selling a lot of their software on Windows -- Ramji repeated a couple of times that more than 50 percent of JBoss' business these days is from software running on Windows -- Microsoft's OSS push isn't a bad deal, either.
Absolute power corrupts absolutely. indymedia
Of course, their support hasn't been very good, but that has more to do with an unwillingness on Microsoft's part rather than any real technical reason. Typically Microsoft implements sub-standard support, then claims that their support is top notch. A few examples of this are the David Korn debacle:
http://slashdot.org/article.pl?sid=01/02/06/2030205
Just as bad was the Kerberos debacle where Microsoft extended Kerberos for Windows such that Unix machines could subscribe to a Windows domain, but a Windows machine could not subscribe to a Unix domain. I called a rep on it in one of their presentations on Win2K, and he assured me that I was mistaken.
Javascript + Nintendo DSi = DSiCade
Windows NT has had a POSIX layer since the beginning. At any point Microsoft could have extended this and ported over GNU tools if they had wanted. The whole thing smells of bullshit, and Powershell is not bash. It may have its advantages, but you sure can't bring over a library of thousands of shell scripts.
Cygwin is a solution, but of course, that has nothing to do with Microsoft.
The world's burning. Moped Jesus spotted on I50. Details at 11.
Also, this idea reeks of embrace/extend/extinguish.
Palm trees and 8
...and I remember when some "microsoft partners" were told (very hush hush) that a GUI-less version of windows2000 would be released.
We're still waiting.
It's not like a Unix system, where a GUI is built on top of a CLI. Windows is GUI by design from the start. It's a whole different kettle of meat.
Unfortunately, POSIX allows a large number of functions to return ENOTIMPLEMENTED, instead of actually working. The original POSIX subsystem did this everywhere it was permitted. It also couldn't be used in conjunction with the Win32 subsystem, so you could only use it for command-line apps. Cygwin filled the gap a bit by providing an implementation of the POSIX APIs that wrapped Win32 calls. More recently, Services For UNIX have provided an updated POSIX subsystem and userland that is more-or-less useable.
I am TheRaven on Soylent News
Colinux is exactly that: http://www.colinux.org/
Its a linux distro that runs on top of the NT kernel
Runs pretty fast, for what it's worth
You can simply load different drivers in pseudo-userland and run a separate set of services to completely rework your windows system. As far as enterprises and business customers are concerned, there's little to no benefit for them to be able to compile their own kernel unless it is completely monolithic- it's just a waste of time and a leak of talent for microsoft.
FOSS is mostly GNU userland, not the linux kernel. If you don't believe me, try BSD or OpenSolaris.
I think Cygwin's full of too many hacks to be a good starting point. For instance, Windows programs have no ability to fork, and yet cygwin has a fork() implementation. Personally, I don't want GNU compatibility but POSIX compatibility. There are POSIX makefiles and there are GNU makefiles. The difference is that POSIX makefiles run everywhere, while GNU makefiles don't. Just the same, I try never use GNU-specific language features in gcc (I use -std=c89 or -std=c99 with -pedantic). GNU hinders interoperability, themselves. It would be good if a Microsoft-developed make (there is nmake, but I don't know how it works at all) had a POSIX mode and a GNU+POSIX mode, in the same way that GCC allows by use of -std=XXX -pedantic flags to disable GNU extensions.
Also, Microsoft's library model is positively nutty. Static libraries are stored as a big .lib file, while shared libraries are stored as a small .lib file together with a .dll file. Unix has .a and .so files, respectively. Inter-operable makefiles need simpler compilation systems than having three kinds of library files.
Microsoft did try this before when they first brought out Windows NT. They provided a very minimal shell environment along with some unix emulation commands (make, ls, df, du, vi) as well as being able to get OpenGL drivers ported over. The idea was to provide these commands to get the applications ported over, and then to silently withdraw the suppport once the applications were ported.
There are still emulation libraries by Cygwin and MKS
Shell scripts are Microsofts weakness. Microsoft held off from including Monad into Vista for security fears. This was in a previous Slashdot discussion
Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
As of Windows 2003 R2 and later, it's now called Subsystem for UNIX-Based Applications.
SFU/SUA applications are not Win32 applications; they operate on the POSIX layer. The apps are still Windows PE formatted binaries. Libraries are also PE and do not have a
The Unix environment is more Unix-like than Cygwin. Executables have no file extension; their names are all lowercase and appear that way in the Task Manager. SUA is aware of NT ACLs and permissions and appears to work with ACLs. It's possible to suspend and kill processes like any unix system.
SUA borrows a lot of stuff from BSD and includes some GNU code. Much of the userland is based on BSD; the SUA FTP application supports HTTP downloads as well, like NetBSD's IIRC. SUA applications can be compiled with the Microsoft Visual C++ compiler or the included gcc (version 3.3). SUA provides a
The userland is not as "complete" as a GNU system; commands like top and killall are missing, but ps and kill are functional.
Ports of some GNU software are available here.
I haven't found much of a need for SFU/SUA, mainly because I typically have some sort of Linux system accessible and because PowerShell makes it possible to do many of the same things. But it doesn't feel too different than any other Unix
Here's the output of a few commands on my Windows Vista box:
Proprietary emacsen have died on the vine. The Gosling split (which was really the driving force behind RMS inventing the GPL) - Unipress Emacs never did well. When DEC tried to reinvent Emacs with EDIT/TPU they did a passable job (it was a fantastic editing environment for VMS), but it was so tied to the system that it could never make itself free.
...
I am certainly not wedded to the command line in and of itself (though zsh is a tool I cannot live without), but I wouldn't be tempted even if they duplicate the Unix open architecture of interchangeable parts. I'm a Linux developer and user because I got extremely pissed off by having my system (the AT&T PC7300 aka the Unix PC) end-of-lifed on me and I never want that to happen again. Never. Those of you who love Microsoft Windows XP, take note. Maybe instead of complaining to Microsoft, you should join up with the ReactOS guys and keep the environment you love so much.
It worked for us
Win32 does not have a way to fork a process, but NT does. Passing a NULL image handle to NtCreateProcess() is similar to calling fork(), cloning the memory space as a new process. The NT kernel supports a lot of system calls that are not exposed through Win32, and it's a shame. The NT API is much more elegant and self-consistent than the Win32 wrapper, yet it's the officially undocumented one.
NT is almost a superset of the features of Linux. There are only a few concepts that don't exist in NT, like signals.
"Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager