Should Being Competitive With Windows Matter For Linux?
An anonymous reader writes "Is Linux being held back by distributions bent on competing with Microsoft Windows? This article argues that it's a real possibility. Quoting: '... what was apparent early on during my Linux adoption was my motivation for making the switch in the first place — no longer wanting to use Windows. This is where I think the confusion begins for most new Linux adopters. As we make the switch, we must fight the inherent urge to automatically begin comparing the new desktop experience to our previous experiences with Windows. It's a completely different set of circumstances, folks. ... The fact that one platform can support a specific device while the other platform cannot (and so on) doesn't really solve the problem of getting said device working. You can see where this dysfunction of thought can become a big problem, fast."
Linux has a 90% share in supercomputers, a 50% share in servers (+/- 10%), and a pretty good share of cell phones and other mobiles, if you include Android and other semi-proprietary systems. The only place to expand into it the desktop, where the market share is at most 5%. So, why not?
can be anything we want it to be. It is, after all, open source and can be modified to suit many different purposes. Should Linux compete directly with Windows? That's a stupid question. Linux should do what the user wants and if that happens to put it on a collision course with Windows then so be it.
Sigs are too short to say anything truly profound so read the above post instead.
It isn't just the distros. It is the desktop environments and all the plumbing underneath trying to shovel in the Fail as fast as they can.
Remove manual configuration. Remove features in general. Allow people who openly hate the UNIX Way to redesign core subsystems, losing important things like network transparency and human readable/understandable settings. Microsoft is ditching the registry because in the end users hated so much they finally had to listen to them while we are still chasing those taillights.
Democrat delenda est
There is hardly a soul on this planet who's life is not touched by linux in some fashion every single day. Windows has another chunk taken out of it every day it is death by a thousand cuts. If things continue on the path they currently are nearly everyone is going to be running around with linux in their pocket and soon. I saw a guy today with a droid in one hand and a kindle in the other, now that brought a smile to my face.
Got Code?
Linux must compete with Windows if there is ever going to be a "year of Linux on the desktop."
That would force manufacturers to release more compatible products, perhaps even contributing drivers to the kernel. It would spur the release of more commercial software, and gather more interest in the open source software that already exists as well as fostering new growth there.
Computers would be cheaper, as there wouldn't be a Windows tax, and additionally there would be more form factors available. How about ARM laptops with 30-40 hour battery life? Oh, sorry, that's not really happening now because manufacturers are afraid their customers will be confused, and they are afraid of losing their partnering bribes - I mean "incentives" with Microsoft.
Linux on the desktop, from the store, for average people, with first-party support, is extremely desirable for the future of computing. One thing that would be nice is to see some Linux games. Oh sure, you can run Wine or one of the commercial variants of Wine, but most people are just going to stick with Windows.
If the objective is to be a desktop OS that everyone can use then yes you are defacto competing with Windows. That doesn't mean doing everything just like Windows does but it does mean competing.
Also if you want to compete EFFECTIVELY it does mean trying to do the things that Windows can do. That doesn't mean looking or acting precisely the same, but it means being able to handle the same kinds of tasks with the same (or better yet less) effort.
Remember that to most people computers are tools. They have various things they want to accomplish with them, and they want the tool to be easy and helpful in doing that. As such, to win them over you need to be able to accomplish their tasks, and to do so with a minimum of fuss.
Expecting people to be willing to troubleshoot and learn more about Linux is complete bullshit. It is effectively being lazy, it is saying "We can't make our shit work right or be easy to use, so we expect you to pick up the slack and learn to deal with it." That is NOT an acceptable solution, because the response from people will be "Fuck you, I'm not using it then." They don't want to become experts in computers, they just want to use them to accomplish whatever it is they are after.
It is no coincidence that as computers have gotten easier to use, more people use them. Back when computers were first invented not only were they expensive, but you practically needed an advanced degree to operate them. You had to program them in raw machine code, every program was something newly created, you had to solve electrical problems, etc, etc. There were just few people that could deal with that. As things got successively easier, more friendly, the world of computing was opened to more people.
Now it is fine to feel Linux shouldn't go the desktop route, that it should be a server/embedded OS and desktop use should be primarily incidental. However if you want it to flourish in the desktop market then that means it does have to compete with Windows and it does have to get easy to use. "Recompile your kernel," are words that must utterly vanish from any normal kind of support, source code is something a user can't be aware of needing, the command line should be for experts only, and so on.
To try and think otherwise is not only arrogant, but myopic. You only have to look at the world to realize the vast complexities of things out there, and how much we must all specialize. To decide that computers are the one special thing that everyone should want to become interested and expert in is silly.
People who care about security hate it too. As does anyone trying to fully uninstall an uncooperative program. Things can stay hidden there essentially forever.
Besides, it's a bunch of settings that is completely unorganized, does not exist as a single file anywhere on the hard drive, and is essentially hidden from normal users. It should be hated on principle.
We have always been at war with the Registry.
Faster! Faster! Faster would be better!
1) In theory. In practice, it's a fucking chaotic mess.
2) No it doesn't. User and system hives live in different files, and then there are a few other hives that are also mounted separately.
3) It's the ABILITY to clear those settings that is the problem. Users don't necessarily need to be exposed to every last setting, but they SHOULD have the ability to wipe all settings related to an application. With the registry, this is nigh impossible.
Why do people keep thinking that Linux a a cheap, or free or open or whatever replacement of Windows. It isn't.
And you can't copy Windows. That would mean that you have to wait till Windows does something.
http://linux.oneandoneis2.org/LNW.htm
Linux should go its own way and if that takes down Windows, it is a nice plus. Competing with Windows should not be a direction, bceause that will be a fight that you can only loose.
Don't fight for your country, if your country does not fight for you.
While I am more techy than most of the people I worky with (Hence I am sitting here reading this at work) most of the folks around me look at PCs simply as a tool. Can't teach them new tricks? Bollocks. A lot of my time is spent working with business teams who are looking to improve their way of doing business and teaching them about how different programs can be used to get the information they want.
Want to find your current sales trends in a way that you haven't been able to before? Okay, well, we have the data in this thing called Datawarehouse. Our reporting team will be able to provide you a set of reports, but they take a long time to develop and check. If you want to do some quick nasty analysis to fend off a crisis, there is a program called TOAD that will let you directly query your data. Look difficult? Lets go through how it works and how you write a SQL query.
Result: In the last Two years, I have introduced around 100 users who are NOT tech savvy at all to the wonders of SQL queries. They are now in various stages of competence, but they are using new things.
My (belated) point here is that while something like Toad (or now replace with Linux) isn't something that they can just pick up and run with, if people see a benefit to it, they WILL make the effort to learn how to use it.
In my mind, Linux really needs to advertise the benefits it has to the ordinary person so that they are enticed to make the effort to learn how to use it. Having said that, the easier it makes this learning process, the less advertising it has to do.
Moved to http://soylentnews.org/. You are invited to join us too!
The registry isn't bad because it's stored in binary form, or because it's heirarchical, or because it supports transactions, or because it has ACLs. These are good (or at least acceptable) things.
The registry is bad because it's global and forces a lot of configuration to be global as well. For example, COM components are registered globally, so only one DLL can be associatded with a class ID at a time. That's why you can only have one version of Internet Explorer installed on the same machine. Yes, users have their own registry subtress, but not every key can be configured under the user-specific heirarchy. Even a user-specific key can only have one value at a time for a given user. Unix systems, on the other hand, use environment variables to hold (or point to) configuration information, which results in a lot more flexibility.
Because registry values are global, application developers only consider the case of running one program at a time. If you want, say, two copies of Outlook, each with different settings, you'll need two separate users. A lot of programs don't even support multiple concurrent instances, which is maddening.
Another maddening side effect of the registry being global is that it's not possible to have the equivalent of NFS-mounted home directories under Windows. Say you have a domain user foo\bar on machines A and B. It's natural to want them to have the same %USERPROFILE% (read $HOME) on a fileserver somewhere, and on Unix, that works just fine. But under Windows, when the user logs into machine A, the system will lock ntuser.dat (the file containing the registry), which prevents the user logging in under machine B. Application-specific configuration files that are locked only during actual changes don't have this problem.
The global nature of the registry also makes it difficult to maintain application configuration: if you want to isolate the configuration information used by a program, you're essentially reduced to looking at procmon output and seeing what registry keys it touches. While in principle programs should limit themselves to storing information under HKLU\Software\Blah\..., in practice, they scatter stuff all over the registry, especially when they register COM stuff. You can't keep just, say, Word's configuration under version control.
When people say they hate the registry, what they mean is that they hate that Windows is not very well-modularized. Isolating one application's registry configuration is like removing one egg from an omelet.
A better model would have been to have application-specific registries, searched according to a PATH-like environment variable. In this scheme, when the system needed to, say, look up a COM class ID, it would just search each registry in sequence until it found the right one. Applications would simply store their configuration and registration information in their own registry, making management easy.
But like most Windows brain damage, this scheme wouldn't have worked on a 386SX with 4MB of RAM in 1995, which means it can't possibly be changed in 2010. As we all know, design decisions are irrevecorable and eternal (and I'm only half-joking).
> Competing with Windows for customers ranges somewhere between silly and stupid. If
> you want more Linux on the desktop, you need to court developers and software vendors.
Nope. If you want more users you need preloads. 90% of people would never survive a Windows install if it didn't come preloaded by an OEM who did all the twiddling to have the hardware mostly work out of the box. Anaconda actually does a better job compared to the Windows installer as far as leaving you a working machine when it finishes. Doesn't matter because end users can't use either one and refuse to even consider the possibility.
And that isn't a matter of techinical excellence, software availability or anything competition can address. It all about illegal monopolistic action. Microsoft signs consent decree after consent decree and over a decade after their first one you still can't buy a desktop PC without Windows proloaded except for a couple of bland Dell N series machines that are usually priced higher than the same machine preloaded with Windows.
The netbook revolution almost opened up the market but Microsoft just dumped XP into the hole until they could convince the manufactures to kill em off in favor of small notebooks running Win7. Go ahead, try to find a small flash drive based cheap netbook. All you find is three pounders with hard drives, crappy battery life and screens just a smidge smaller than a small notebook... and all running WIndows.
Democrat delenda est
Wait, so a distro should do things your way, and everyone else should shut up shop?
I think you'll find that's the beauty of open source, everyone can do it the way they want to. If you can persuade people that your way is the best way then some may join you.
Abandoning 99% of the distros would piss off a large portion of users. Why abandon any of them? If you come up with the perfect interface (TM) then they can all ship it, if it's right for them?
Or are you trying on that old argument that the very concept of a distro is confusing to people who just want the linux on their computers?
Well good luck with that.
3) all settings files SHOULD be hidden from normal users, be it the registry files, config files or whatever other settings files, if a NORMAL user has need of these to be exposed then the developers have FAILED.
Wrong, or at least I hope to the powers that be that this is wrong.
It is FAR EASIER to open a config file (with comments if it's complicated) and change what I need than to dig through a maze of tabs and menus looking for the magic option I want.
"This is exactly what's wrong."
No, it's exactly what's right. Linux is not ever going to have a "one-true distro", no matter how much you demand it.
If that means that 'ordinary' people aren't going to use it then I can't say it bothers me, not in the slightest.
Hell, 'normal' people aren't even going to install a new OS on their computer, ever. In a lot of ways that makes this discussion completely irrelevant as the people who need to be persuaded are manufacturers and distributors, not users. If the likes of Dell started to offer something like Ubuntu as a Windows alternative across a decent proportion of its range (instead of offering only a few, generally pretty poor machines) then that would help adoption I suppose.
But as I say, it's kind of irrelevant. Desktop linux is awesome for my needs and somehow development has struggled on and improved for 15 or so years.
So what if it's not the year of the linux desktop?
- Interface design that specifically and completely bars programmers from participating
Uh, what? If the GUI is just a fancy, specialized program for editing the various dotfiles and stuff crammed in /etc, then it does no harm to the person who actually likes messing around with baretext config files.
- Abandonment of 99% of the distros
Why abandon them? Call Ubuntu "Linux Home", Debian "Linux Professional", and "[favorite distro here]" "Linux Ultimate". There's no need to eliminate pro-friendly distros - that's the beauty of it. You just make a new one that caters to the beginners, and let it take care of that market. The Roadrunner doesn't run the same distro as the Droid, to put it poetically.
- Acceptance of proprietary drivers when offered (normal people don't give a damn about open source philosophy)
I believe in open-source, not because it is ethically mandated, but because it produces better results. As such, I expect that, eventually, open-source drivers will be better than the proprietary ones, at which point the natural choice would be to use them. Whether the manufacturers choose to assist the open-source team is up to them.
- Provision of real, available, phone-based technical support
I fail to see how this is a negative. At the very least, we get a scapegoat to point the boss at while we go fix the actual problem.
- Real, complete documentation
Again, how the hell is that a bad thing? I have NEVER heard someone say, "This is great and all, but I really wish the documentation was shoddy, incomplete and half written in Spanish." I mean, look at OpenBSD - plenty of detailed man pages, yet it's a very pro-oriented OS.
I have seen someone mocked for buying one package when some pinhead thought another would be more appropriate for the application. It was something like, "Well, what did you expect picking that? It's like you wanted to fail." Most people here have seen PLENTY of derision of new users.
Open-source is actually quite newb-friendly. I, being a fool, started my open-source experience with OpenBSD. I couldn't figure out how to mount my USB drive - a quick email, and I got a kind response from Theo de Raadt, the "benevolent dictator" of OpenBSD, telling me what I needed to do. Despite the Weird Al song, it is completely impossible to phone Bill Gates up at home and make him do your tech support.
Why not? Because a lot of the community is poison for end users. That's why not.
You see it as poison, I see it as potential. There's things you can learn from closed-source people. Game developers know quite a lot about squeezing performance out of hardware - that would be beneficial. Windows application developers are used to following a standardized interface - that would be nice, as well. There is always something to be learned from everyone.
Consolidate, standardize, and corporatize. Staff and support. Advertise. Court developers. In other words, build a better Microsoft.
I see nothing wrong with being a better Microsoft. Arguably, Linux is the Microsoft of the open-source world - you can't get anywhere with your project unless it runs on Linux, it's squeezed out a good chunk of the other open-source OSes, and it's pretty much mandatory for open-source admins to know Linux.
Or, remain "pure", disjointed, and niche on the desktop. Rule the world from the server. Personally I think linux should abandon the desktop. By the time they get there, technology will have made the point moot.
If we don't spread Linux to the desktop, we'll be supporting Windows clients until we do spread Linux to the desktop. Is that really what you want?
Because we are comparing Windows to Linux:
- Provision of real, available, phone-based technical support
And who is to do this? Can you call Microsoft to get help with your problems, without being IT head of a big company having big contracts? I have never heard of anyone being able to do so. Support always comes from the community: friends, family, and even the shop they bought the computer from. But not from the maker.
- Real, complete documentation
Admittedly I have never really dived into Windows documentation, but the "trouble shooting" wizards have never been helpful for me.
And if you're thinking of documentation of applications... I bet it's as bad for Windows as it is for Linux as it's the developer (person or company) that has to make it!
> A Mac and PC user could switch computers and withing a few minutes either person
> could get done what they were intending to get done. Not so with Linux.
Yes so with Linux. I admin a lab in a public library. We give em Linux with NFS mounted home directories and none of the locked down bullcrap Windows every other library in the State offers. They figure it out pretty quick. Hint: people who depend on the lab PCs in a public library aren't UNIX geeks. Hell, it wasn't too many years ago a fair chunk of them couldn't even hold the mouse right. But not long after they get comfortable logging in/out and using the rat they manage to figure out Mozilla/Firefox, OO.o and the usual application suite. Yea we have had our share of USB pen drive issues from time to time.... of course the other libraries in the State running the Gates Foundation's library model keep the USB ports disabled entirely. Same with CD burning, it works stable these days, didn't used to be the case especially if we bought too far down the CD burner food chain. Again, the other sites disconnect the optical drives unless they need to load new software. After all, gotta 'prevent' the spread of malware. Windows IS malware.
Democrat delenda est
> Gconf doing that is very rude, and it should definitely stop. Have you filed a bug?
Don't think it is GConf, but somehow tied into Nautilus's virtual file system feature. It is a FUSE filesystem mounted there. But no, there isn't a point in filing a bug report. It isn't a bug, it's a FEATURE! They are using some capability stuff beyond the normal UNIX API as a security measure. Forbidding root from even stating a file is just evil in my book though. Problem is the GNOMES know it breaks UNIX semantics and don't care because they are mostly Windows refugees who were never properly assimilated into UNIX culture enough for them to see the value in it. Filthy Philistines! :)
Same for this Wayland heresy getting started over at Ubuntu. The Computer is the Network, the Network is the Computer. Just words to em, merrily breaking X and the idea of network transparency, not because it will perform better but because the ignorant fools don't realize X's network transparancy isn't the cause of the performance issues they are trying to solve. But mostly because they probably don't personally use apps remotely and don't even realize that they are tossing one of the greatest ideas in computing history down the shitter.
Again, when you get a large influx of immigrants/refugees it is vitally important to ensure they assimilate BEFORE turning over important design work. That didn't happen because of this insane rush to bring about "The Year of the Linux Desktop." In the end we risk letting these hosers screw things up so badly the plumbing gets so screwed up we lose the server and embedded space as well. Those who refuse to learn UNIX will end up reinventing it... poorly.
Democrat delenda est
WTF is this? It seems to spit out an endless tirade of incomprehensible and meaningless shit. For instance:
0 10 FontSmoothing {Type, Text, SPIActionGet, SPIActionSet...}
It's a registry entry called "FontSmoothing", with 0 sub-entries and 10 keys (Type, Text, SPIActionGet, etc).
If you want more info about what PowerShell is returning you pipe the output to get-member, and it'll tell you what properties and methods are available. For example you could add and alter the set of keys returned, or add another where clause to limit your selection to a set of keys you're interested in.
Because it's structured and has a limited number of types you don't need to worry about the various locations or the structure of config files, and can alter and manipulate the returned output.
How is this in any way navigating "the registry like a filesystem?"
Because you navigate the filesystem in a similar way when using powershell, using ls on a registry entry like you would use it on a directory. It really shouldn't be too hard to see the similarity.
I can ls -R /etc | xargs cat and get a completely different pile of incomprehensible shit out of a Linux box, but at least it resembles English.
But neither seem to have any particular use.
If you can't think of a use for it okay, but that doesn't mean it isn't useful. /etc/Microsoft | ( where read f; do grep -q "Explorer" $f && echo $f; done ))
(By the way that PowerShell is more equivalent to find
Feh. If you were making a point, I've missed it. Sorry.
You said the registry was hidden on the hard drive and not accessible to normal users. My point was that it isn't hidden and is accessible. HTH
// MD_Update(&m,buf,j);
Winkey+"path"+
Scroll down to path, click edit, then edit it.
Works in Win7. If you can't figure that one out, I'm pretty sure you won't need to change the path variable.
If your going to send someone a registry file, you could equivalently send them a shell script for OSX or Linux. On the other hand, its not always possible to send someone files (eg your providing support over the phone and the user cant get online)...
As for documentation, unix configuration files typically have examples and documentation within the files themselves... The registry offers no such equivalent, quite often having some documentation right there is extremely useful and saves you a lot of time... Quite often when trying to fix something you may not be able to access the internet, so online documentation isn't terribly useful.
The registry doesn't facilitate controlling thousands of boxes centrally, there is no reason that text based configuration files could not be deployed in a similar.
I could teach my 15 year old to run an AD server inside of a month.
This is the biggest problem, it may be very simple to manage an AD server in a basic fashion, but the end result is usually horrendously insecure. I have conducted thousands of pentests, and without exception whenever we have tested an active directory domain we have managed to get domain admin privileges (starting with just an ethernet port). You don't want people with only a month worth of experience running your network, you want people with years of experience and a high skill level otherwise you're going to have constant problems.
You have an abundance of choice.
If only that were true, MS has worked very hard to ensure that there are various things locking people in to windows... There are plenty of people for whom choice doesn't exist. My biggest problem with microsoft is that they try to force you to use their products in this way. If we truly had choice, like we do in virtually all other markets, we would all be far better off.
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
A GUI is like public transport
Anyone can use it, and it will take you to the most common of destinations during normal hours with the minimum of fuss and hassle. On the other hand, you might be forced to take a slow inefficient route, might have to travel at specific times, might have to wait around for the next train/bus and some places just aren’t reachable using public transport at all.
A CLI is like a car
A car will take you anywhere you want to go and at any time, but you have to know how to drive and you have to navigate the route yourself.
Having scripts which are an extension of the same CLI you use for general system management is a huge plus, if your typing the same commands on a day to day basis then writing scripts becomes extremely simple (at the most basic level you can just copy+paste a series of commands you use), far easier than having to use a dedicated scripting language that doesn't relate to anything else.
Most things can be accomplished on a modern unix system without using the CLI, however there are very important reasons why people providing assistance recommend the CLI...
If you're providing support via a website, having commands which can be cut+pasted is much easier than trying to explain a gui (following an explanation takes longer than pasting a command, and descriptions of gui elements are open to interpretation and may even be visible if the user has a different theme).
Similarly, support over the phone is FAR easier via the CLI, assuming the person your talking to can read and write all they need to do is type what you tell them, and read back the response to you.
This doesn't mean that there isn't a gui based alternative to perform the same operation, its just that the (usually technically competent) people providing assistance to others realise that the cli is the best method of getting the job done.
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
Uh, what? If the GUI is just a fancy, specialized program for editing the various dotfiles and stuff crammed in /etc, then it does no harm to the person who actually likes messing around with baretext config files.
Programmers usually make bad GUI designers.
Usually, the interface should depend on what type of user it is targeted at. If the intended user is a professional, the interface should allow him to customize the program as much as possible. If the intended user is a regular user, the interface should be simpler and more explained. Compare a tape deck made for studio use and one made for home use. The studio one has much more functions and capabilities that a professional can use, but they would just confuse home users. The home user usually would not care about bias, eq, tape tension and stuff like that, they would just want to put on the tape and play/record it.
Another example would be the BIOS setup - what does "Gate A20 - Slow|Fast" mean and why would I ever want to set it to slow? But that setup is intended for those who know what they are doing and not a regular user.
Programmers make interfaces for themselves and other programmers, which means that they suck for regular users.
I believe in open-source, not because it is ethically mandated, but because it produces better results. As such, I expect that, eventually, open-source drivers will be better than the proprietary ones, at which point the natural choice would be to use them.
And if/when the open source drivers are created and are better than the proprietary drivers, I'll use them. For now it boils down to "use proprietary drivers" or "not use the device".
I, as a non-programmer do not care about openness of the source, since I would not be able to modify and recompile the driver even i the source was available. I can get the same result if I modified the binary using a hex editor - that is - a no longer working program. I don't care if the source is open, closed or the company makes electricity by burning penguins - if the end product is good and I like the price I'll use it.
Same for this Wayland heresy getting started over at Ubuntu. The Computer is the Network, the Network is the Computer. Just words to em, merrily breaking X and the idea of network transparency, not because it will perform better but because the ignorant fools don't realize X's network transparancy isn't the cause of the performance issues they are trying to solve. But mostly because they probably don't personally use apps remotely and don't even realize that they are tossing one of the greatest ideas in computing history down the shitter.
If you're going to throw such statements around, you better get your facts straight. The Wayland developers never blamed the networking protocol for the problems of X, but rather the fundamental architecture of X. In fact, Wayland has been built with networking in mind since nearly the beginning.
Wayland architecture
// file: mice.h
#include "frickin_lasers.h"