2008-05-01

Features Windows should have

PC World talks about 18 features Microsoft Windows should have (but doesn't). Their list is pathetic! (except for number 9: repositories of software)
Here is my list of features Windows should have:

1. ssh
There is no easy way to get a remote shell on a Windows server, yet OpenSSH is freely available for Microsoft to include in Windows (every other OS does it).

2. syslog
I know there are third party solutions to include syslog in Windows, but this should be part of the operating system!

3. fhs
Maybe not literally fhs, but at least a file structure that includes /etc /proc /tmp /var /bin /sbin and other common directories. The current mess in drive letters and long directory names with spaces is just unmanageable.

4. nfs
I mean real built-in support for the latest nfs, listing directories in a standard /etc/exports file. Not the pathetic attempt they call "Services For Unix" (which has not been updated in over four years).

5. built-in common file systems
They should include native support for ext2,ext3,reiserfs (little late maybe),zfs etcetera. The specs are open, but we still need third party drivers to use these common file systems.

6. MBR and GRUB support
Installing Windows on a machine with GRUB will destroy GRUB. Windows should at least recognize GRUB and give a proper warning before overwriting the Master Boot Record. It would be even better if Windows would add itself to GRUB (just like any other descent operating system does).

7. GNU tools and bash
A descent shell with some handy tools.

8. /etc
Did i mention it should have /etc (not C;\windows\system32\drivers\etc with five measely files) but a real /etc with a working /etc/hosts and /etc/nsswitch.conf and all the others like /etc/resolv.conf, /etc/passwd, /etc/shadow, /etc/group, ... ditch the registry!

9. file links
It should support file links (ln and ln -s)!

10. /
Stop using those pathetic drive letters and put everything under /.

11. more handy tools
It would be nice to also have vi, man, gcc, tar, gzip, dd, cpio...

12. A home directory for users
I mean a real home directory that contains all the customized user settings for applications. Not the current mix of fifteen different locations to store some simple information.

13. repositories
The same as number 9 in the PCWorld list. In windows Control Panel there exists an icon called "Add/Remove Programs". It would be nice if it was actually possible to add or remove programs with it! The thousand most common freely available programs (firefox,anti-adware,anti-spyware,openoffice.org,gimp,...) should be in there so users can easily add them!!!
The "remove" option should really remove the software and not leave (anti-piracy)traces all over the place.

14. gpl
Microsoft should gpl the complete Windows source code and focus on supporting companies instead of ripping them of with proprietary lock-in and restrictive licenses!

10 comments:

Kristof Provost said...

In other words, it should be Unix?
Good idea, but I see a simpler solution ;)

Paul Cobbaut said...

i probably go a tad to far with the fhs nad /etc...but they could easily include at least ssh. syslog, nfs, grub support and most of the GNU tools!
Adding the repositories would cut too much in their own profit margin i think.

Bart Verwilst said...

Seems to me like you want MS to reinvent Linux :P It's like saying you bought a bike, but you feel it should have a roof, 4 tires, an engine, should go at least 200km/h and a nice big trunk. You should have gotten a car, and not a bike then ;)

Paul Cobbaut said...

Bart, don't you know that you should not make car analogies to computers anymore ;-)

paul

Timothy Parez said...

This was cleary written by someone who's biased towards Linux.

A lot of the statements are not entirely correct and some of them
don't even make sense...

Paul Cobbaut said...

Timothy, can you elaborate a little on the "not entirely correct" statements ? I am always willing to learn!

localhost said...

Some features Windows already has (well... kinda...)

7. A decent shell: the latest incarnation of Windows has PowerShell. It's not bash or dash or csh, it's something else. Haven't seen it myself yet, but according to reviews I've read, you should be able to script pretty much everything.

9. NTFS *does* support file links, but it's poorly documented, and it doesn't work in exactly the same way as the file links you're used to. But it does exist, it only needs some love and care.

11. Isn't that the same as 7? Anyway according to some fundamentalists, Linux is only the kernel, and all the tools are "third-party" GNU tools. ;-)

12. There *is* a real home directory. Don't blame the operating system, blame the ISV's for writing software that don't follow guidelines and best practices. If those same ISV's wrote software for Linux, it would be just as bad.

13. Remove... the big difference between Windows and Linux is that software on Windows is self-contained, including the (un)installer. Windows relies on the program (un)installer to do the job. In Linux otoh, the (un)installer is part of the OS, and the individual software hardly has any control over the abuse it will get from the packet mangler. ;-)

Paul Cobbaut said...

7. I want to be able to use simple filters like grep, cut, head, tr, sort, uniq, .... in my bash shell. I can use them on Solaris, BSD and Linux, so it must be possible to simply include them in Windows. I don't want to learn OTHER tools because ONE operating system wants to re-invent the wheel. These filters exists, are free, are well documented and are basically a standard. Just put them in Windows.

9. If file links exist in NTFS, then why can i not type "ln -s file link". It works in EVERY other operating system.

11. I consider point 7. some basic filters (combined with shell redirection and pipes). But you have a point, gzip can be seen as a filter too. Still, i would like man pages and some basic programs like vi available on Windows.
Linux ? I am not talking about Linux, more about the GNU tools and POSIX, FHS and other standards that exist among ALL (end user)operating systems except ONE.

12. You mean the hidden "C:\Documents and Settings\$username" ? There is also a ton of info about user settings in the registry. The nice thing about my /home/paul today is that i can copy it to another system and start working there with my favorite applications and MY default settings all migrated with the copy. If i try copying the Windows home directory between different version of Windows then the system hangs or crashes or messes everything up. A simple copy of my homedirectory should migrate all my personal settings to another system!

13. Indeed! So why don't they use a repository of free software ? It would be really nice and handy for end users!

Toni Verbeiren said...

I think you need Cygwin to be installed. Gives you most of the tools your talking about, and I even saw once a procedure on how to run an NFS service inside.

Regarding the migration of profiles on Windows systems, some things can be done (flex profiles, redirection, etc.) but it is not a simply copy.

Paul Cobbaut said...

Hey Toni,

(I don't have a Windows at home.)

Cygwin is a good tip, but the annoyance I have is in front of a client's Windows server... then putty and cygwin are usually not installed.
Why does Microsoft include a media player, games, multimedia controls and a browser in their server OS, but not the most common freely available GNU tools and openssh ?
Why do they create a dsadd tool with different syntax, when useradd is a de facto standard ?
i.o.w. Why do they need to do everything different ?

About the redirection of profiles...i have some experience here...mixing the use of profiles between Windows 2000 and Windows XP can have some crashing results...(whereas my /home/paul came from Fedora Core 1 to Debian to Ubuntu and back to Debian and back to Ubuntu...simple copy, nothing crashed.)

ok, i'll stop ranting...for now ;-)

paul