On 08/15/2014 10:16 AM, Tomáš Smetana wrote:
If the DMTF model doesn't fit your use case well, just ignore it. Don't try too hard to implement it. You may try to find out if anybody is actually implementing the model you choose. If not... What's the point in trying to be compatible when there is nothing to be compatible with? Being first is no big win for you here. Might be a loss for your users if you make too many usability compromises just to conform to an useless standard.
You ask what's the point? Because standards are supposed to assure interoperability. Just because you're the first one to implement doesn't mean you get to ignore the standard. What happens when someone else does implement the standard? All of a sudden we're inoperable.
One of the major driving reasons we selected the DMTF technologies is because it was supposed to be an industry standard, implemented by multiple vendors and interoperable. If we have little intention of being interoperable then why are we using this **awful** technology instead of being a technology leader and producing something **sane** the community can rally around? (Sorry, I have a very low opinion of CIM, to me it's a classic example of what you get when standards bodies run amok, useless complexity that no one wants to use, including us apparently).
I have no illusions about the merits of committee designed standards. Most standards designed by committee stink and have poor adoption rates. If the fact is no one else has bothered to implement the models designed by the committee then I rest my case and reiterate why are we using this technology? But we have made a decision haven't we? We've hitched our wagon to DMTF and CIM. If that's the case then ignoring the standards published by the DMTF working groups doesn't make a lot of sense to me.
To my mind it boils down to this, either implement the standards as designed or give up on CIM and design something sensible that will become a standard by default, which is the way real standards are made. Look, if all we're really doing is treating CIM like a poor mans DBus (or pick your favorite RPC) and ignoring the models then why aren't we just using RPC and a per node broker? There are vastly better and simpler data exchange and RPC mechanisms that are currently in wide use with high adoption rates with multiple implementations on diverse OS's and numerous language bindings and already include essential features such as authentication (REST with JSON being one such example). What's missing? An agreed upon API. Well then let's define such a (REST?) API because if you're not going to follow the CIM "API" (i.e. the models) and design your own CIM API then what have you really accomplished other than being forced to use a data exchange and RPC mechanism that is truly horrible by contemporary standards?
It seems to me that CIM got some early uptake on Windows but I don't see any *serious* interest in CIM in the Unix/Linux space. Are people really flocking to this standard? Or do the existing implementations exist merely because it was the only thing available at the moment and those will likely atrophy due to disinterest?
You said it yourself, why "conform to a useless standard"?
Just my 2 cents.