CORBA stands for Common Object Request Broker Architecture, standardized by the Object Management Group (OMG). It consists of an Interface Definition Language (IDL), language bindings and protocols to allow interoperation between applications
ORBit is an implementation of CORBA, which is used (amongst other things) in the GNOME project.
Most of GNOME is written in C, both for performance reasons, and because C++ still isn't as portable and widely available. So integration with CORBA should use the IDL C mapping, which rules out TAO and MICO. ILU was ruled out because the license appeared as too restrictive at the time for free software.
ORBit is used in pretty much any GNOME application, which gives quite some testing for the features used. Other features have seen little or no testing.
Yes. This is one of the primary features of CORBA, and available through the Internet Inter-ORB Protocol (IIOP). There is one pitfall: ORBit has a proprietary security mechanism to authenticate clients. If interoperability is desired then you might have to figure out a work around for this
The idl compiler is GNU Public licensed (GPL). The libaries are Library GPL licensed. The code generated from the idl compiler have no restriction. Bascially this means you can use ORBit in your own applications (including proprietary applications), the only restriction being that people who you distribute your working code to must be able to up date the ORBit libraries at will. If you wish to modify and distribute the ORBit idl compiler you have to distribute that modification under the GPL.
ORBit 0.4.0 uses some of the extensions that gcc allow, including assignment to casts and void * pointer arithmetic. More current versions of ORBit will remove these and eventually it is likely the ORBit will compile with all ANSI C compilers.
you can always install gcc and use that. This will always work.
A language binding defines how to use the IDL operations in a programming language. There is a client-side mapping which explains how to call operations, and a server-side mapping which defines how to implement them. The client side mapping is largely implementation-independent.
On the server side, different 'object adapters' are provided by ORB vendors; only the 'Portable Object Adapter' (POA) implemented by ORBit allows portability between CORBA implementations.
At the moment only the C binding. Python and Perl bindings are being seriously talked about. ILU has a large number of bindings, so that is worth looking at.
Yes. Though beware that using DII and DSI in some cases requires the use of dynAny, which is not supported yet.
Not yet, but it will soon.
Yes. In addition, it is possible to use a third-party naming service, e.g. using the --ORBNamingIOR command line option. The 'Interoperable Naming' specification is not yet supported.
Frank O'Dwyer is working on this for ORBit. Check out the page at http://www.brd.ie/orbitssl/