I agree with most of these points, a few quibbles however:
If they were all very good at doing what they do - that's fine. Sadly, they're not. Whenever I'm in Linux I *always* yearn for IE when I'm browsing, no matter what browser I use. The author's point is that all the current options aren't that amazing, and all have pretty big faults.
Are you serious? I'll assume you are. I personally (and I'm sure a lot of other Linux users are the same) can't stand IE. It has its good points, one being the almost perfect offline browsing, but the rest? I can't stand it's boring as hell user interface (where are the tabs, and why no google search from the location bar?), and the way it completely screws up processing web pages. It's also been weighed down by MSN branding recently. However, if you must have IE, you can run it in the latest builds of Wine I've heard. I don't think it's perfect, but it's certainly usable.
Yeah, good viewpoint. Why make things easier and more intuitive when the users could just get off their lazy asses and go study to use the machine!
A few months ago, I would have agreed with this statement. Maybe it's Linux turning me into an elitist or something;) However, really, there is a limit. Computers are hundreds of times more complex than cars, and it takes months to learn how to drive. Some people seem to think that you can continue to make things more and more intuitive and easy until you don't even have to think to operate computers. I'm beginning to think that's wrong. There will always be people who drop off the end, those who can't or won't learn new things.
You can add all the online help you want (and Linux does need better online help), but the idea that somehow if the user can't figure out how to do something it is by definition the developers fault is flawed. Maybe the developer could have made it better - but there is a limit.
Ever tried ctrl-alt-escape in KDE?
Obvious and transparent, no?
Huh? And I guess Ctrl-Alt-Delete to kill processes is more obvious? Having a nice little button to do this would be pointless waste of screen space, this is just something that people will have to learn if they need it.
You'd have thought more of the more popular editors would have it (at least as an option). It's a pretty basic thing to have.
If I understand this right, emacs in text fill mode does it. For editing text, this usually isn't what you want, for writing documents you should be using a word processor. It is possible however.
This sounds a lot like Lindows or Lycoris. The problems is mainly that they are Linux trying to be like Windows, and they are fundamentally different.
Desktop Linux will have reached 1.0 and left it's current beta stage when the big problems have been solved, and the GUI design is at a higher level of sophistication than today. The last thing we want is for Linux to copy all the dumb design decisions in Windows - you can have easy to use without being like Windows.
I propose having an equivalent XML spec for each configuration file.
I was part of the old unixconfig sourceforge project. As part of that, we examined how practical this was. Here were some conclusions:
Using XML for configuration does not gain us much. Although it'd be possible to use one parser, instead of having a different parser for each app, the large size and complexity of an XML parser cancels out this gain. Also, XML is a general purpose document language. It was designed for documents, not data, remember that and as a result the XML representation of a data structure is almost invariable far larger and more complex than a custom designed on.
Using XML for configuration files would make processing such files from certain types of program (ie shell scripts etc) much harder, as they cannot be processed using simple tools.
There are many programs, big programs, that will never switch their configuration system. Apache for instance doesn't have a single configuration object, instead code of it is littered about the various modules. Unifying it all would be a huge task.
The essential problem of using text based configuration - which is that they can be hard to understand for humans, applies also to XML. As almost all unix config files support comments, they are just as "self-describing" as XML
Storing things in a big database registry style is a really really bad idea. It gets easily corrupted (filing systems have far better integrity these days than most database systems), and is hard to edit. Also, storing things in the filing system is sound OS design, as you can integrate namespaces.
In short, it turned out that after some analysis, the current system is not in fact as bad as some people think. It's similar to X in a way, everybody bitches about it, but actually designing something better is incredibly hard.
The essential problems with Linux configuration is that it is often too hard for the user to manage. This has everything to do with GUI design and integration (I liked the idea of task based interfaces), and almost nothing to do with the on disk format.
I have to say, this article is basically just a series of things he doesn't like. It'd be better off in bug databases, rather than on slashdot. Having said this, I'm now going to do my own top 5 (10 is too long:)
1) Software management. This has scared off god knows how many people that I've seen. Not being able to easily download and install something from the internet is incredibly lame. And no - new users don't want to use Debian. I myself am working on a solution to this problem (autopackage), expect to see it posted as an open source project in the next few months. The problem basically boils down to two things. Firstly, the fact that Linux distros vary wildly in capabilities and especially file locations. LSB/FHS goes some way towards fixing this problem, but it isn't the entire solution. Secondly, all software managers I've seen rely on having a huge database of everything on your system that is supposed to reflect what's on it - except often it doesn't, if for instance you installed something from the source, or simply copied the program/library from another computer. Autopackage works like autoconf by individually testing your machine for the things a package needs. But enough of that.
2) No object system. Windows has COM/ActiveX, which isn't perfect but it's there. Not sure if MacOS has one, but the culture of code sharing is virtually nonexistant on that platform anyway. Linux has several (KParts/Bonobo/C libraries), but none of them are good enough, and none of them are ubiquitous.
3) Scattered configuration. Despite what this guy says, it is possible with a decent distro to configure almost everything from a GUI. The problem is, these GUIs change. For some things, I can use KControl, for others I must use the GNOME Control Panel, for others I must use YaST (i use suse), and very rarely I must edit text files. The user needs to be able to configure their system from one place. I don't know how this one could be fixed.
4) Good routing for feature requests/bug reports. A lot of the tension and friction I see is because there isn't (yet) a good system for dealing with end user bug reports and feature requests. Up until recently it was easy - 99% of Linux users were also software developers, so they reported bugs to the mailing lists, and wrote the patches themselves. With the increase in non-developer end users, distros need to deal with users requests for them. All too often at the moment, if you need tech support for Linux you must pay huge amounts for it, or use IRC. Needless to say, IRC isn't the most helpful place sometimes. If you want to report a bug, or request a feature, there is a whole load of etiquette you should be aware of, otherwise you'll get flamed. Dealing with users desires is the job of the distros.
5) Windows compatability. Wine is almost there now, but is still imperfect. Once Wine reaches v1, and can run most windows apps, all we'll need is a fully working NTFS driver. Then we're set:)
Oh, finally the point about there being no easy file sharing? It's a dud - in KDE3 you can add a little panel applet which will act as a mini-webserver and integrate with Konqueror. This does however highlight one of his other points - the existance of this panel applet isn't obvious until somebody points it out to you.
# Watch as competing platforms (let's call them Fruit Computers, and Penguindynamics) die under licensing fees becase you refuse to put your royalty-free API on their platforms - To Be Done
This would work, if Linux was owned by anybody. But it isn't, and Linux users don't have much of a history of listening to lawyers where IP law is concerned. The vast majority of drivers for Linux have been reverse engineered. WineX is a complete implementation of the Windows APIs, and DirectX including Direct3D. DVD encryption was cracked largely by Linux users who wanted it available on their platform. An early version of Sorensen has already been cracked, and I'm sure it won't be long before the latest version is too.
If OpenGL dies, that'd really suck, as MS would be left in control of the 3D graphics API. However, there would still be implementations for Linux - maybe not as good, but there's not much that can be done about this.
You know, this story reminds me of another on/. a while ago - open hardware. Some guys were designing a video card and releasing the designs under an open source type license so anybody could manufacture it. I wonder - if OpenGL was killed as an official standard, would it be possible for a new API to be created, relying on cheap no-name manufacturers to cash in on the (growing) market of non-MS machines? With no IP royalties to pay, I can imagine you'd get a good price edge over other cards.
Yes, true about the NT thing - I was measuring from the day "desktop linux" got started, ie 1996 when KDE was founded. Up until then, Linux hadn't really done any work on the desktop. However, I can see that you could be justified in measuring it against NT.
Oh btw, I thought Linux was either started in 1984 (GNU) or 1991 (kernel), but not 1988?
Face it. OS X is by far, and i'm carefuly measuring my words here, the absolute best operating system whether you're a unix geek, a business development drone, an engineer or... my Mom.
Unless you're me, in which case you can barely afford to upgrade your current PC. Or if you, like me, don't like Apple's hardware. Or, if you, like me, don't like Apple's business strategies. Or if you, like me, like virtual desktops.
Will people please quit it with the "Macs are perfect" routine? I've tried them, they're not. It's getting very old, very quickly.
OK, it's been done before but I'll do it again. Major gripes with X and the answers:
It's slow: not any more. Many years ago, all X communication took place via network sockets. This involved lots of unnecessary overhead. So the XFree team implemented the shared memory extension, eliminating the need for network IO. Result? Big speed gain
It's old: so is the Windows GDI, I don't heard anybody complaining about that. X has a great design in fact, the people who tend to state otherwise usually don't know much about
windowing system design
Fonts suck: this is largely because good fonts are difficult to make and cost money. Until recently XFree didn't support TrueType fonts, so you couldn't use the Microsoft ones either (which are very good and available for free). Recently some new (good) fonts were donated to XFree by a font company, I forget the names. This, combined with true antialiasing as seen in the GNOME 2 screenshots (and in KDE too), mean fonts finally look good on a well set up Linux box. It'll take some time for these changes to filter through to all Linux distros, but really, fonts are well on their way to being an ex-problem.
Drivers suck: there's nothing anybody can do about this except reward companies that produce good Linux drivers. My next card will be an nVidia for exactly this reason, I know I'll get max performance from them as the drivers are excellent.
It's not like other systems: in fact, X is quite similar. Let's look at Windows and X. Windows is based on message passing, so is X. Windows is based on repainting damaged areas, so is X. Windows has separate drawing engines and control libraries, so does X - except it's more noticable in X as there are multiple control libraries/widget toolkits. Windows is not network transparent however
It's bloated. Compared to what? I would bet a lot of money the people saying these things have not totalled together the size of X and the size of the Windows GDI, Windows OpenGL, all the different common control DLLs, the window manager DLLs etc.
It can't do transparency. In fact XFree has hardware accelerated alpha blending (assuming the right drivers). What you mean is, apps can't get what's underneath them, preventing stuff like window drop shadows. Keith Packard is working on this as we speak, and will be also an ex-problem in the next few months.
We need something new. A long time ago, X really did suck and was behind the times even then. The talk was of Berlin, and how it'd revolutionise Linux graphics. Except we're still using X, and why? Because when it came to the crunch, the big problems with X were solved, and Berlin never really got off the ground. Linux doesn't need something new. X is just fine, and I challenge anyone who thinks otherwise to give me hard, reasoned statistics, not just idle opinions.
OK, this article is fair and reasonable, and touches on the current weaknesses of Linux. However, he's misisng a fairly fundamental point here:
The fact that it's free, and not controlled by any one individual is it's biggest strength but also it's biggest weakness
The reason people bitch and moan about the fact that at the moment, desktop linux is not 100% perfect is simple: they've never seen this development model before. I can guarantee you, if I'd shown this person an early version of Windows (by comparing timescales, current Linux would be Windows 3.1) he'd barf. Ditto for showing people early betas of Mac OS X. I did in fact see some early betas of OS X and they sucked. Font support wasn't there right. Graphics was SLOW! Ditto with Mozilla, ditto with most software in fact.
People tend to forget that you can see Linux in all stages of its development. There is no period of hidden years with developers scurrying away under NDAs, you see it all the time. Yes, I know SuSE is on version 8, and KDE is on 3, but that's not to imply they are "ready" for anything, only that some people want to see them. Pretend the versions have the word beta in front of them. Happy now? Because that's basically the state of play at the moment.
All the problems he raised will be sorted out, and at the current rate of progress soon:
X: why do people bitch about it so much? I think this guy heard "X is slow dude" and believed it. Seriously, I don't see any serious speed problems with X, maybe this was a problem a few years ago but I wasn't using Linux back then. SHM means communication between the server is basically instant. I would be more impressed if I could see statistics that demonstrate that X is much slower than anything else, not subjective impressions. Fonts are simply a technical issue, they will be fixed in time.
Drivers: I was under the impression that kernel modules were pretty version independant. Of course this point wil always be valid to some extent, because people can and do make their own kernel versions. Anybody can change it enough so that kernel modules no longer work - I can't see how this point is valid as the majority of users need never recompile their kernel (I never have).
Hardware setup: Linux doesn't have a few billion dollars lying around like some other platforms I could mention, and hardware vendors don't play ball. I can't see how this is the fault of Linux per se, it's merely an inevitable result of the fact that Linux is an open (non-proprietary) platform without any resources to buy the stuff, and currently without enough market share to make it worth their while. In time, hardware vendors will start producing drivers.
Software distribution: yep, he's right here. As a side project, I'm working on a solution, as are many other people. This one will be solved in time, and is basically caused by the fact that there is no software management engine powerful enough to deal with the myriad differences between different Linux versions.
Support: in time, this won't be a problem. Besides, has every Windows techie always been smiles and helpfulness? Most windows users rely on technical friends/family for when things go wrong - you have to rely on a stranger if you're unlucky and don't know any other Linux users. Elitists can be a problem, especially on IRC, but as Linux usage goes up, this will recede into the background.
To be honest, with the difficulties Linux has faced, I'm amazed it's here at all. All it's current problems will be solved given time, and at the end, we'll have an open platform that is available to all on equal terms. I think that's a fair reward for not having a tight hierarchy of leaders/dictators writing platforms for profit with everything under their control. I, for one, am not going back.
BFS can do this already. It's the way they implemented mail on BeOS: it was just a bunch of textfiles in a folder, but with attributes for To, From, Date Received, and so forth attached. You could also make a very simple database using that aspect of BeOS, and there were a few custom BeOS webservers designed that took advantage of that fact specifically to allow very simple databases without an engine. Amazingly, OpenBeOS already has a fully working replacement for BFS that has all of the features and seems to match the speed. It's still in alpha, but you should go check it out.
Ah, not quite. BeFS allows for flexible metadata, great, but not quite what I was thinking of here. An object filing system is a bit different to tagging files with metadata, although they can often achieve the same thing in different ways.
Don't get me wrong here, but why? Gecko is designed to be an HTML viewer. Why do you want that as your GUI? I swear, I am not trying to start a flamewar; I honestly don't understand this one.
Don't worry, it's not obvious why until you've played with Mozilla a bit. Gecko is an HTML viewer yes, but it can do a lot more than that. The whole Mozilla front end is written in XML and rendered by Gecko - the menus, toolbars etc are written in a way similar to web pages (styled by css, handled by javascript etc). XML is pretty flexible. Mozilla is written using XUL which is like HTML but for user interfaces, however you can mix and match content types at will. SVG is like Flash in XML and I've already seen some extremely cool demos of what you can do with SVG in Mozilla. Imagine having a user interface with the slickness of Flash (clearly it'd have to be subtle, but you get the picture). Mozilla also supports MathML for embedding mathematics into the document, and I've seen ChemML be transformed into SVG diagrams of chemical formulae.
What Gecko does is give you a set of very generic but powerful tools that let you do very easy but powerful graphics. The only problem is basically speed at the moment.
About Plan-9, yes that has some neat ideas, including integrating everything into the filing system (which is sort of what I meant by the OFS).
The knowledge representation stuff is just meaningless until it "clicks" I've found, check out the semantic web documents at the w3c - the stuff TBL has got planned for the next generation web is simply mind blowing. And that's my whole point: this sort of stuff has to be taken into the design at the beginning, it's not something you can just add later.
One thing I don't think is useful is constantly reinventing the wheel. If I ever was to create my dream platform (what a geek!), I'd use Linux as the base. Writing efficient VM, video drivers etc is a solved problem. It'd really be more a new type of desktop environment: you can base something on Linux without using the Linux development systems or UIs, look at TiVo.
People seem to forget that although BeOS was ultra-great, it was designed under commercial pressures. They had to have a product that worked soon, and that limited them. We can do so much better. Here are some blue sky ideas for my "dream" OS:
Object filing system, so for instance you can have people, and money as objects, and multiple directory hierarchies. I won't go into too much detail here.....
GUI based on Mozillas Gecko - with some optimisation that would be the most kickass graphics engine imaginable
Total network transparency: Linux is pretty good, but imagine having network swap, if you run out of hard disk space, objects that haven't been accessed for a while are swapped out to other computers. Net result: huge amounts of disk space.
Knowledge representation based APIs. Most operating systems use huge data structures passed to functions to control them. Windows is big offender, not sure about Linux (depends on desktop I think). However, the web is heading towards being based on AI knowledge representation systems - the semantic web. If the OS was internally built on logical assertions and RDF-style abstract data structures, it'd be in prime position for ultratight web integration
I mean really, we should not limit ourselves to merely small steps. Linux will do for now, but eventually we will need to move things forward, completely free of the past. Why not?
First of all, Bush has nothing to do with Kyoto. Congress must agree to international treaties, and the Senate voted it down something like 99-0 back during the Clinton administration.
More fool congress. Actually, America was nearly kicked out of Kyoto by the rest of the world, as your diplomats were constantly harrassing the others and making things difficult - ie opposing any attempt to reach a resolution. They said outright in fact, "we're not going to go with this, as it'd damage our economy". Needless to say, that attitude pisses off pretty much everybody who isn't American.
And don't be fooled that Kyoto is the answer. Kyoto is nothing more than an attempt to cripple the US economy to allow other nations to catch up. And it is hidden behind a solution to a "problem" that scientists can even agree exists (global warming).
WTF? What kind of stupid paranoia is that? Last time I checked in fact the dollar was a 1:1 parity with the Euro. We're doing just fine thanks, and this mindless protectionism is just a feeble excuse to not change your ways. America preaches free trade to the rest of the world, but the moment other countries threaten its economic interests, suddenly it's all trade barriers and diplomatic sabotage.
What, the US steel industry is inefficient? That's OK says Bush, we'll just impose huge trade barriers and flood Europe with cheap foreign steel to protect voters in the rust belt. The rest of the world is developing digital TV faster than us? That's ok, we'll just invent our own (inferior) transmission systems to give US manufacturers a boost. But the moment the rest of the world attempts to do something about global warming, suddenly it's us who's attempting economic meddling.
Do you guys realise just how much respect America lost abroad when it pulled out of Kyoto? At least here in England Bush is a laughing stock, most people are of the opinion that he's simply in the pockets of american business. There are people here who HATE his guts because of what happened to Kyoto. It wasn't much, but it was something, and it was sacrificed because American voters didn't want to give up their lifestyle.
Also, one can only download (often GPL'd) software from them if he pays them a fee to access this software.... is that ok too?
In a word - yes. Running package repositories isn't cheap you know, it needs bandwidth and that costs money. In the case of Debian, the FSF pays for it. In the case of SourceForge VA Software pay for it (uh oh). I think it's pretty reasonable for Lindows to ask you to pay for access to a service that costs money to run.
That said, corporations can have different cultures, market ambitions, and methods.
Microsoft culture: knock together a product quick, or buy it in, then force it into the market.
Apple culture: realise they can't make their own product, so take open source code to make it with, then make it look good so people buy it.
Microsoft's market ambitions: As it already owns the computer market, it's ambition is to own other markets (Xbox).
Apple's market ambitions: to own the computing market.
Microsofts methods: leverage illegal monopolies.
Apples methods: make it look good, and try to convince people that really they have completely different aims to Microsoft, until they're in a position to leverage illegal monopolies.
OSX is profoundly more open, free operating system
This is the belief that bugs me so much. OS X is a bit more open than Windows, but it's still mostly closed. Mostly closed isn't good enough. History has shown us what happens when closed platforms take over - we get Windows and Microsoft. There is NO WAY I want to see that happen again, and have no doubt - if everybody bought into Apple which is what you're suggesting, that's exactly what we'd have.
Supporting Apple instead of Microsoft is not the solution, it's just attempting to put off the inevitable. If you don't think long term, then you end up screwed. That is the lesson that history teaches us.
Well if you didn't rewrite all of that software, you wouldn't have OS X would you? And the point is, you can't clone OS X like you can with Linux. Darwin is not OS X, Darwin is yet another UNIX kernel. We already have Linux, the *BSDs - what use is another?
When I say OS X is closed, I'm talking about it as a whole. I don't distinguish between the kernel and everything else, as they are integrated. Yes, you can use Darwin for other projects if you so wish, and that's nice, but it doesn't make OS X open.
OK, you could say, wow Apple ported project X, they're so cool. But look at it from the other side of the fence, Apple are taking open source code because it financially benefits them, not because they have an altruistic desire to help the community. I don't blame them for that, companies HAVE to make a profit, they aren't charities. But don't lose sight of the fact that this is virtually a one way relationship - if it wasn't for the open source community, OS X would still be in early beta if it existed at all. Look at Apples previous attempts to bring their own OS up to date such as Copland.
The fact that they are porting stuff is irrelevant, an artifact of them using their own (proprietary) hardware. They are gaining benefit for this, and the userbase will never know. Believe it or not, the vast majority of Mac users couldn't give a rats ass that their new toy is based on unix, or that Sherlock uses JavaScriptCore which uses KJS. All they care about is the fact that it works, which is how Apple sells Macs. So where do the potential contributors come from? If there are any user contributions at all, they will only benefit Apple, nobody else.
Finally, the facts only point to Apple supporting open source projects if you're using a different definition of "supporting" to me. I don't count "using" as "supporting". I count supporting to mean giving back new code, not just ported to make it work on Mac hardware. And no - Darwin is hardly new code, it's virtually all FreeBSD which the community already had. The small amount of new code Apple has given back hardly equals the amount they've taken, and where they have released major code it's to reinforce their own proprietary technologies like QuickTime.
You have a good point about software management, and one that I'm always banging on about. There are several projects in place to try and fix these issues, but it's a big issue to fix. I'd say a year or so before we start to see an impact.
Until then, the solution is NOT to have a "rootless" box. There's nothing inherantly difficult about switching to root to install software, especially if it's just a cute little dialog box that asks for the root password. The problems from software management come from a lack of standards and decent packaging software - not unix security.
A few things, other than that I think you're right.
Ultimately, tightly knit groups of developers in close contact with the users has a better chance of delivering the goods. Look at BSD or GNU/Linux. They've come so far because of a close knit group. As long as we keep our eye on the ball we will do well. Tackle the issues one at a time and build on the foundation.
Since when is Linux close knit? Actually Linux is made up of lots of small, competing teams that work to provide the best solution. It's hardly close knit.
And here we have a giant struggling with years of accumulated bad practices- more holes than all of the cheeses in Switzerland. Or look at Quartz and Quartz Extreme from Apple. The core group is less than 15 people led by Mike Paquette have developed a graphics subsystem that has not been matched by the 100+ strong DirectX/3d team from MS.
You're comparing two different things. Quartz Extreme is hardly DirectX. QE is an attempt to boost the speed of their otherwise dog-slow graphics engine by using OpenGL. DirectX is a complete set of gaming APIs that deal with everything from graphics (2D and 3D), to sound, network play and joystick control. They are in different leagues.
1) Darwin is not GPL'd. It's under the APSL which is not considered to be a free license by the FSF.
2) I could not write my own version of OS X. Do you really think Darwin is all there is. I'd have to write: Quartz, Aqua, the dock, the finder, Sherlock, a complete implementation of all the Cocoa APIs, all the tools/utilities it comes with it, redo all the artwork etc. I think you get the idea. Do you really think Apple would sit back while I did all this? No, I know for a fact they wouldn't, as people who have made Aqua skins for crying out loud have got letters from the lawyers.
3) Apple has not been supportive of open technologies. They have USED open tech, because they lacked the resources to make their own OS. How many @apple.com addresses are there in the Mozilla bug database? 1. How much has apple contributed to GCC? Only patches to make it work on OS X. What has Apple contributed to the KJS project, which they are now using in the next version of OS X? Only patches to make it work on OS X. Apple are also -far- more lawyer happy than MS, yes, hard to believe but it's true.
Steve Jobs is just like Bill Gates, and no amount of wishy-washy sentimentalism will change that. They are both extremely ambitious and desire power. Don't get confused, Apple is not of any real benefit to the open computing community.
No no no, you don't understand what this problem is at all. The core problem here is caused by the power that Microsoft wields - they can basically dictate the future direction of the computing industry right now. Why? Because they own the platform.
Now answer me this. Why, pray tell, is Apple better than Microsoft? I once had a Mac zealot try and convince me that Apple is "a nice company" and "isn't like Microsoft, they genuinely care". After a quick vomit, I gave said person a quick lesson in economics. Both Apple and Microsoft make platforms, and not just any platforms but closed platforms. Is the Mac open? No, not at all, it's completely closed. Is Windows open? No, not at all. Lockin makes monopolies, and monopolies make money. Lots of money. Apple are a business, and the aim of any business is to make lots of money.
And by the way, before somebody tells me that since OS X is based on UNIX it's now an open platform, please remember that OS X is completely proprietary regardless. Could I write my own version of OS X and sell it to compete with Apple? Nope, I'd guess my ass sued off before you could blink. People can't even make something that even looks vaguely similar to it.
OK, so now let's say we all take your sage advice and buy Macs. Fast forward ten years: oops, we just replaced one dictator (Gates) with another (Jobs). They are both ruthless businessmen, and we're still as locked in as ever. Wow, that's a great solution.
Remember: Microsoft is not inherantly evil - it is simply the product of a market distorted by lockin and lack of standards. Apple isn't the solution. No prizes for guessing what is though.
Surely the best way of getting games onto minority platforms like Linux is to persuade games developers to use cross platform libs like SDL/OpenGL right from day 1. A game written to SDL/OpenGL is much, much easier to port to Linux than if DirectX is used all the way through (which is a big problem with porting).
I think there are enough Linux games players now who would buy a Linux version of the game, but of course only if it comes out at the same time (and is as good) as the Windows version. The problem at the moment I think is that SDL is not up to the capabilities of the DirectX suite, am I right?
Linux with KDE is slower than Windows 98 basically for two reasons. The first is that Linux does more stuff. For instance, it runs various daemons in the background to allow for remote access, it journals filesystem logs, it implements proper crash protection, it has a usable command line with virtual terminals etc. Windows 98 doesn't have these things, so it can be faster.
The second reason is that KDE is written largely in C++, and the Linux C++ linker is inefficient (it is much faster at C). The programs run fine, but they take longer to start up, which is what makes it "feel" slow. Gnome should in theory be faster, but they kill any speed increase they'd otherwise get by having a slower (well, in v1.4) graphics library and by using incredibly heavy things such as CORBA for ipc, and a daemon for configuration etc.
The reason other window managers (not just ancient ones, others such as WindowMaker or E) are faster is because a) they are simpler and b) tend to be written in C
The speed of GTK is improving, though CORBA/ORBit will always be slow on the gnome side imho. The Linux Linker issues with C++ are known about and are being resolved, which will lead to much better performance.
Another problem is that some modern distros are quite bloated. My SuSE 7.3 box loads all sorts of stuff at startup that I don't actually need, but I never got around to switching it off. Combined with the slow start of KDE and the fact it loads after login (which windows does before login), and it begins to feel slow.
Performance is improving, however it's still largely in the hands of the GNU folks and the distro companies.
Now if only we could get NPR to pony up the cash for a few public, all-trance stations:-)
Well, it's not all trance, but you might want to check out BBC Radio 1 on Friday, Saturday and Sunday nights (GMT). They have some of the worlds top DJs playing for them every weekend, like Judge Jools, Pete Tong and Seb Fontaine. I am a regular listener to these shows and they are great - especially Dance Anthems on Sunday.
If they were all very good at doing what they do - that's fine. Sadly, they're not. Whenever I'm in Linux I *always* yearn for IE when I'm browsing, no matter what browser I use. The author's point is that all the current options aren't that amazing, and all have pretty big faults.
Are you serious? I'll assume you are. I personally (and I'm sure a lot of other Linux users are the same) can't stand IE. It has its good points, one being the almost perfect offline browsing, but the rest? I can't stand it's boring as hell user interface (where are the tabs, and why no google search from the location bar?), and the way it completely screws up processing web pages. It's also been weighed down by MSN branding recently. However, if you must have IE, you can run it in the latest builds of Wine I've heard. I don't think it's perfect, but it's certainly usable.
Yeah, good viewpoint. Why make things easier and more intuitive when the users could just get off their lazy asses and go study to use the machine!
A few months ago, I would have agreed with this statement. Maybe it's Linux turning me into an elitist or something ;) However, really, there is a limit. Computers are hundreds of times more complex than cars, and it takes months to learn how to drive. Some people seem to think that you can continue to make things more and more intuitive and easy until you don't even have to think to operate computers. I'm beginning to think that's wrong. There will always be people who drop off the end, those who can't or won't learn new things.
You can add all the online help you want (and Linux does need better online help), but the idea that somehow if the user can't figure out how to do something it is by definition the developers fault is flawed. Maybe the developer could have made it better - but there is a limit.
Ever tried ctrl-alt-escape in KDE? Obvious and transparent, no?
Huh? And I guess Ctrl-Alt-Delete to kill processes is more obvious? Having a nice little button to do this would be pointless waste of screen space, this is just something that people will have to learn if they need it.
You'd have thought more of the more popular editors would have it (at least as an option). It's a pretty basic thing to have.
If I understand this right, emacs in text fill mode does it. For editing text, this usually isn't what you want, for writing documents you should be using a word processor. It is possible however.
Desktop Linux will have reached 1.0 and left it's current beta stage when the big problems have been solved, and the GUI design is at a higher level of sophistication than today. The last thing we want is for Linux to copy all the dumb design decisions in Windows - you can have easy to use without being like Windows.
I was part of the old unixconfig sourceforge project. As part of that, we examined how practical this was. Here were some conclusions:
In short, it turned out that after some analysis, the current system is not in fact as bad as some people think. It's similar to X in a way, everybody bitches about it, but actually designing something better is incredibly hard.
The essential problems with Linux configuration is that it is often too hard for the user to manage. This has everything to do with GUI design and integration (I liked the idea of task based interfaces), and almost nothing to do with the on disk format.
1) Software management. This has scared off god knows how many people that I've seen. Not being able to easily download and install something from the internet is incredibly lame. And no - new users don't want to use Debian. I myself am working on a solution to this problem (autopackage), expect to see it posted as an open source project in the next few months. The problem basically boils down to two things. Firstly, the fact that Linux distros vary wildly in capabilities and especially file locations. LSB/FHS goes some way towards fixing this problem, but it isn't the entire solution. Secondly, all software managers I've seen rely on having a huge database of everything on your system that is supposed to reflect what's on it - except often it doesn't, if for instance you installed something from the source, or simply copied the program/library from another computer. Autopackage works like autoconf by individually testing your machine for the things a package needs. But enough of that.
2) No object system. Windows has COM/ActiveX, which isn't perfect but it's there. Not sure if MacOS has one, but the culture of code sharing is virtually nonexistant on that platform anyway. Linux has several (KParts/Bonobo/C libraries), but none of them are good enough, and none of them are ubiquitous.
3) Scattered configuration. Despite what this guy says, it is possible with a decent distro to configure almost everything from a GUI. The problem is, these GUIs change. For some things, I can use KControl, for others I must use the GNOME Control Panel, for others I must use YaST (i use suse), and very rarely I must edit text files. The user needs to be able to configure their system from one place. I don't know how this one could be fixed.
4) Good routing for feature requests/bug reports. A lot of the tension and friction I see is because there isn't (yet) a good system for dealing with end user bug reports and feature requests. Up until recently it was easy - 99% of Linux users were also software developers, so they reported bugs to the mailing lists, and wrote the patches themselves. With the increase in non-developer end users, distros need to deal with users requests for them. All too often at the moment, if you need tech support for Linux you must pay huge amounts for it, or use IRC. Needless to say, IRC isn't the most helpful place sometimes. If you want to report a bug, or request a feature, there is a whole load of etiquette you should be aware of, otherwise you'll get flamed. Dealing with users desires is the job of the distros.
5) Windows compatability. Wine is almost there now, but is still imperfect. Once Wine reaches v1, and can run most windows apps, all we'll need is a fully working NTFS driver. Then we're set :)
Oh, finally the point about there being no easy file sharing? It's a dud - in KDE3 you can add a little panel applet which will act as a mini-webserver and integrate with Konqueror. This does however highlight one of his other points - the existance of this panel applet isn't obvious until somebody points it out to you.
This would work, if Linux was owned by anybody. But it isn't, and Linux users don't have much of a history of listening to lawyers where IP law is concerned. The vast majority of drivers for Linux have been reverse engineered. WineX is a complete implementation of the Windows APIs, and DirectX including Direct3D. DVD encryption was cracked largely by Linux users who wanted it available on their platform. An early version of Sorensen has already been cracked, and I'm sure it won't be long before the latest version is too.
If OpenGL dies, that'd really suck, as MS would be left in control of the 3D graphics API. However, there would still be implementations for Linux - maybe not as good, but there's not much that can be done about this.
You know, this story reminds me of another on /. a while ago - open hardware. Some guys were designing a video card and releasing the designs under an open source type license so anybody could manufacture it. I wonder - if OpenGL was killed as an official standard, would it be possible for a new API to be created, relying on cheap no-name manufacturers to cash in on the (growing) market of non-MS machines? With no IP royalties to pay, I can imagine you'd get a good price edge over other cards.
Oh btw, I thought Linux was either started in 1984 (GNU) or 1991 (kernel), but not 1988?
Unless you're me, in which case you can barely afford to upgrade your current PC. Or if you, like me, don't like Apple's hardware. Or, if you, like me, don't like Apple's business strategies. Or if you, like me, like virtual desktops.
Will people please quit it with the "Macs are perfect" routine? I've tried them, they're not. It's getting very old, very quickly.
The fact that it's free, and not controlled by any one individual is it's biggest strength but also it's biggest weakness
The reason people bitch and moan about the fact that at the moment, desktop linux is not 100% perfect is simple: they've never seen this development model before. I can guarantee you, if I'd shown this person an early version of Windows (by comparing timescales, current Linux would be Windows 3.1) he'd barf. Ditto for showing people early betas of Mac OS X. I did in fact see some early betas of OS X and they sucked. Font support wasn't there right. Graphics was SLOW! Ditto with Mozilla, ditto with most software in fact.
People tend to forget that you can see Linux in all stages of its development. There is no period of hidden years with developers scurrying away under NDAs, you see it all the time. Yes, I know SuSE is on version 8, and KDE is on 3, but that's not to imply they are "ready" for anything, only that some people want to see them. Pretend the versions have the word beta in front of them. Happy now? Because that's basically the state of play at the moment.
All the problems he raised will be sorted out, and at the current rate of progress soon:
- X: why do people bitch about it so much? I think this guy heard "X is slow dude" and believed it. Seriously, I don't see any serious speed problems with X, maybe this was a problem a few years ago but I wasn't using Linux back then. SHM means communication between the server is basically instant. I would be more impressed if I could see statistics that demonstrate that X is much slower than anything else, not subjective impressions. Fonts are simply a technical issue, they will be fixed in time.
- Drivers: I was under the impression that kernel modules were pretty version independant. Of course this point wil always be valid to some extent, because people can and do make their own kernel versions. Anybody can change it enough so that kernel modules no longer work - I can't see how this point is valid as the majority of users need never recompile their kernel (I never have).
- Hardware setup: Linux doesn't have a few billion dollars lying around like some other platforms I could mention, and hardware vendors don't play ball. I can't see how this is the fault of Linux per se, it's merely an inevitable result of the fact that Linux is an open (non-proprietary) platform without any resources to buy the stuff, and currently without enough market share to make it worth their while. In time, hardware vendors will start producing drivers.
- Software distribution: yep, he's right here. As a side project, I'm working on a solution, as are many other people. This one will be solved in time, and is basically caused by the fact that there is no software management engine powerful enough to deal with the myriad differences between different Linux versions.
- Support: in time, this won't be a problem. Besides, has every Windows techie always been smiles and helpfulness? Most windows users rely on technical friends/family for when things go wrong - you have to rely on a stranger if you're unlucky and don't know any other Linux users. Elitists can be a problem, especially on IRC, but as Linux usage goes up, this will recede into the background.
To be honest, with the difficulties Linux has faced, I'm amazed it's here at all. All it's current problems will be solved given time, and at the end, we'll have an open platform that is available to all on equal terms. I think that's a fair reward for not having a tight hierarchy of leaders/dictators writing platforms for profit with everything under their control. I, for one, am not going back.Strange, in SuSE you just run the fetchmsfonts program and they're automatically installed. I've had no problems since then.
Ah, not quite. BeFS allows for flexible metadata, great, but not quite what I was thinking of here. An object filing system is a bit different to tagging files with metadata, although they can often achieve the same thing in different ways.
Don't get me wrong here, but why? Gecko is designed to be an HTML viewer. Why do you want that as your GUI? I swear, I am not trying to start a flamewar; I honestly don't understand this one.
Don't worry, it's not obvious why until you've played with Mozilla a bit. Gecko is an HTML viewer yes, but it can do a lot more than that. The whole Mozilla front end is written in XML and rendered by Gecko - the menus, toolbars etc are written in a way similar to web pages (styled by css, handled by javascript etc). XML is pretty flexible. Mozilla is written using XUL which is like HTML but for user interfaces, however you can mix and match content types at will. SVG is like Flash in XML and I've already seen some extremely cool demos of what you can do with SVG in Mozilla. Imagine having a user interface with the slickness of Flash (clearly it'd have to be subtle, but you get the picture). Mozilla also supports MathML for embedding mathematics into the document, and I've seen ChemML be transformed into SVG diagrams of chemical formulae.
What Gecko does is give you a set of very generic but powerful tools that let you do very easy but powerful graphics. The only problem is basically speed at the moment.
About Plan-9, yes that has some neat ideas, including integrating everything into the filing system (which is sort of what I meant by the OFS).
The knowledge representation stuff is just meaningless until it "clicks" I've found, check out the semantic web documents at the w3c - the stuff TBL has got planned for the next generation web is simply mind blowing. And that's my whole point: this sort of stuff has to be taken into the design at the beginning, it's not something you can just add later.
One thing I don't think is useful is constantly reinventing the wheel. If I ever was to create my dream platform (what a geek!), I'd use Linux as the base. Writing efficient VM, video drivers etc is a solved problem. It'd really be more a new type of desktop environment: you can base something on Linux without using the Linux development systems or UIs, look at TiVo.
People seem to forget that although BeOS was ultra-great, it was designed under commercial pressures. They had to have a product that worked soon, and that limited them. We can do so much better. Here are some blue sky ideas for my "dream" OS:
I mean really, we should not limit ourselves to merely small steps. Linux will do for now, but eventually we will need to move things forward, completely free of the past. Why not?
More fool congress. Actually, America was nearly kicked out of Kyoto by the rest of the world, as your diplomats were constantly harrassing the others and making things difficult - ie opposing any attempt to reach a resolution. They said outright in fact, "we're not going to go with this, as it'd damage our economy". Needless to say, that attitude pisses off pretty much everybody who isn't American.
And don't be fooled that Kyoto is the answer. Kyoto is nothing more than an attempt to cripple the US economy to allow other nations to catch up. And it is hidden behind a solution to a "problem" that scientists can even agree exists (global warming).
WTF? What kind of stupid paranoia is that? Last time I checked in fact the dollar was a 1:1 parity with the Euro. We're doing just fine thanks, and this mindless protectionism is just a feeble excuse to not change your ways. America preaches free trade to the rest of the world, but the moment other countries threaten its economic interests, suddenly it's all trade barriers and diplomatic sabotage.
What, the US steel industry is inefficient? That's OK says Bush, we'll just impose huge trade barriers and flood Europe with cheap foreign steel to protect voters in the rust belt. The rest of the world is developing digital TV faster than us? That's ok, we'll just invent our own (inferior) transmission systems to give US manufacturers a boost. But the moment the rest of the world attempts to do something about global warming, suddenly it's us who's attempting economic meddling.
Do you guys realise just how much respect America lost abroad when it pulled out of Kyoto? At least here in England Bush is a laughing stock, most people are of the opinion that he's simply in the pockets of american business. There are people here who HATE his guts because of what happened to Kyoto. It wasn't much, but it was something, and it was sacrificed because American voters didn't want to give up their lifestyle.
Who cares about Halo - what I want to play is XBill on an XBox. Now that would be hilarious, especially if you were to demonstrate one at LinuxWorld :)
In a word - yes. Running package repositories isn't cheap you know, it needs bandwidth and that costs money. In the case of Debian, the FSF pays for it. In the case of SourceForge VA Software pay for it (uh oh). I think it's pretty reasonable for Lindows to ask you to pay for access to a service that costs money to run.
Microsoft culture: knock together a product quick, or buy it in, then force it into the market.
Apple culture: realise they can't make their own product, so take open source code to make it with, then make it look good so people buy it.
Microsoft's market ambitions: As it already owns the computer market, it's ambition is to own other markets (Xbox).
Apple's market ambitions: to own the computing market.
Microsofts methods: leverage illegal monopolies.
Apples methods: make it look good, and try to convince people that really they have completely different aims to Microsoft, until they're in a position to leverage illegal monopolies.
OSX is profoundly more open, free operating system
This is the belief that bugs me so much. OS X is a bit more open than Windows, but it's still mostly closed. Mostly closed isn't good enough. History has shown us what happens when closed platforms take over - we get Windows and Microsoft. There is NO WAY I want to see that happen again, and have no doubt - if everybody bought into Apple which is what you're suggesting, that's exactly what we'd have.
Supporting Apple instead of Microsoft is not the solution, it's just attempting to put off the inevitable. If you don't think long term, then you end up screwed. That is the lesson that history teaches us.
When I say OS X is closed, I'm talking about it as a whole. I don't distinguish between the kernel and everything else, as they are integrated. Yes, you can use Darwin for other projects if you so wish, and that's nice, but it doesn't make OS X open.
OK, you could say, wow Apple ported project X, they're so cool. But look at it from the other side of the fence, Apple are taking open source code because it financially benefits them, not because they have an altruistic desire to help the community. I don't blame them for that, companies HAVE to make a profit, they aren't charities. But don't lose sight of the fact that this is virtually a one way relationship - if it wasn't for the open source community, OS X would still be in early beta if it existed at all. Look at Apples previous attempts to bring their own OS up to date such as Copland.
The fact that they are porting stuff is irrelevant, an artifact of them using their own (proprietary) hardware. They are gaining benefit for this, and the userbase will never know. Believe it or not, the vast majority of Mac users couldn't give a rats ass that their new toy is based on unix, or that Sherlock uses JavaScriptCore which uses KJS. All they care about is the fact that it works, which is how Apple sells Macs. So where do the potential contributors come from? If there are any user contributions at all, they will only benefit Apple, nobody else.
Finally, the facts only point to Apple supporting open source projects if you're using a different definition of "supporting" to me. I don't count "using" as "supporting". I count supporting to mean giving back new code, not just ported to make it work on Mac hardware. And no - Darwin is hardly new code, it's virtually all FreeBSD which the community already had. The small amount of new code Apple has given back hardly equals the amount they've taken, and where they have released major code it's to reinforce their own proprietary technologies like QuickTime.
Until then, the solution is NOT to have a "rootless" box. There's nothing inherantly difficult about switching to root to install software, especially if it's just a cute little dialog box that asks for the root password. The problems from software management come from a lack of standards and decent packaging software - not unix security.
Ultimately, tightly knit groups of developers in close contact with the users has a better chance of delivering the goods. Look at BSD or GNU/Linux. They've come so far because of a close knit group. As long as we keep our eye on the ball we will do well. Tackle the issues one at a time and build on the foundation.
Since when is Linux close knit? Actually Linux is made up of lots of small, competing teams that work to provide the best solution. It's hardly close knit.
And here we have a giant struggling with years of accumulated bad practices- more holes than all of the cheeses in Switzerland. Or look at Quartz and Quartz Extreme from Apple. The core group is less than 15 people led by Mike Paquette have developed a graphics subsystem that has not been matched by the 100+ strong DirectX/3d team from MS.
You're comparing two different things. Quartz Extreme is hardly DirectX. QE is an attempt to boost the speed of their otherwise dog-slow graphics engine by using OpenGL. DirectX is a complete set of gaming APIs that deal with everything from graphics (2D and 3D), to sound, network play and joystick control. They are in different leagues.
1) Darwin is not GPL'd. It's under the APSL which is not considered to be a free license by the FSF.
2) I could not write my own version of OS X. Do you really think Darwin is all there is. I'd have to write: Quartz, Aqua, the dock, the finder, Sherlock, a complete implementation of all the Cocoa APIs, all the tools/utilities it comes with it, redo all the artwork etc. I think you get the idea. Do you really think Apple would sit back while I did all this? No, I know for a fact they wouldn't, as people who have made Aqua skins for crying out loud have got letters from the lawyers.
3) Apple has not been supportive of open technologies. They have USED open tech, because they lacked the resources to make their own OS. How many @apple.com addresses are there in the Mozilla bug database? 1. How much has apple contributed to GCC? Only patches to make it work on OS X. What has Apple contributed to the KJS project, which they are now using in the next version of OS X? Only patches to make it work on OS X. Apple are also -far- more lawyer happy than MS, yes, hard to believe but it's true.
Steve Jobs is just like Bill Gates, and no amount of wishy-washy sentimentalism will change that. They are both extremely ambitious and desire power. Don't get confused, Apple is not of any real benefit to the open computing community.
Now answer me this. Why, pray tell, is Apple better than Microsoft? I once had a Mac zealot try and convince me that Apple is "a nice company" and "isn't like Microsoft, they genuinely care". After a quick vomit, I gave said person a quick lesson in economics. Both Apple and Microsoft make platforms, and not just any platforms but closed platforms. Is the Mac open? No, not at all, it's completely closed. Is Windows open? No, not at all. Lockin makes monopolies, and monopolies make money. Lots of money. Apple are a business, and the aim of any business is to make lots of money.
And by the way, before somebody tells me that since OS X is based on UNIX it's now an open platform, please remember that OS X is completely proprietary regardless. Could I write my own version of OS X and sell it to compete with Apple? Nope, I'd guess my ass sued off before you could blink. People can't even make something that even looks vaguely similar to it.
OK, so now let's say we all take your sage advice and buy Macs. Fast forward ten years: oops, we just replaced one dictator (Gates) with another (Jobs). They are both ruthless businessmen, and we're still as locked in as ever. Wow, that's a great solution.
Remember: Microsoft is not inherantly evil - it is simply the product of a market distorted by lockin and lack of standards. Apple isn't the solution. No prizes for guessing what is though.
I think there are enough Linux games players now who would buy a Linux version of the game, but of course only if it comes out at the same time (and is as good) as the Windows version. The problem at the moment I think is that SDL is not up to the capabilities of the DirectX suite, am I right?
Linux with KDE is slower than Windows 98 basically for two reasons. The first is that Linux does more stuff. For instance, it runs various daemons in the background to allow for remote access, it journals filesystem logs, it implements proper crash protection, it has a usable command line with virtual terminals etc. Windows 98 doesn't have these things, so it can be faster.
The second reason is that KDE is written largely in C++, and the Linux C++ linker is inefficient (it is much faster at C). The programs run fine, but they take longer to start up, which is what makes it "feel" slow. Gnome should in theory be faster, but they kill any speed increase they'd otherwise get by having a slower (well, in v1.4) graphics library and by using incredibly heavy things such as CORBA for ipc, and a daemon for configuration etc.
The reason other window managers (not just ancient ones, others such as WindowMaker or E) are faster is because a) they are simpler and b) tend to be written in C
The speed of GTK is improving, though CORBA/ORBit will always be slow on the gnome side imho. The Linux Linker issues with C++ are known about and are being resolved, which will lead to much better performance.
Another problem is that some modern distros are quite bloated. My SuSE 7.3 box loads all sorts of stuff at startup that I don't actually need, but I never got around to switching it off. Combined with the slow start of KDE and the fact it loads after login (which windows does before login), and it begins to feel slow.
Performance is improving, however it's still largely in the hands of the GNU folks and the distro companies.
thanks -mike
Well, it's not all trance, but you might want to check out BBC Radio 1 on Friday, Saturday and Sunday nights (GMT). They have some of the worlds top DJs playing for them every weekend, like Judge Jools, Pete Tong and Seb Fontaine. I am a regular listener to these shows and they are great - especially Dance Anthems on Sunday.