On Tue, Oct 14, 2008 at 07:26:44PM -0400, Jim Starkey wrote: > That said, let me compare the drizzle version of conservative with the > Nimbus/Netfrastructure version. We both agree that extensibility is > critical and bloat is bad (everyone here in favor of bloat raise their > hand!). But your version on conservative includes the ability load > arbitrary C and C++ code that can break security, corrupt the database, > crash the server, who knows what. At the same time, even the most > laudable of plugin binaries is tied to a single platform. Moving the > plugin from server to server is a manual operation, and moving it to a > different platform is a manual *skilled* operation.
Hi! I agree no one is really wrong here, it's just a matter of philosophies. I'm on the C/C++ module side for performance reasons, and as far as security, I'd give an example of the Linux kernel. What good is an entire protected sandbox system if people can write kernel modules to get install as well? The same security and corruption issues could come from a bad kernel module, just at a lower level. Of course you have choices, and the kernel has a rigorous approval process before included in the mainline, but who knows what distributions are slipping into the kernel that is not yet rigorously tested? An entire system (OS, DBMS, ...) is only as secure and reliable as the weakest link, so you better trust your distro! In any case, Linux shows that a high performance pluggable system at a low level can work securely when care is taken, why can't this be applied to a DBMS? One thing a protected environment such as Java provides is a lower barrier to get code into the DBMS internals. This can be good or bad depending on who you ask (do you really want novice programmers writing internal DB code?). This implies a lower level module system (like C/C++) requires a higher degree of skill to do it "right", and have confidence it won't cause security issues or corruption. It looks like this is a trade off Drizzle is willing to make, putting more trust into the plugin developer. You better know how to code, and don't screw it up. -Eric _______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : [email protected] Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp

