Unlocking the full potential of Apache Chemistry : C++, C#, PHP, Javascript, (insert your favorite language here)

The Apache Chemistry project, the incubator project that was just approved has an incredible potential. Started as a place to experiment with a Java implementation of the CMIS specification, it can become much more. There are already implementations out there in Javascript and C++, although not yet contributed to the project, but this might happen sooner than you think.
The hardest thing to do is to achieve in any standard is true interoperability. But what if everyone was using the same code base from the Apache Foundation, freely available to businesses ? What if all this code was fully tested by automated integration test matrixes ? Even achieving this is a challenge in itself but it is possible, and I really think it should happen. My dream, although probably unrealistic is that even major vendors such as Microsoft, IBM & EMC could use the code developed in Chemistry as the basis for their CMIS implementation, and contribute back to the project whenever they see problems.
A lot of what is happening with CMIS is reminiscent of the SOAP craze. After all SOAP is used as a binding for CMIS, so it is quite normal to see similarities. One of the biggest interoperability problems for SOAP lied in the potentially complex serialization of custom objects, and this proved in real life to be very difficult to get to work between implementations. It is a testament to the great work of the contributors to the Apache projects related to SOAP implementations (Axis, and before that Apache SOAP) that you could get web services to really talk to each other.
The Apache foundation is the perfect place for such standards to be implemented and grow as the basis for the network infrastructure of the entire industry. It is a place where even competing interests can find common ground for sharing development costs.
Of course it's not necessarily easy to directly use Apache-licensed code inside corporations such as Microsoft or IBM, as they are very concerned about code auditing, especially as they are often the target of copyright infringement lawsuits, but at least IBM is known to use such code, and in some cases simply packaging Apache products (such as the IBM HTTP Server). So we know that even if it is not trivial to achieve it is possible. And for Microsoft, well maybe this will convince you ? http://port25.technet.com/archive/2008/07/25/oscon2008.aspx
I'm dreaming of an Apache Chemistry project with the following implementations available to all : Java, PHP, C#, C++, Javascript. Then of course you could have more such as Ruby, Python or whatever else you love, but the initial list would be perfect for integration with most systems, and provide truly interoperable systems, not just at the specification level, but truly at the implementation level.
Maybe it's just a pipe dream, but it is possible, so maybe we should get together and try ?

Filed under  //

Comments [3]