Most hardware is useless in a few years anyway, so what good is having the source? Compare that to the OS, where it can live on for decades.
The exact opposite is true. The hardware is going to live on for a very long time, while the kernel is going to change rather quickly.
Let's say you buy a SnafuCard.v2 today in August 2004. In five years which do you think will be more likely: the SnafuCard.v2 driver for Linux 3.2 will be available on the Snafu website even though they have not sold that card in four years; or; Linux 3.2 will have a source based driver for the SnafuCard.v2 that has been continuously updated along with the kernel? While the later isn't guaranteed, I think it's much more likely than the former.
The hardware is hardware. It's a material item whose characteristics will not change unless it corrodes or you break it. But the kernel is an ever changing dynamic collection of software. It WILL change. Unless you plan to be running Linux 2.6 five years from now, you had better not rely on today's binary-only driver.
p.s. There are reasons for Linux to allow binary drivers, but hardware obsolescence is not one of them.
No one knows, because there are umpteen different chipsets used in the DWL650 line. Early DWL650+ units had a prism2 chips, but later ones do not.
D-Link as the prime adherent of the business practice known as "reusing model numbers to confuse the customer". You have carefully examine the serial number to know for sure just what particular card you have. I had three DWL650 cards a month ago that had identical boxes, identical labels, and identical prices, but with three different chipsets. The only indication of the differences was a single letter on the serial number sticker.
Netgear isn't much better, though they do have the civility to mark the version number on the box. Of course, they still won't tell you what version number you'll get if you order online...
I've given up on wifi and am boycotting the entire technology until the manufacturers stop screwing over the customer. Even Windows users should be outraged, because they can't updgrade their drivers or firmware, because they will not know exactly what card they have.
But be honest, you weren't really surprised that someone asserted it? If the internet really does meltdown tomorrow, I predict that Byrd will accuse Bush of this very thing on the senate floor, and no one will laugh at the absurdity of it.
but the process isn't too hard: { SET labelname "Label Text" } and then ref it using { REF labelname }. I use "\* MERGEFORMAT" as my switches.
Have you ever used FrameMaker? The Unix version, not the Windows version, which I have no experience with. Despite its lack of a HIG-compliant GUI, it makes your procedure look like black magic in comparison.
It doesn't matter that the "contract" of a EULA takes away your rights, and the "contract" of the GPL gives you some rights. The main point is that they're both in the form of a contract. It doesn't matter how many freedoms the GPL gives me, if I have to agree to it before receiving them then it is taking the form of a contract.
Don't mistake my arguments as being pro-EULA and anti-GPL. I am doing nothing of the sort. I am merely trying to correct a commmon misconception.
I'm an "average user" when it comes to Word. I have to use it to write documentation at work. Prior to Word I was using Adobe FrameMaker. One place where FrameMaker kicks Word's (and OpenOffice's) butt is with fields and variables. Say you want to change the version number of the document. Ideally you should change it in one place, and every other reference to it changes automatically.
Word can do this, but it does it in the most braindead way I've ever seen. It's almost like this is so rare they never bothered making a halfway usuable interface for it. And it's as buggy as hell to boot. Update all fields on the page and you still have to update the fields on the headers and footers separately.
That's just one feature. I'm still learning how to productively use Word after two months, when it only took me a week to learn FrameMaker. The funny thing is that it was FrameMaker under Solaris, which has one of the worst interfaces ever. Yet it was easier to learn than Word. Go figure.
I hate to break the news to you, but it's pretty easy to tell English-as-second-languge folks who use Word's grammar checker. You come off sounding like Bill Buckley on LSD. Really.
Firstly, the GPL is not a EULA. There is nothing in it which restricts usage.
A contract is not limited to mere usage. I claim that EULAs and the GPL are similar in that they both require acceptance of the license before the permission specified within are granted. It is their legal form which is similar, and not their particular enumeration of rights and non-rights.
there is no mutual agreement entered into between the parties beforehand
I agree. I personally do not believe that EULAs are bona fide contracts. Neither do I think the GPL is a contract. I stated this earlier, if you forgot. However, the form of the GPL is that of a contract. My only assertion is that *if* a EULA is a contract, *then* so is the GPL, on the basis that they use identical mechanisms to grant/impose rights and restrictions upon the user.
Other way around: the GPL GIVES YOU RIGHTS that you wouldn't otherwise have
But according to the GPL, you MUST agree to the license before getting them. To quote: "These actions are prohibited by law if you do not accept this License." This is far more than the mere granting of permission.
Sidenote: there's also some small dispute as to certain pre-existing rights that are taken away under the FSF's interpretation of the GPL. Namely, the FSF asserts that certain classes of run-time linkage are indicative of derivation, even though copyright law says nothing to afirm this. Also the next version of the GPL will probably contain restrictions on usage to close the "web application" loophole.
Heh - thanks for the coffee out the nose.
The apology is necessary, but not sufficient. I should have added, "...and correct your non-compliance." After SCO corrects their non-compliance and apologizes to the licensors, then they'll get their rights back.
But I was referring to Richard Stallman's remarks regarding Trolltech's placement of Qt under the GPL. Most KDE developers had coffee shooting out their noses as well when the heard his statements that day. His later clarifications made it clear that he believes a formal apology is necessary to regain any lost rights under the GPL.
In case you need reminding, the RMS forgiveness statement can be found at Linux Today.
Brook's article came at a time long after the switch from assembly to higher level languages. He was arguing that there were no more silver bullets, and was not denying that any had come before in history. In fact there were several that had already occurred, and the industry was expecting that others would arrive.
It doesn't really matter whether a two- to four-fold improvment is an order of magnitude are merely "incremental". Regardless of measurement, such an improvement would have been one of the most momentous improvements in the last decade. But development houses using C/C++ are just as productive as those using Java or C#.
In certain domains, Java will of course be the more productive language. But in others it will fall flat on its face. I'm *still* waiting after a decade for the Java office suite. I'm still waiting for the all-Java operating system. Heck, I'm still waiting for an all-Java desktop, because the one that has Java in its name certainly isn't it!
Java has found several niches, and large ones at that, but it still hasn't proven itself as a general purpose language. This isn't a put down of the language, just a statement of what I see in the world. Java's proponents have simply been too optimistic.
Instead, we have millions of C++ programmers trying to be productive with MFC
That is an indictment of MFC, not of C++. That's the equivalent of saying C sucks because no one is productive in Motif. I will agree with you that MFC sucks big green donkey balls, and will join you in a parade holding a banner so. But that says nothing about C++.
When I use C++ I don't have to use templates. I don't have to use exceptions. I don't have to use operator overloading (and I agree that iostreams weird overloading is confusing). But that's not an indictment of the language, only an observation that it's an extremely rich language with a few potholes for the unwary.
While I still have problems believing a quadrupling of productivity by switching from C++ to Java, it's quite easy for me to believe it switching from MFC to any sensible framework.
If the typical EULA is a contract, then so is the GPL, for both operate under the same mechanism: the requirement to agree to the license before gaining any rights or permissions.
The GPL is also like the typical EULA, in that you can LOSE YOUR RIGHTS if you do not follow the specified conditions and restrictions. According to RMS, you lose your rights until such a time as you formally apologize.
I agree with the grandparent. If you read only Slashdot you would think that the sole purpose of Linux is to get rid of Windows. This article is a case in point. Instead of being satisfied with a positive story about Linux, the blurbist had to kick Windows in the nuts in the very same sentence.
While it isn't a contract in my opinion, it should be noted that the GPL itself certainly attempts to be one, in that it demands you "accept" it before gaining any of the permissions. Heck, it even explicitly states the mode of assent: distribution.
But I hardly think that my saying there is a 2-4x improvement over C/C++ equates to Brooks' hypothetical "silver bullet".
Yes it does. His term of "order-of-magnitude". A 200% to 400% improvement certainly counts as that. Perhaps Mr. Brooks is unaware of Java. Perhaps you should point it out to him, so he can issue a retraction to his article.
Do you sense a bit of sarcasm above? Good, that was intended. Anyone who claims a 200% to 400% increase in productivity by switching to the Java language from C/C++ has some serious reality problems. I'm not talking niche projects, but normal mainstream generic programming projects.
Hey Fred! I tried out Gentoo like you told me to, but I still can't see any difference between it and Fedora Core 2. Both identical right down to that green lizard logo.
One of the things that was obvious right away is that minimizing the number of things the programmer can do wrong causes a significant jump in the effective productivity of the programmer.
While your use of the word "significant" is a far cry from "order-of-magnitude", you're still expecting something more than an "incremental" improvement. Java *PLUS* other stuff might get you significant improvments in productivity, but Java alone will not.
the best programmers tend to sit on the bleeding edge
Huh? While it's true that the "coolest" programmers use the bleeding edge languages, I do not see the best programmers doing the same. The two best programmers I know use assembly, C and C++. One of them is really excited about C#/.NET, but to be honest he gets really excited about any free CD arriving in the mail. He still programs in C though.
Of course, there is a correlation between the youthfulness and productivity of programmers. Older programmers get burnt out or move up to non-coding roles, and newbie programmers tend to explore the bleeding edge. Thus you are likely to find more cool, hip twenty-something programmers working sixteen hours a day in C#, than old, square, been-there-done-that progammers writing C for eight hours before going home to phone the grandkids. That doesn't mean the kids are better programmers though.
This is a Bad Idea(tm). The notion that keyboards must be OS specific is silly when you think about it. Sure, Redmond and Cupertino promote it, but that doesn't mean it's right.
Platform specific keyboards (Solaris, Mac) might make some sense, but multiple PC-x86 keyboards is loopy. Do I need two keyboards if I dual-boot? Three if I triple-boot? Will there be different Wyse terminals depending on which system you wish to connect to?
Just dump the OS logo and replace it with a generic menu key.
While there are some exceptions, the real world of commercial software development doesn't let the lowly software developer decide on the language. While the developer can lobby for a particular language, ultimately it's a manager (or system architect) who makes that decision.
This is a Good Thing(tm). You want a system that is maintainable. You're not going to get this if two dozen developers each use their pet language du'jour. When you have Java, C#, C++, Python and Ruby advocates all working on the same project, you don't want them deciding what language their individual components will use. That way leads to chaos. Even if the framework allows it, such as.NET, it's still chaos.
If you think you have enough discipline to avoid this, you may be right. But you will be wrong if you think your coworker's do as well.
Unless you have *synchronous* atomic commits, you'll still lose data on power loss. And while I think a synchronous atomic filesystem would appeal to a bank, most end users want something a little quicker than frozen molasses.
The "cloning" doesn't cause confusion, since anyone who has half a working retina can see the differences between KDE, GNOME and Windows.
What is it about KDE and GNOME that makes you think they're so horribly confusable with Windows? Do you want us to remove the close buttons on the title bar, or even the title bar itself? Shove the panels on the left or the right instead of the top or the bottom? Get rid of menus and toolbars? Use a Cambell's Soup color scheme instead of Fisher-Price toys or Aquafresh toothpaste?
No one's bitching about GNOME's button ordering. What they are complaining about is GNOME's attitude towards everyone else's button order. They suddenly decide to behave differently than everyone else, and then accuse everyone else of being wrong.
As another post said, button order is like what side of the road you drive on. It doesn't matter which side it is, so long as everyone agrees to it. But GNOME suddenly decided to go drive on the left side of the road, angrily honking at everyone else as if they were to blame for all the accidents.
In the rural area where I was born and raised, the trend was to vote Democrat for local offices and state legislature and Republican for state governor and national offices.
KDE and GNOME are not clones of Windows. While there are similarities, that's to be expected because form follows function, and all the destkops have similar functions. They all need a root menu of some kind, because that's easier than rooting around a folder full of several hundred app launcher icons. So Windows has "start", GNOME has a foot and KDE has a K. Windowmaker, XFCE and Enlightenment also have root menus!
They all have a taskbar/panel of some kind, because they combine two commonly used features (task lists and quick launches) into one convenient area. Heck, even Windowmaker, XFCE and Enlightenment have those. Ditto for them all having windows with minimize/maximize/close buttons.
About the only major difference (other than themes) for the desktops are that OSX and GNUstep like to detatch the application menu from the application.
In short, complaining that KDE and GNOME look like Windows is as silly as complaining that the Honda Civic looks like the Mitsubishi Montero, just because they both have four wheels, a steering wheel, automatic transmission, passenger side windows, glove box, radio, seatbelts, etc. I mean sheesh! When is someone going to come up with an original idea and make a car without seatbelts!
Most hardware is useless in a few years anyway, so what good is having the source? Compare that to the OS, where it can live on for decades.
The exact opposite is true. The hardware is going to live on for a very long time, while the kernel is going to change rather quickly.
Let's say you buy a SnafuCard.v2 today in August 2004. In five years which do you think will be more likely: the SnafuCard.v2 driver for Linux 3.2 will be available on the Snafu website even though they have not sold that card in four years; or; Linux 3.2 will have a source based driver for the SnafuCard.v2 that has been continuously updated along with the kernel? While the later isn't guaranteed, I think it's much more likely than the former.
The hardware is hardware. It's a material item whose characteristics will not change unless it corrodes or you break it. But the kernel is an ever changing dynamic collection of software. It WILL change. Unless you plan to be running Linux 2.6 five years from now, you had better not rely on today's binary-only driver.
p.s. There are reasons for Linux to allow binary drivers, but hardware obsolescence is not one of them.
No one knows, because there are umpteen different chipsets used in the DWL650 line. Early DWL650+ units had a prism2 chips, but later ones do not.
D-Link as the prime adherent of the business practice known as "reusing model numbers to confuse the customer". You have carefully examine the serial number to know for sure just what particular card you have. I had three DWL650 cards a month ago that had identical boxes, identical labels, and identical prices, but with three different chipsets. The only indication of the differences was a single letter on the serial number sticker.
Netgear isn't much better, though they do have the civility to mark the version number on the box. Of course, they still won't tell you what version number you'll get if you order online...
I've given up on wifi and am boycotting the entire technology until the manufacturers stop screwing over the customer. Even Windows users should be outraged, because they can't updgrade their drivers or firmware, because they will not know exactly what card they have.
But be honest, you weren't really surprised that someone asserted it? If the internet really does meltdown tomorrow, I predict that Byrd will accuse Bush of this very thing on the senate floor, and no one will laugh at the absurdity of it.
but the process isn't too hard: { SET labelname "Label Text" } and then ref it using { REF labelname }. I use "\* MERGEFORMAT" as my switches.
Have you ever used FrameMaker? The Unix version, not the Windows version, which I have no experience with. Despite its lack of a HIG-compliant GUI, it makes your procedure look like black magic in comparison.
It doesn't matter that the "contract" of a EULA takes away your rights, and the "contract" of the GPL gives you some rights. The main point is that they're both in the form of a contract. It doesn't matter how many freedoms the GPL gives me, if I have to agree to it before receiving them then it is taking the form of a contract.
Don't mistake my arguments as being pro-EULA and anti-GPL. I am doing nothing of the sort. I am merely trying to correct a commmon misconception.
I'm an "average user" when it comes to Word. I have to use it to write documentation at work. Prior to Word I was using Adobe FrameMaker. One place where FrameMaker kicks Word's (and OpenOffice's) butt is with fields and variables. Say you want to change the version number of the document. Ideally you should change it in one place, and every other reference to it changes automatically.
Word can do this, but it does it in the most braindead way I've ever seen. It's almost like this is so rare they never bothered making a halfway usuable interface for it. And it's as buggy as hell to boot. Update all fields on the page and you still have to update the fields on the headers and footers separately.
That's just one feature. I'm still learning how to productively use Word after two months, when it only took me a week to learn FrameMaker. The funny thing is that it was FrameMaker under Solaris, which has one of the worst interfaces ever. Yet it was easier to learn than Word. Go figure.
I hate to break the news to you, but it's pretty easy to tell English-as-second-languge folks who use Word's grammar checker. You come off sounding like Bill Buckley on LSD. Really.
Firstly, the GPL is not a EULA. There is nothing in it which restricts usage.
A contract is not limited to mere usage. I claim that EULAs and the GPL are similar in that they both require acceptance of the license before the permission specified within are granted. It is their legal form which is similar, and not their particular enumeration of rights and non-rights.
there is no mutual agreement entered into between the parties beforehand
I agree. I personally do not believe that EULAs are bona fide contracts. Neither do I think the GPL is a contract. I stated this earlier, if you forgot. However, the form of the GPL is that of a contract. My only assertion is that *if* a EULA is a contract, *then* so is the GPL, on the basis that they use identical mechanisms to grant/impose rights and restrictions upon the user.
Other way around: the GPL GIVES YOU RIGHTS that you wouldn't otherwise have
But according to the GPL, you MUST agree to the license before getting them. To quote: "These actions are prohibited by law if you do not accept this License." This is far more than the mere granting of permission.
Sidenote: there's also some small dispute as to certain pre-existing rights that are taken away under the FSF's interpretation of the GPL. Namely, the FSF asserts that certain classes of run-time linkage are indicative of derivation, even though copyright law says nothing to afirm this. Also the next version of the GPL will probably contain restrictions on usage to close the "web application" loophole.
Heh - thanks for the coffee out the nose.
The apology is necessary, but not sufficient. I should have added, "...and correct your non-compliance." After SCO corrects their non-compliance and apologizes to the licensors, then they'll get their rights back.
But I was referring to Richard Stallman's remarks regarding Trolltech's placement of Qt under the GPL. Most KDE developers had coffee shooting out their noses as well when the heard his statements that day. His later clarifications made it clear that he believes a formal apology is necessary to regain any lost rights under the GPL.
In case you need reminding, the RMS forgiveness statement can be found at Linux Today.
Brook's article came at a time long after the switch from assembly to higher level languages. He was arguing that there were no more silver bullets, and was not denying that any had come before in history. In fact there were several that had already occurred, and the industry was expecting that others would arrive.
It doesn't really matter whether a two- to four-fold improvment is an order of magnitude are merely "incremental". Regardless of measurement, such an improvement would have been one of the most momentous improvements in the last decade. But development houses using C/C++ are just as productive as those using Java or C#.
In certain domains, Java will of course be the more productive language. But in others it will fall flat on its face. I'm *still* waiting after a decade for the Java office suite. I'm still waiting for the all-Java operating system. Heck, I'm still waiting for an all-Java desktop, because the one that has Java in its name certainly isn't it!
Java has found several niches, and large ones at that, but it still hasn't proven itself as a general purpose language. This isn't a put down of the language, just a statement of what I see in the world. Java's proponents have simply been too optimistic.
Instead, we have millions of C++ programmers trying to be productive with MFC
That is an indictment of MFC, not of C++. That's the equivalent of saying C sucks because no one is productive in Motif. I will agree with you that MFC sucks big green donkey balls, and will join you in a parade holding a banner so. But that says nothing about C++.
When I use C++ I don't have to use templates. I don't have to use exceptions. I don't have to use operator overloading (and I agree that iostreams weird overloading is confusing). But that's not an indictment of the language, only an observation that it's an extremely rich language with a few potholes for the unwary.
While I still have problems believing a quadrupling of productivity by switching from C++ to Java, it's quite easy for me to believe it switching from MFC to any sensible framework.
If the typical EULA is a contract, then so is the GPL, for both operate under the same mechanism: the requirement to agree to the license before gaining any rights or permissions.
The GPL is also like the typical EULA, in that you can LOSE YOUR RIGHTS if you do not follow the specified conditions and restrictions. According to RMS, you lose your rights until such a time as you formally apologize.
I agree with the grandparent. If you read only Slashdot you would think that the sole purpose of Linux is to get rid of Windows. This article is a case in point. Instead of being satisfied with a positive story about Linux, the blurbist had to kick Windows in the nuts in the very same sentence.
I'm going back to my "Frickin' BSD" section...
While it isn't a contract in my opinion, it should be noted that the GPL itself certainly attempts to be one, in that it demands you "accept" it before gaining any of the permissions. Heck, it even explicitly states the mode of assent: distribution.
But I hardly think that my saying there is a 2-4x improvement over C/C++ equates to Brooks' hypothetical "silver bullet".
Yes it does. His term of "order-of-magnitude". A 200% to 400% improvement certainly counts as that. Perhaps Mr. Brooks is unaware of Java. Perhaps you should point it out to him, so he can issue a retraction to his article.
Do you sense a bit of sarcasm above? Good, that was intended. Anyone who claims a 200% to 400% increase in productivity by switching to the Java language from C/C++ has some serious reality problems. I'm not talking niche projects, but normal mainstream generic programming projects.
Hey Fred! I tried out Gentoo like you told me to, but I still can't see any difference between it and Fedora Core 2. Both identical right down to that green lizard logo.
I wonder how many people out there don't realize that you're absolutely serious...
Sorry, that link should be http://www.virtualschool.edu/mon/SoftwareEngineeri ng/BrooksNoSilverBullet.html
One of these days I'll learn to preview...
One of the things that was obvious right away is that minimizing the number of things the programmer can do wrong causes a significant jump in the effective productivity of the programmer.
You mention Fred Brooks, but somehow I don't think you've read his essay . In essence [sic] Mr. Brooks said that no single technology, management style, or methodology would provide an "order-of-magnitude improvement" in productivity. All we would see from then on would be incremental improvements.
While your use of the word "significant" is a far cry from "order-of-magnitude", you're still expecting something more than an "incremental" improvement. Java *PLUS* other stuff might get you significant improvments in productivity, but Java alone will not.
the best programmers tend to sit on the bleeding edge
Huh? While it's true that the "coolest" programmers use the bleeding edge languages, I do not see the best programmers doing the same. The two best programmers I know use assembly, C and C++. One of them is really excited about C#/.NET, but to be honest he gets really excited about any free CD arriving in the mail. He still programs in C though.
Of course, there is a correlation between the youthfulness and productivity of programmers. Older programmers get burnt out or move up to non-coding roles, and newbie programmers tend to explore the bleeding edge. Thus you are likely to find more cool, hip twenty-something programmers working sixteen hours a day in C#, than old, square, been-there-done-that progammers writing C for eight hours before going home to phone the grandkids. That doesn't mean the kids are better programmers though.
This is a Bad Idea(tm). The notion that keyboards must be OS specific is silly when you think about it. Sure, Redmond and Cupertino promote it, but that doesn't mean it's right.
Platform specific keyboards (Solaris, Mac) might make some sense, but multiple PC-x86 keyboards is loopy. Do I need two keyboards if I dual-boot? Three if I triple-boot? Will there be different Wyse terminals depending on which system you wish to connect to?
Just dump the OS logo and replace it with a generic menu key.
who let the *managers* choose?
.NET, it's still chaos.
Welcome to the real world.
While there are some exceptions, the real world of commercial software development doesn't let the lowly software developer decide on the language. While the developer can lobby for a particular language, ultimately it's a manager (or system architect) who makes that decision.
This is a Good Thing(tm). You want a system that is maintainable. You're not going to get this if two dozen developers each use their pet language du'jour. When you have Java, C#, C++, Python and Ruby advocates all working on the same project, you don't want them deciding what language their individual components will use. That way leads to chaos. Even if the framework allows it, such as
If you think you have enough discipline to avoid this, you may be right. But you will be wrong if you think your coworker's do as well.
Unless you have *synchronous* atomic commits, you'll still lose data on power loss. And while I think a synchronous atomic filesystem would appeal to a bank, most end users want something a little quicker than frozen molasses.
The "cloning" doesn't cause confusion, since anyone who has half a working retina can see the differences between KDE, GNOME and Windows.
What is it about KDE and GNOME that makes you think they're so horribly confusable with Windows? Do you want us to remove the close buttons on the title bar, or even the title bar itself? Shove the panels on the left or the right instead of the top or the bottom? Get rid of menus and toolbars? Use a Cambell's Soup color scheme instead of Fisher-Price toys or Aquafresh toothpaste?
No one's bitching about GNOME's button ordering. What they are complaining about is GNOME's attitude towards everyone else's button order. They suddenly decide to behave differently than everyone else, and then accuse everyone else of being wrong.
As another post said, button order is like what side of the road you drive on. It doesn't matter which side it is, so long as everyone agrees to it. But GNOME suddenly decided to go drive on the left side of the road, angrily honking at everyone else as if they were to blame for all the accidents.
That's funny, I have the same wav file as my startup sound in Windows...
In the rural area where I was born and raised, the trend was to vote Democrat for local offices and state legislature and Republican for state governor and national offices.
KDE and GNOME are not clones of Windows. While there are similarities, that's to be expected because form follows function, and all the destkops have similar functions. They all need a root menu of some kind, because that's easier than rooting around a folder full of several hundred app launcher icons. So Windows has "start", GNOME has a foot and KDE has a K. Windowmaker, XFCE and Enlightenment also have root menus!
They all have a taskbar/panel of some kind, because they combine two commonly used features (task lists and quick launches) into one convenient area. Heck, even Windowmaker, XFCE and Enlightenment have those. Ditto for them all having windows with minimize/maximize/close buttons.
About the only major difference (other than themes) for the desktops are that OSX and GNUstep like to detatch the application menu from the application.
In short, complaining that KDE and GNOME look like Windows is as silly as complaining that the Honda Civic looks like the Mitsubishi Montero, just because they both have four wheels, a steering wheel, automatic transmission, passenger side windows, glove box, radio, seatbelts, etc. I mean sheesh! When is someone going to come up with an original idea and make a car without seatbelts!