Posted: Tue May 13, 2008 5:32 am
While the jury is still out, some consider that cheating. For those people, "ask GRUB" isn't the best answer.
Since grub is OSS, it would be trivial to check its memory detection routines and copy those.Yayyak wrote:While the jury is still out, some consider that cheating. For those people, "ask GRUB" isn't the best answer.
Brendan wrote: IMHO the memory detection code used by GRUB isn't very good. The methods it uses are:
Try BIOS Int 0x15, eax = 0xE820
If that didn't work, try BIOS Int 0x15, ax = 0xE801 and BIOS Int 0x12
If that didn't work, try BIOS Int 0x15, ah = 0x88 and BIOS Int 0x12
Linux is the same, except that it handles the RBIL bugs in e801 and e88
Well, Grub is aimed at modern machines I guess, so I don't see any problem there. Perhaps it would fail on old ones, but still, those BIOS calls should provide enough information.bewing wrote:Brendan has already done that, and posted his impression in these forums several times:Brendan wrote: IMHO the memory detection code used by GRUB isn't very good.
And GRUB is GPL, so good luck "copying" that source into something under a propreitary license.jal wrote:Since grub is OSS, it would be trivial to check its memory detection routines and copy those.Yayyak wrote:While the jury is still out, some consider that cheating. For those people, "ask GRUB" isn't the best answer.
JAL
You can learn the algoritm used, and after that you writing your own routines.Yayyak wrote:And GRUB is GPL, so good luck "copying" that source into something under a propreitary license.jal wrote:Since grub is OSS, it would be trivial to check its memory detection routines and copy those.Yayyak wrote:While the jury is still out, some consider that cheating. For those people, "ask GRUB" isn't the best answer.
JAL
You're on legally dodgy ground. You've used their algorithm, which you didn't know beforehand. That, IMHO although of course IANAL, is copying, so you must keep the licence.svdmeer wrote:You can learn the algoritm used, and after that you writing your own routines.Yayyak wrote:And GRUB is GPL, so good luck "copying" that source into something under a propreitary license.jal wrote: Since grub is OSS, it would be trivial to check its memory detection routines and copy those.
JAL
So if you saw that piece of Grub sourcecode accedentally, I can never program a piece of software for the same task without changing license?JamesM wrote:You're on legally dodgy ground. You've used their algorithm, which you didn't know beforehand. That, IMHO although of course IANAL, is copying, so you must keep the licence.svdmeer wrote:You can learn the algoritm used, and after that you writing your own routines.Yayyak wrote: And GRUB is GPL, so good luck "copying" that source into something under a propreitary license.
Unfortunately that's not wholly true.svdmeer wrote:So if you saw that piece of Grub sourcecode accedentally, I can never program a piece of software for the same task without changing license?JamesM wrote:You're on legally dodgy ground. You've used their algorithm, which you didn't know beforehand. That, IMHO although of course IANAL, is copying, so you must keep the licence.svdmeer wrote: You can learn the algoritm used, and after that you writing your own routines.
So If I put my memory-detection routine here, with the GPL attached on it, people who are scrolling past the license-information and read the code, will never be able to program something by themselves without the GPL?
As far as I know the right to "learn" (one of the basic rights of free software) is not restricted. You can use what you've learnt from a piece of free intellectual stuff for whatever you want, even write non-free software. But of course you can not take over the same lines of code, you have to re-develop the routines with the technical information you got by studying the source.
Enter clean-room reverse engineering. Have someone study the code, write down the algorithm used, and have someone who hasn't seen the code program the algorithm. This is the way early BIOS vendors reverse engineered the IBM BIOS.JamesM wrote:The problem of course comes because if you've looked at someone elses code, their implementation is likely going to influence yours. So what's the only fool proof way of proving that you didn't copy code? get someone who hasn't seen the original code to write your version.
But with the same argument the written down algorithm has to be GPL.jal wrote:Enter clean-room reverse engineering. Have someone study the code, write down the algorithm used, and have someone who hasn't seen the code program the algorithm. This is the way early BIOS vendors reverse engineered the IBM BIOS.JamesM wrote:The problem of course comes because if you've looked at someone elses code, their implementation is likely going to influence yours. So what's the only fool proof way of proving that you didn't copy code? get someone who hasn't seen the original code to write your version.
As for the specific case of Grub, memory detection is so trivial (only using BIOS calls) that I doubt whether copying it line by line would violate the GPL in a defensable manner.
JAL