Yes the mechanism can be used for stuff like that (which is purely cosmetical), but there would have been other and better ways to handle it, such as a clear policy about what the o/s should do with ACPI devices it doesn't recognize, for instance hide them from the user. Or even better, have a flag on the relevant ACPI entry telling an unsupported o/s if it should ignore it or if it should display it to the user (and if so, what text to use).
It is totally backwards to have the BIOS carry a list of known o/s'es and then try to behave in a way that leads to good results under the o/s the user is running. Now when everybody fake they are Windows anyway makes it totally meaningless.
To clarify, I don't think Foxconn specifically did anything to make it not work on Linux. I'm not saying Microsoft bribed them or anything. What I'm saying is that the way the ACPI spec is made (enabling the o/s to present itself) and in practice is implemented results in ACPI working horrible on Linux on many cases and that this is very much along the lines of what BillG wanted.
I think the fact that ACPI even has a mechanism that allows the o/s to say "Hello, I'm Windows" is very suspicious. Ideally, this shouldn't be necessary if everyone just conformed to ACPI. And if this mechanism wasn't there, people would be more inclined to stick strictly to the spec.
Interestingy, this mechanism is along the lines of what Bill Gates explicitly suggested in his mail: "Maybe we couid define the APIs so that they work well with NT and not the others even if they are open."
But can't Linux just pretend to be Windows as it does now? The problem for Linux is this:
1) If they present themselves to ACPI as Linux, the ACPI code may enter a mode that has never been tested and/or given as much love as the "Windows mode".
2) Therefore, Linux presents itself as "Windows NT". This should give Linux the same treatment as Windows gets and this presumably work, so everything is well and good right? No! Because presenting yourself as Windows NT is asking for something that is Windows specific and may not be 100% ACPI compliant. For example, imagine a manufacturer has written a perfectly ACPI compliant BIOS that doesn't work with Windows due to a bug in Windows' ACPI implementation. They HAVE to do something about it. They can't just say "Oh, we'll let Microsoft fix this". The reason is that users need to be able to install Windows right off the retail CD. Hence, the manufacturer will probably choose to make a workaround that is active only when an o/s presents itself as Windows. I suppose this is what the mechanism for the o/s presenting itself was made for. However, these workarounds may be outside the ACPI spec. If Linux wants to use the Windows tables it better be prepared to perfectly emulate the way Microsofts ACPI implementation works.
This mechanism shouldn't have been in ACPI to begin with. Manufacturers are probably not spending a lot of time on the Linux tables. Also, they probably think it is defensible to introduce non-ACPI compliant stuff that works on Windows in the version executed when an o/s presents itself as Windows.
In general, ACPI implementations seem to be extremely flaky. I was very optimistic when reading about ACPI back in 1998 but it doesn't seem anything became better, more stable etc. since APM as had been promised. Is there any mainboard on the market that has a half-decent ACPI implementation? The ACPI consortium (if indeed interested in interoperability) should have put much more effort into designing test suites, simulators etc. as part of the standardization process.
I'm surprised noone is comparing this saga to the AARD scandal that ultimately resulted in Microsoft having to pay a settlement to Caldera. you can read about it here http://en.wikipedia.org/wiki/AARD_code but the case was about encrypted & obfuscated code inserted in Windows 3.1 to detect DR-DOS and preventing Windows from running on it. Internal Microsoft memos revealed the intention of the code:
At one point, Microsoft CEO Bill Gates sent a memo to a number of employees, reading "You never sent me a response on the question of what things an app would do that would make it run with MSDOS and not run with DR-DOS. Is there [sic] feature they have that might get in our way?"[1] Microsoft Senior Vice President Brad Silverberg later sent another memo, reading "What the [user] is supposed to do is feel uncomfortable, and when he has bugs, suspect that the problem is DR-DOS and then go out to buy MS-DOS"[1] Later, after DR-DOS had been purchased by Novell and renamed "Novell DOS", Co-President Jim Allchin stated in a memo, "If you're going to kill someone there isn't much reason to get all worked up about it and angry. Any discussions beforehand are a waste of time. We need to smile at Novell while we pull the trigger."[1] The lawsuit was later settled.[1][2]
Compare this to:
"One thing I find myself about is whether we shouldn't try and make the "ACPI" extensions somehow Windows
specific. If seems unfortunate if we do this work and get our partners to do the work and the result is that Linux works great without
having to do the work. Maybe there is no way Io avoid this problem but it does bother me. Maybe we couid define the APIs so that they work well with NT and not the others even if they are open. Or maybe we could patent something relaled to this."
In both cases it was Bill Himself that suggested to employees that they threw a wrench into something to prevent competing o/s'es from interoperating properly. Many of you probably know about the AARD scandal for I wanted to post this for those who don't:)
Except in "Bioinformatic" (Bioinformatics) where it has the same meaning as in English (ie it refers to a combination of biochemistry and computer science).
Here are some other stories (I study at DIKU too):
* For most reports handed in at DIKU (like on most other universities I guiess) there's an upper limit on the number of pages you can hand in. Peter Nauer had the policy that if he received a report with more than that number of pages, he would simply refuse to read the last excess pages.
* For every day a report was handed too late he would subtract one grade point. This led to complaints from the administration so the policy is now that overdue hand-ins are always marked as "failed".
* Nauer didn't like spending too much time on lectures. He therefore tape-recorded them in advance and the lecture simply consisted of the tape being played and the students could ask/answer questions (sometimes rewinding the tape ) between themselves. He would then show up for 5 minutes at the end of the lecture to answer any remaining questions.
While you (and the text on the page you link to) seem to agree that Naur didn't try to steal any
credit you both use a rather harsh tone like "contributions sounds so minor as to be unworthy of further discussion...".
Nowehere did Naur claim to have invented BNF notation. He said he had done some slight modifications to it
namely changing some unprintable characters to printable characters. And as you note, those changes are slight. But what's the problem? It isn't the changes he made to BNF that earned him a Turing award, it is his MANY OTHER contributions to Algol in particular and computer science in general. What you write is misleading in that it makes it appear as if the trivial changes discussed were his only contributions to Algol, which is - of course - false.
Yes the mechanism can be used for stuff like that (which is purely cosmetical), but there would have been other and better ways to handle it, such as a clear policy about what the o/s should do with ACPI devices it doesn't recognize, for instance hide them from the user. Or even better, have a flag on the relevant ACPI entry telling an unsupported o/s if it should ignore it or if it should display it to the user (and if so, what text to use). It is totally backwards to have the BIOS carry a list of known o/s'es and then try to behave in a way that leads to good results under the o/s the user is running. Now when everybody fake they are Windows anyway makes it totally meaningless.
To clarify, I don't think Foxconn specifically did anything to make it not work on Linux. I'm not saying Microsoft bribed them or anything. What I'm saying is that the way the ACPI spec is made (enabling the o/s to present itself) and in practice is implemented results in ACPI working horrible on Linux on many cases and that this is very much along the lines of what BillG wanted.
I think the fact that ACPI even has a mechanism that allows the o/s to say "Hello, I'm Windows" is very suspicious. Ideally, this shouldn't be necessary if everyone just conformed to ACPI. And if this mechanism wasn't there, people would be more inclined to stick strictly to the spec. Interestingy, this mechanism is along the lines of what Bill Gates explicitly suggested in his mail: "Maybe we couid define the APIs so that they work well with NT and not the others even if they are open." But can't Linux just pretend to be Windows as it does now? The problem for Linux is this: 1) If they present themselves to ACPI as Linux, the ACPI code may enter a mode that has never been tested and/or given as much love as the "Windows mode". 2) Therefore, Linux presents itself as "Windows NT". This should give Linux the same treatment as Windows gets and this presumably work, so everything is well and good right? No! Because presenting yourself as Windows NT is asking for something that is Windows specific and may not be 100% ACPI compliant. For example, imagine a manufacturer has written a perfectly ACPI compliant BIOS that doesn't work with Windows due to a bug in Windows' ACPI implementation. They HAVE to do something about it. They can't just say "Oh, we'll let Microsoft fix this". The reason is that users need to be able to install Windows right off the retail CD. Hence, the manufacturer will probably choose to make a workaround that is active only when an o/s presents itself as Windows. I suppose this is what the mechanism for the o/s presenting itself was made for. However, these workarounds may be outside the ACPI spec. If Linux wants to use the Windows tables it better be prepared to perfectly emulate the way Microsofts ACPI implementation works. This mechanism shouldn't have been in ACPI to begin with. Manufacturers are probably not spending a lot of time on the Linux tables. Also, they probably think it is defensible to introduce non-ACPI compliant stuff that works on Windows in the version executed when an o/s presents itself as Windows. In general, ACPI implementations seem to be extremely flaky. I was very optimistic when reading about ACPI back in 1998 but it doesn't seem anything became better, more stable etc. since APM as had been promised. Is there any mainboard on the market that has a half-decent ACPI implementation? The ACPI consortium (if indeed interested in interoperability) should have put much more effort into designing test suites, simulators etc. as part of the standardization process.
I'm surprised noone is comparing this saga to the AARD scandal that ultimately resulted in Microsoft having to pay a settlement to Caldera. you can read about it here http://en.wikipedia.org/wiki/AARD_code but the case was about encrypted & obfuscated code inserted in Windows 3.1 to detect DR-DOS and preventing Windows from running on it. Internal Microsoft memos revealed the intention of the code: At one point, Microsoft CEO Bill Gates sent a memo to a number of employees, reading "You never sent me a response on the question of what things an app would do that would make it run with MSDOS and not run with DR-DOS. Is there [sic] feature they have that might get in our way?"[1] Microsoft Senior Vice President Brad Silverberg later sent another memo, reading "What the [user] is supposed to do is feel uncomfortable, and when he has bugs, suspect that the problem is DR-DOS and then go out to buy MS-DOS"[1] Later, after DR-DOS had been purchased by Novell and renamed "Novell DOS", Co-President Jim Allchin stated in a memo, "If you're going to kill someone there isn't much reason to get all worked up about it and angry. Any discussions beforehand are a waste of time. We need to smile at Novell while we pull the trigger."[1] The lawsuit was later settled.[1][2] Compare this to: "One thing I find myself about is whether we shouldn't try and make the "ACPI" extensions somehow Windows specific. If seems unfortunate if we do this work and get our partners to do the work and the result is that Linux works great without having to do the work. Maybe there is no way Io avoid this problem but it does bother me. Maybe we couid define the APIs so that they work well with NT and not the others even if they are open. Or maybe we could patent something relaled to this." In both cases it was Bill Himself that suggested to employees that they threw a wrench into something to prevent competing o/s'es from interoperating properly. Many of you probably know about the AARD scandal for I wanted to post this for those who don't :)
The system Volume Shadow Copy service is already part of Windows XP Professional and Server.
Except in "Bioinformatic" (Bioinformatics) where it has the same meaning as in English (ie it refers to a combination of biochemistry and computer science).
Here are some other stories (I study at DIKU too): * For most reports handed in at DIKU (like on most other universities I guiess) there's an upper limit on the number of pages you can hand in. Peter Nauer had the policy that if he received a report with more than that number of pages, he would simply refuse to read the last excess pages. * For every day a report was handed too late he would subtract one grade point. This led to complaints from the administration so the policy is now that overdue hand-ins are always marked as "failed". * Nauer didn't like spending too much time on lectures. He therefore tape-recorded them in advance and the lecture simply consisted of the tape being played and the students could ask/answer questions (sometimes rewinding the tape ) between themselves. He would then show up for 5 minutes at the end of the lecture to answer any remaining questions.
While you (and the text on the page you link to) seem to agree that Naur didn't try to steal any credit you both use a rather harsh tone like "contributions sounds so minor as to be unworthy of further discussion...". Nowehere did Naur claim to have invented BNF notation. He said he had done some slight modifications to it namely changing some unprintable characters to printable characters. And as you note, those changes are slight. But what's the problem? It isn't the changes he made to BNF that earned him a Turing award, it is his MANY OTHER contributions to Algol in particular and computer science in general. What you write is misleading in that it makes it appear as if the trivial changes discussed were his only contributions to Algol, which is - of course - false.