
"Since its release a few weeks ago, curious developers have been sniffing through the source code for Google's new Chrome web browser. Chrome's source is interesting for a variety of reasons: there's the new V8 JavaScript virtual machine with its boasts of near-native code performance, the WebKit rendering engine that does all the hard work of understanding and displaying web pages, and (last but not least), Chrome's secure sandbox designed to minimize the impact of any security flaws that might exist in both the browser and plugins alike. It is this secure sandbox that has piqued the curiosity of some observers, and for a reason that many may find surprising. From reading the source,
it looks as though Google has reverse-engineered Windows, and that's explicitly prohibited by the Windows EULA."
Member since:
2007-04-29
a long time ago i looked at a webcam driver. to see for yourself take a look at :

http://alpha.dyndns.org/ov511/download/ov51x/ov51x-1.65-1.12-mark/o... . This is what i meant with the linux (KERNEL WISE) not being backwards compatible. The internals drastically changed, and it shows. freebsd has for example ABI binary backwards compatibility for the major releases. you have to also specifically enable this. i could not find such a thing for linux.
and as for the kernel api : i also highly doubt libc for linux 1.0 also runs on linux 2.6, but it might be possible. when using binary backwards compatibility the structures you give to the kernel can not change. i highly doubt linus did this.
as a simple test i took siginfo.h and checked if it changed between 2.4 and 2.6 and it did. the siginfo structure is NOT binary backwards compatible. changing int's to longs makes a lot of difference. it not even source level compatible. and this is the first file with the first large strucure i could find which is used by a the kernel api (the sys_* calls). maybe i'll not allowed to use the variables deeper in the structure. but guess what, it's not documented and linux always tells me to read the source.
could you maybe point out somewhere where linus states he preserves backwards compatibility? i couln't find it.
please note that binary backwards compatibility is also about supporting code relying on bugs and stuff "you are not supposed to do". so if it runs on linux 2.4 it must also run on a newer version, no matter what.
i have to admit the kernel api is small and more backwards compatible than i expected. i'll give you that one