Mico: an Open Source CORBA Implementation
MICO does the business.
Nine out of ten.
Don't do CORBA without it.
MICO is a complete implementation of CORBA which complies with the 2.3 CORBA standard. It is freely available in source and binary formats and it has been ported to a number of environments. Because it is available in source format, you can readily port MICO to a new environment.
MICO has three drawbacks. First of all it is only available with a C++ interface. Secondly you do not get all of the things that come when you pay for a big time commercial package. Finally the current state of MICO is non threaded.
Now, the first two drawbacks are not so bad really. First of all, C++ can interface to just about anything else that you need. About the only time that this would be a real show stopper would be if you had to have a direct mapping to Java and in that case, MICO is not the solution. As for the second issue, if you are a major international organisation and have a cultural problem with any piece of software that costs less than taking all of your developers out for dinner at the best restaurant in town then MICO is not for you. It's fine for the rest of us and we would all rather spend the budget at the restaurant. Seriously, it is true that you do not get ten kilos of manuals and telephone support but in my experience those manuals usually stay on the shelf while the developers thumb their way through Henning annd Vinoski and MICO does come with a great mailing list. I've used it a few times and I've always had either and answer or a few suggestions that have put me in the right direction to find the solution myself.
The lack of multithreading is a problem for big servers. However, a multithreaded MICO is in the works and test versions are already available. MICO has gained sufficient momentum to ensure that development is going to continue.
MICO does the business. You can use it for real applicatiions and not just as a toy. Even if you are committed to using a commercial package, I'd suggest getting hold of MICO as being the cheapest and easiest way of checking that your application and chosen ORB can interoperated with another CORBA ORB.
MICO is not the only open source C++ CORBA ORB available but it is clearly the best.