Yet Another Object Request Broker


YaOrb is a "pet" project, and has plenty of goals:



Coding can be very addictive, to the point of being a drug. Not working on something challenging for a long time can create a strong desire to just DO something, and so YaOrb was born (it was just named "Do It" at that time).
The project had to fit the following criteria :
  1. Functional: functionality had to be specified already, so that WHAT to do is known,
  2. Technical: implementation had to be un-specified, so that HOW to do it is the challenge,
  3. Challenging: if it looks impossible to a sane person, it's perfect !
  4. Equipment: hardware and software needed should be of good quality, and accessible to a home user,
  5. Rewarding: not rewarding with $$; rewarding intellectually, more skills learned on the way a bonus,
  6. Fun: no dead lines, no commitments, no boss, code when I want, how I want, only if I am in the mood for it.

To fit this list :
So, it all started like this (with the sound of key strokes that still echoes today)


The code development happened with a peak in 2000, a peak in 2003, and very little in the middle. It's amazing how someone can be extremely productive in one week-end when implementing a very hot topic, or extremely lazy for months playing games (that's also the down side of having a PC and an internet connection).
During this period, several components were implemented in parallel, like the tooling side with the IDL compiler, and the network stack with the IIOP, GIOP, IOP and CDR implementation. The idea was to start from both ends to alternate topics, problems, and see how each side can be helped by the other (Oh, i need this data at runtime to drive the communication protocol ... wait, that's something the compiler can generate too). If an issue delays development on one end, just put it aside and work on the other end for a while ... Most of the time, a solution would appear by itself later when not thinking about it, and development would resume at full speed.


After a long pause that involves buying a house, moving, other life events, and finally finding again a back-up CD with the most recent code base, the project is now public:

Thanks to Logo

The reason for going public is that the code base itself is well advanced and has some intrinsic value (I hope), so that others can benefit from it or choose to contribute to it.
As was mentioned in the introduction, the project is to play with implementation ideas, and there are a few that I would like to experiment (time permitting), so development continues ...


YaOrb is not the first project that attempts a CORBA implementation, and most likely will not the last one either. Some ORBs are commercial, others are Open Source.
Looking at existing Open Source implementations of CORBA, most of the time the licensing is as follows: This matches the licensing used by GCC and GLIBC, which basically allows someone to build a commercial application that uses the runtime.
For the entire project life cycle and until now, the implementation has been done on my own time, using my own equipment, and has never be disclosed or published, so that in effect, I (Marc Alff), the only copyright holder of the code, can make now in 2006 a desision about what licensing to use, even if the project really started in 1999.

Considering that the project has not reached an alpha release yet (it's very close for a subset of features), and that there are already Open Source GPL/LGPL implementation available at a mature state, releasing the code with a mixed GPL/LGPL license will not achieve anything.

As a result, the decision is as follows: Let me rephrase that in a clear statement:

The entire code of
Yet Another Object Request Broker
is released under
the GNU General Public License.

The way I see it, the following can happen:
This is a very far shot, but after all why not, so the point is to take another path and see where it leads. In the mean time, I still enjoy playing with it :)


As of the first public check-in in the SourceForge CVS tree, the code base consist of: These numbers by themselves do not mean anything, as only the content matters. However, you can see that some work has been done, so you are encouraged to take a look for yourself and see what this is all about :)

About the author

Marc Alff was born in France, and now lives in Denver, CO.

If you are curious about this project it's hosted on Look there for more info, to post in the forum, or to contact me.

Valid CSS! Logo Valid XHTML 1.0!