December 13, 2007 Open source APIs Posted by Aleksi Uotila at 02:34 PM | Categories: Open source

Our Java Platform guys' first real experience of a open source project has been the eSWT API development. We had multiple different reasons why we ended up collaborating with the Eclipse open source community. Lately there has been other announcements for mobile Java open source projects. Even some Java Community Process JSRs are developed as open source. So to me it seems that it starts to be a defacto way to introduce new mobile Java APIs the open source way.

The primary reason for us doing open source is to improve the compatibility of our API implementation. Opening implementation code for an API will also allow other parties more easily start implementation of the same API on other platforms. Since the implementation mostly shares exactly as-is much of the code base this improves directly compatibility more than just some technology compatibility kit (a test set verifying API signature and expected API behavior). Testing never grabs all the details, similar API compatibility tests won't test everything. Sharing implementation code will ensure in a much better and simple way behavioral compatibility. Open source is thus a way to truly limit fragmentation - a too much used curse word among java apis.

However, the open source license has to be such that it allows commercial usage of the code. The API implementation code must be possible to be used as part of closed or proprietary products. Also the license must not have a viral effect on applications using the API. Open source API implementation should not mean that the applications using that API are also forced to be open source. In other words linking from code with a different license should be allowed. I personally for example would like to see much more mobile Java APIs being developed in open source style licenses.

Open source way of working is also lot more fun. You get to be more in contact with potential clients for your API as well as discussions with other implementation teams is more easy as communication can be open.


Permalink |

Comments

Nokia recently released "Java ME Developer's Library 2.1" which contains the IAPInfo API, a new proprietary Nokia API. Any chance of Nokia taking a step in the open source direction and having that API released under a such a license (currently it says "Company Confidential" in the API doc)?

http://www.forum.nokia.com/document/Java_ME_Developers_Library_v2/

Posted by: Andreas Kristensson | December 19, 2007 11:53 AM

We have thought about this licensing alternative for IAPInfo only until very recently. The IAPInfo API is natively implemented in S60/C++ and the source code comes with S60 platform for licensees so the implementation is very tied to this platform. I see some value licensing the IAPInfo as then the javadocs could be used in other platforms and doing the same signature would be easy. We of course have some test code for this too. So let's see...

Posted by: Aleksi Uotila | December 20, 2007 09:15 AM


Post a comment







«Back to previous page