The Extended C API
JohnNilsson: The development model of how components and projects will relate to each other could be reinvented. Is a concept such as "application" really suitable for 3.0? Would it be better to think about, plug-ins, or features? Is it possible to have a development model where "api" is controlled by front-end developers? I.e. to develop Gnome "functionallity" (to avoid the "application" word), one doesn't use Gnome API's, one implements Gnome interfaces.
Common API description for Language bindings
Jon Smirl: If XPCOM (described below) is on the table it already supports a cross language common API and introspection using standard IDL (interface description language). I believe XPCOM has bindings for C/C++, Java, Javascript, Python, Perl and a few more that I forgot. Look in your Mozilla directory, those .xpt files contain compiled IDL describing the shared objects. XPCOM can be built and used independently of Mozilla and it works on Linux, Mac and Windows. http://www.mozilla.org/projects/xpcom/