When & Where
Would you execute unfettered machine code that was downloaded from somewhere on the Internet? For security reasons, browsers limit the functionality available to web pages (e.g., access to storage devices is extremely limited). Raw machine code has none of those limitations.Browsers could be enhanced to inspect machine code before allowing it to execute. However, this is akin to running a comprehensive antivirus program on every web page, which could conceivably perform worse than what we do today. [Perhaps it’s time to build a prototype and try it out.]Of course, every browser in the world would need to be updated every time a new security vulnerability is discovered. This is the same situation we face today with operating systems, which require frequent security patches. If any machine does not install new security updates as soon as they are released, the probability of it suffering a security breach increases moment by moment.Each new update will break some existing web pages, which is a good thing for the bad web pages, but a big problem for the innocent ones.
Creating prototypes, testing, negotiating consensus, and creating standards are all time-consuming. Creating browsers that download machine code is a costly endeavour.On the other hand, server-side translation requires more ongoing effort. As each web page is built and transferred to production, it would have to be translated into every machine language of every client that may access it.Cost alone is not sufficient reason to avoid this development effort. It must be compared to the benefits to be obtained. It is doubtful that corporations alone will move forward without significant help from the open-source communities. Corporations see benefit in protecting intellectual property; the open-source communities see benefit in free and easy access to infrastructure (and other) algorithms.
Today’s Best Approach
Post Tagged with