Microsoft Windows Services for UNIX (SFU) 3.5 (now free)

by Todd Ogasawara

Related link: http://www.microsoft.com/windows/sfu/



My work is in a decidely duo-culture OS world: Microsoft Windows and Linux.
I had heard about Microsoft Windows Services for UNIX but never took a close look at it.
Microsoft released a new version (3.5) and lowered the price (from $99 to FREE) this week.
This (no cost) prompted me to take a closer look at it.


You can read a detailed introduction white paper about SFU at
http://www.microsoft.com/windows/sfu/techinfo/overview/sfuwp.asp
or the reviewer's guide at
Interop Systems.
Here's a much truncated summary of the items that interested me:


  • SFU runs on both Windows workstations (2000 or XP with appropriate Service Packs) and Windows servers (2000 or 2003 with appropriate Service Packs)
  • Client, server, and gateway for NFS
  • Telnet client and server
  • C-Shell and Korn Shell plus more than 350 other utilities
  • Symbolic and hard links on NTFS and NFS file systems
  • Password synchronization between Windows and Linux


One ironic note: As I said I split my time between Windows XP and Red Hat Linux boxes. I happened to be on my Linux workstation while investigating this new SFU release. I downloaded both the white paper and reviewer's guide to read in OpenOffice 1.1. OpenOffice crashed while reading the reviewer's guide. However, I restarted OpenOffice, opened the reviewers guide again and was able to read it all the way through on the second try.

I've never tried SFU (3.5 or earlier). So, if you have feedback on this product, please share it so I and others can learn from your experiences with SFU.


11 Comments

nzheretic
2004-01-17 13:42:56
Should that not be GNU/Microsoft SFU?
The SFU developers at Microsoft pulled the bulk of the library code for SFU from the 3.0 release tree of OpenBSD. Under the terms of the BSD license, Microsoft is free to do so, but by the spirit and intent of the open source movement Microsoft should at least publicly acknowledge it and contribute back patches for any bugs and compatibility issues the SFU developers create or discover.


Microsoft also includes the GNU General Public Licensed GNU GCC compiler toolset from Interix, which might prompt RMS to reply with a similar rant like ...



Many Microsoft users will be running a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is more often known as 'Microsoft Windows Services for UNIX 3.0' or SFU, and many users are not aware of the extent of its connection with the GNU Project.


There really is a SFU; it is a subsystem, and these people are using it. But you can't use a subsystem by itself; a subsystem is useful only as part of a whole operating system. SFU now inludes Interix which is normally used in a combination with the GNU development toolchain and libraries : the system is basically GNU, with SFU functioning as the compatibility DDL Library layer.

Many users are not fully aware of the distinction between the compiler toolset, which is SFU, and the whole system, which they also call `SFU''. The ambiguous use of the name doesn't promote understanding.


Programmers generally know that is a Subsystem. But since they have generally heard the whole system called `Interix' as well, they often envisage a history which fits that name. For example, many believe that once Softway Systems finished writing the posix compatibility DDL Libraries , they looked around for other free software, and for no particular reason most everything necessary to port a Unix-like system was already available.


What they found was no accident--it was the GNU system. The available free software added up to a complete system because the GNU Project had been working since 1984 to make one. The GNU Manifesto had set forth the goal of developing a free Unix-like system, called GNU. The Initial Announcement of the GNU Project also outlines some of the original plans for the GNU system. By the time Interix was written, the system was almost finished.


Most software projects have the goal of developing a particular program for a particular job. For example, Softway Systems set out to build an environment to allow UNIX apps to be ported directly to NT. Donald Knuth set out to write a text formatter (TeX); Bob Scheifler set out to develop a window system (X Windows). It's natural to measure the contribution of this kind of project by specific programs that came from the project.


If we tried to measure the GNU Project's contribution in this way, what would we conclude? If you had access to the full source code of SFU with Interix, you might find found that, GNU software was the largest single contingent, around 60% of the total source code, and this included some of the essential major components without which there could be no compatable subsystem. SFU by without Interix itself could be about 20%. So if you were going to pick a name for the system based on who wrote the programs in the system, the most appropriate single choice would be `GNU''.


But we don't think that is the right way to consider the question. The GNU Project was not, is not, a project to develop specific software packages. It was not a project to develop a C compiler, although we did. It was not a project to develop a text editor, although we developed one. The GNU Project's aim was to develop a complete free Unix-like system: GNU.


Many people have made major contributions to the free software in the system, and they all deserve credit. But the reason it is a system--and not just a collection of useful programs--is because the GNU Project set out to make it one. We made list of the programs needed to make a complete free system, and we systematically found, wrote, or found people to write everything on the list. We wrote essential but unexciting major components, such as the assembler and linker, because you can't have a system without them. A complete system needs more than just programming tools; the Bourne Again SHell, the PostScript interpreter Ghostscript, and the GNU C library are just as important.


By the early 90s we had put together the whole system aside from the kernel (and we were also working on a kernel, the GNU Hurd, which runs on top of Mach). Developing this kernel has been a lot harder than we expected, and we are still working on finishing it.


Fortunately, you don't have to wait for it, because SFU is working now. When Softway Systems wrote Interix, they filled the last major gap to get Unix/Posix compatable source code running on NT: a Microsoft-based system ( or GNU/Microsoft
system, for short).


Putting them together sounds simple, but it was not a trivial job. The GNU C library (called glibc for short) needed substantial changes. Integrating a complete system as a distribution that would work `out of the box'' was a big job, too. It required addressing the issue of how to install and boot the system--a problem we had not tackled, because we hadn't yet reached that point. The people who developed the various system distributions made a substantial contribution.


Aside from GNU, two other projects have independently produced a free Unix-like operating systems, One system is known as Linux, it was developed by Linus Torvald, it was developed many people all over the world. The other major system is known as BSD, and it was developed at UC Berkeley. The BSD developers were inspired to make their work free software by the example of the GNU Project, and occasionally encouraged by GNU activists, but their actual work had little overlap with GNU. BSD systems today use some GNU software, just as the GNU system and its variants use some BSD software; but taken as wholes, they are two different systems which evolved separately. A free operating system that exists today is almost certainly either a variant of the GNU system, or a kind of Linux or BSD system.


So GNU Project supports Microsoft's SFU as well as the GNU system.


We never use any Microsoft systems with SFU for any of our work and we hope you don't use them in the future. Why would you want to when their are freely available free operating systems such as Linux which will perform so much better running *nix programs on the same hardware? But please don't confuse the public by using the name `SFU'' ambiguously. SFU is the subsystem, one of the essential major components of the system. The system as a whole is more or less Interix with GNU compiler toolset, with SFU added. When you're talking about this combination, please call it `GNU/Microsoft Windows Services for UNIX' or 'GNU/Microsoft SFU'.


Also See Linux and the GNU Project

anonymous2
2004-01-18 23:41:36
Should that not be GNU/Microsoft SFU?
Nzheretic writes a bunch of utter bushwah.


SFU utils and libs are based on 4.4BSD-lite. Look at the RCS tags on the files; you can see where all that stuff came from.


You can install SFU without any GNU code at all. The product is quite useful that way.


And check out the SFU package a little more closely; you'll see a file that acknowledged every copyright holder of technology included in the package where that acknowledgment is required either explicitly by the copyright itself or by the "spirit of the open source movement".


The "BSD License" predates the publication of the GPL. The BSD developers made their software "free" long before Stallman founded the GNU Project. Seriously. I've been involved in computing that long.


When I first read that Stallman foamed at the mouth about Linux and insisted that all of his cult followers call it "GNU/Linux", I laughed. His rationale was transparently egotistical. The rant here is cast in the same mould. And just as laughable.

jwenting
2004-01-19 05:01:53
Should that not be GNU/Microsoft SFU?
A response that is typical of the childish anti-Microsoft attitude seen in many of the most hardcore open source advocates and their accolytes as bred and indoctrinated on /..


For many people running linux is no alternative. Not only is it inherently hard to configure and use but it's on a lot of hardware unstable or doesn't work at all.
I can install Windows on my machine in about half an hour (including the time to start up the hardware), installing Linux on the same machine takes several days (and that's just the core OS in both cases, I've not even started with applications yet).
Add that I have a lot of software that simply won't work on Linux, and there's another reason my main machine can't run it (I DO have it running on 2 others as an experiment and to maintain my Unix skills).
I would not want to force an OS like that on my sister or parents who are all but computer illiterate (last night my father called me on the phone in panic asking what he had to do to reply to an email...).

nzheretic
2004-01-19 05:18:10
Strings and things...
anonymous wrote:"SFU utils and libs are based on 4.4BSD-lite. Look at the RCS tags on the files; you can see where all that stuff came from."


Richard R Charron writes: "I installed MS Services for UNIX 3.0 at a client's site, fired up a C Shell, did a "strings * | grep -i bsd" and what do you know... OpenBSD!"


If you check the dates and names of the last commiters you discover that the 3.X versions of the SFU libraries are directly copied and derived from the OpenBSD.


anonymous writes "You can install SFU without any GNU code at all. The product is quite useful that way.".


Just not all that useful as a posix/Unix compatable development platform. The only *nix compatable C and C++ compiler supplied is the GPL'ed GCC.


Also, while the core/POSIX C libraries may be derived from BSD'ed OpenBSD, the only widepreadly used Unix/BSD compatible C++ libraries is the LGPL GNU libstdc++. Most of the larger modern open source and proprietary *nix software now use GNU's libstdc++.


anonymous wrote: "And check out the SFU package a little more closely; you'll see a file that acknowledged every copyright holder of technology included in the package where that acknowledgment is required either explicitly by the copyright itself or by the "spirit of the open source movement"."


Actually, in July 1999 the University of California, Berkeley changes the license conditions to remove the required advertising clause. NetBSD,FreeBSD and OpenBSD all use the newer BSD license. Still, it would be nice if Microsoft could to mention the origin of SFU's library component on Microsoft SFU webpages.


The other part of the "spirit of the open source movement" is giving back patches under the same license to insure interoperability with the vendors changes. The Linux kernel developers have done this with the older BSD'ed IDE and TCP/IP stacks.


Microsoft does not have a good history of this. As with the BSD'ed licensed Kerberos standard implementation, Microsoft has "embraced and extended" many previously free protocols under licensing arrangements unacceptable to even most other proprietary vendors.


Lastly, some people fail to read the supplied links before they get the humor

nzheretic
2004-01-19 06:11:53
A response to typical troll-like exaggerations
jwenting wrote: "Not only is it inherently hard to configure and use but it's on a lot of hardware unstable or doesn't work at all."


Under what hardware is Linux ever unstable?
What common PC hardware or vendor fails to run Linux at all?


With the exception of laptop and notepad hardware, where the OEMs presource the drivers for Microsoft's OSs, most commenly used PC hardware is automaticly detected by Linux distributions such as Redhat,Suse, Mandrake and Knoppix.


Even going back to RedHat 7.3 ( the currently release is RH9 and Fedora 1 ), Linux has been far easier to install from scratch that either Windows2000 or XP.


Following the default setting during installs of Modern Linux distributions is just as easy as installing XP from scratch. GUI based interfaces for configuration from everything from network to printers are all available for both XP and Linux.


I fully admit that Linux is not for everyone and there are some windows applications and drivers that Linux lacks comparative counterparts, but if Microsoft's offerings are so much better why do some of Microsoft's advocates have to continually exaggerate to the point of lieing about Linux so-called "deficiencies".


Microsoft is targeting SFU at replacing Unix and Linux server applications, not desktop applications. For the server applications I have deployed over the last decade, from Oracle to file and email servers, I have found that Linux is now far easier to install and manage. In comparison to Linux, with Win2000 and Win2003 you have to fight Microsoft's default configurations to secure and stabilize the platform.

anonymous2
2004-01-19 15:34:10
"Services for UNIX" is the package name
One other inaccuracy in the original post - it clearly states at http://www.microsoft.com/windows/sfu that "Services for UNIX" is the name of the package of tools, which consists of not only the Interix subsystem, but also the Interix SDK, an NFS Server, and NFS Client, a NIS Server, and apparently some UNM and password sync tools. "Services for UNIX" is not, and never was the name of the subsytem itself. In fact, as best I can tell, they've been calling it Interix ever since they bought it from Softway. The Ms support site still shows support for Interix 2.2.


I'm not going to get into the which BSD is which argument. Suffice it to say I'm sure the borg's legions of lawyers considred that one carfeully before ok'ing the release of the product.

jwenting
2004-01-20 00:50:38
A response to typical troll-like exaggerations
I have a dirt standard NVidia card, yet X3 refused to run at anything over 640x480x16 colours.
My HP deskjet was impossible to configure, same with my mouse for some reason (had to switch to an ancient serial mouse before it would work).


As to securing the platform, I guess you've never even tried securing Linux, believing the hype that Linux is so secure?
Out of the box Windows is far more secure than any Unix out there (using default installation options for all, which is the only comparison you can make as that is what 99% of users will install).
Also, it takes far less expertise to secure your Windows box and more importantly keep it up to date.
While Linux is getting better at the latter (especially distros like Debian which has what is effectively an autoupdate function similar to Windows Update) it's not there yet by far with initial configuration.
In theory you may be able to lock a Unix box down tighter than a Windows box, but for the average user the situation is reversed and the average (and below average) user is precisely the one that Linux is targetting so heavily over the last few years.


If you look at statistics of compromised machines you will notice that the percentage of compromised Linux installations on the internet as compared to the percentage of compromised Windows installations (in both cases percentages of installations using that OS) is far higher.
Linux advocates will only mention that there are far more compromised Windows boxes out there, something that's hardly surprising given that there are far more Windows boxes out there.
But take the percentages of compromised boxes as a function of the OS they are running and you will find that more Linux boxes per 1000 installations are compromised than are Windows boxes and that those machines do far more damage.

seaver
2004-01-28 13:30:54
Disappointed in security
I was disappointed that MS did not bother to incorporate ssh/ssl into the package.


Though SFU would have been great, it's true use for me would be the secure connections to my application server.


It seems strange to me that MS insists on this theme of 'not worrying' about security.

nbrouard
2004-02-06 07:22:44
A response to typical troll-like exaggerations
I recently have had to install a new laptop for my 80 years old father. It took at least 4 hours and many reboots even if Microsoft XP was already installed. I have had to install the Antivirus and to subscribe for the free first 6 months in order to get the activation key. Also many of softwares are bundled on separate CD-ROM, like for Photoshop elements (LE), or HP softwares for the photo printer, and they have to be installed and in many occasions we have to reboot. And sometimes it hangs while rebooting.


It is hard to go through and once you are through you rapidly have to "update" windows because otherwise you can be hacked by viruses. And again it requires many reboots.


The most surprising thing is that you can't even send a JPG attached photo to a recent Microsoft user. The latest Outlook Express by default does not accept to open .jpg photos (even if they are true .jpg and not .jpg.pif hidden viruses).


That's all the consequences of Microsoft policy since years now. And in order to allow attached documents to be opened under Outlook Express is not easy and you can't let open by default for old people


I let it open for my 75 years old aunt and 6 months later the PC was out of order because of viruses (I have had 21 reboots to reinstalled Win98 instead of WinMe and it is still not working because I need WIN98 pack 2 in order to access ADSL for her!!!)


It is true that I can't installed Linux because the environment of my father or aunt, like everybody today, is MS$ oriented. But Mandrake 9.2 installation is not as long. And as far as you already tested you hardware with Knoppix 3.3 or PCLinuxOS livecd first, then you are confident in a true Linux installation.


On Mandrake, if I want to install a software from GNU/Linux I only need to type for example "urpmi openoffice" and the whole suite and its dependencies will be downloaded and installed automatically (after confirmation).


You can't get better installation (and removal) than this.


GNU/Linux is spreading and coming.

Try openoffice first on Windows. Then move to Linux and use Ximian Evolution, a very nice clone of Outlook (not only Outlook Express) but much powerful (and compatible with Microsoft Exchange servers) and you will be satisfied for calendar, contacts, memos and syncing your PDA. On Linux you will need some help and won't find it in your close environment yet... but probably soon.



I have spent only 15 years of my live on Windows and I am back to Unix with GNU/linux.

I am happier

If something is not working as I want on GNU/Linux, I am sure that it is because it not well documented or not currently possible to use; it is not because I haven't paid for this additional feature or because the software wants to hide its weaknessess in its advertisement.


On hardwares it is different because you need additional pieces

On softwares it is usually only rights because they already have the knowledge.


I can understand that many people do not agree with the GPL licence philosophy.

But don't tell me anymore that you gaining time with Microsoft, on the contrary you are wasting your time and the time of your neighbours.


Cheers,

rhish
2004-08-06 00:35:54
A response to typical troll-like exaggerations
jwenting's post made about as much sense as sayin Unix is Better then Windows because U comes before W in the alphabet.


"Out of the box Windows is far more secure than any Unix out there"
hehheh damnit, and here i thought my OpenBSD default install was more secure then my grandma's Windows98 box. :(


"Also, it takes far less expertise to secure your Windows box and more importantly keep it up to date"
Should read 'Also, it takes far less expertise to think your Windows box is secure and more importantly keep adding useless security holes at the click of a button'


Apparently a box is only secure if you can click a button from within a web browser and recieve a popup box saying "Your all secure kid!"


"In theory you may be able to lock a Unix box down tighter than a Windows box"
Theory?
In theory microsoft is like anna kournikova, cant play worth a shit, but gosh darn it does she look good! The parallels between anna and microsoft can go on forever, but ill leave it to your imagination!



TReichert
2005-05-18 04:47:45
SFU contains no posix threads
SFU provides the simple POSIX standards (maybe POSIX .1, POSIX.1a, POSIX.2)


It does not provide these Specs:
- realtime (POSIX.4, POSIX.4b)
- threads (POSIX.4a)