[cap-talk] POLA focus seen as counter productive
Peter Amstutz
tetron at interreality.org
Tue Jun 12 17:38:17 EDT 2007
On Tue, Jun 12, 2007 at 04:13:24AM -0400, Jonathan S. Shapiro wrote:
> > What sort of delivery do you believe would have been effective?
>
> Absolutely anything that worked now and could be improved over time. It
> certainly worked for Microsoft.
>
> But that was the right thing to do 15 years ago. Today, Linux has the
> benefit of overwhelming engineering investment performed over those 15
> years. It is no longer possible to deliver something "good enough" and
> iterate.
This sounds like the classic "worse is better" argument -- the ad hoc
half-assed solution trumps the elegantly designed solution by virtue of
being available sooner and becomes dominant in its area.
To introduce a new system in that sort of market, users need a bridge
from their old system to your new one. This may mean emulating the
flaws in that old system, but alongside it you have the new, more
secure/robust system. The other strategy is to implement things
entirely in userspace, port it to multiple operating system, and hope
people who build on your platform realize that it works better (more
secure/robust) if they also use your operating system.
Amusingly, Java and .NET, despite being similar technologies, reflect
these two distinct approaches. Microsoft .NET provided a safer, easier
platform while providing ways of achiving backwards compatability with
Win32 APIs. Java by contrast created a new OS-independent userspace
with the hopes of drawing users off of the proprietary Windows platform
to the more neutral Java platform, and then eventually have a migration
path away from Windows to Solaris or Linux.
All things being equal, creating a cross-platform runtime almost
certainly requires less resources, and can leverage existing code more
effectively. The more subtle point, I think, is a cross-platform
runtime is more likely to succeed in its goals, in that interoperating
with other services is a more useful to more people, and will be able to
build a userbase in a way that an emulation approach cannot.
It's also worth noting that hardware virtualization technology on
commodity PCs is getting pretty good, making it possible to have several
operating systems run side by side. This allows the host OS can keep
the unstable/insecure operating systems in a box and impose additional
security restrictions, although it lacks the neat integration that an
emulation solution could provide.
> > One thing about these sorts of issues, there is always time
> > to use hindsight for moving forward. With my "hindsight" as
> > I note, my best hope for progress is in the network area - which
> > I hope will eventually trickle down to the OS level.
>
> I actually think the network area is a lost cause, because it is a
> solved problem. There is this thing called CORBA...
>
> Now CORBA isn't capabilities. It has no security story and so forth. But
> it is close enough to the capability story that customers generally do
> not understand the difference. They do not perceive any operational
> *pain* from CORBA. When they do, they will evaluate compatibility costs
> and conclude that they can continue to use CORBA and handle security as
> a problem of increased engineering effort.
I don't believe CORBA has anywhere near the influence that Unix, Windows
has -- and I certainly wouldn't call network security a solved problem!
In fact, I think most of the interesting development right now is in
middleware (distributed operating systems, virtual machines and the
like). This type of software puts pressure on both the underlying
operating system layer and application layer to follow good design
patterns that are known to robust/secure/efficient. A good example of
this would be the X server, which as a sort of middleware for GUI
services has had a direct impact on certain decisions made in the Linux
kernel.
For the most part, distributed systems have yet to coalesce around
standard, high-level general-purpose platforms above the the level of
TCP/IP. The network protocols (and underlying data/computational
models) to read a web page, check your email and play an online game
have nothing in common, even though the applications run on the same
operating system using common APIs.
I believe capability security is one piece in building a high level
system that can unify distributed processing in the same way current
operating systems unify the way individual applications share a single
machine.
--
[ Peter Amstutz ][ tetron at interreality.org ][ peter.amstutz at gdit.com ]
[Lead Programmer][Interreality Project][Virtual Reality for the Internet]
[ VOS: Next Generation Internet Communication][ http://interreality.org ]
[ http://interreality.org/~tetron ][ pgpkey: pgpkeys.mit.edu 18C21DF7 ]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://www.eros-os.org/pipermail/cap-talk/attachments/20070612/85da50da/attachment.bin
More information about the cap-talk
mailing list