Hey, I'm really glad you guys are open for such an initiative :) I'll provide you with some more details or sample code this weekend.
Just to give you some background, I wanted to implement RPC in Gooogle Protocol Buffer style in java. I also wanted to use NIO for that purpose to provide non blocking interface that would be align with protobuf one (see documentation for details). I came across Apache MINA and the I quickly discovered that the framework is exactly what I needed. So I started the implementation from MINA filter codec that can encode/decode protobuf wire format. This code is ready and I can contribute it straightaway. It's very similar to existing mina-filter-codec-netty module. As I said in my previous mail I've laso developed simple client/server demo application that fits nicely into mina-example module. This example is also considered as part of the contribution. Said so, I do have codec and sample and I could provide you with the patch against trunk repository. I was also considering another approach. I could draft implementation of RPC in protobuf style i.e RpcChannel implementation that would use codec mentioned above. This could be a subproject on MINA if you like as FTPServer or AsyncWeb are. What about this path? I can commit myself as an supporter as I'm an sole author of the code. I've been a big fan of open source for years now, but hasn't been hugely involved in any big development. I guess it's start to accept the challenge :) At the later stage it'd be really nice to involve other people as well in that piece of implementation. I believe the topic is very interesting and may attract developers :) In terms of licensing, the Google Protocol Buffer is New BSD License, so it shouldn't be any problem I guess. But you should double-check with your policies and procedures at Apache, before we progress. I'm personally fine with the Apache License and have no problems with any copyrights related to this contribution. Please, let me know what you think. Any comments or questions? Cheers, Tom On Fri, Dec 19, 2008 at 5:31 PM, Emmanuel Lecharny <[email protected]>wrote: > Tomasz Blachowicz wrote: > >> Hi, >> >> > Hi, > >> I've recently implemented the mina protocol codec that uses Google's >> protobuf format. In case you are not familiar with the format you should >> check out the website: http://code.google.com/apis/protocolbuffers or >> http://code.google.com/p/protobuf. >> >> > Google protocolBuffer is most certainly one of the coolest things on earth > ! > >> Protobuf messages are serialized form of Java/C++/Python objects and the >> coded I've implemented writes these to the wire prepended by the length of >> the following message. Main principle the implementation is based on is >> the >> smallest possible footprint of all the messages, so the length is not >> expressed in fixed int value, but in var in format as described in >> protobuf >> documentation. >> >> The implementations can be easily used to build servers and clients that >> can >> talk using protobuf format. What is really cool is that the usage of >> protobuf enables full interoperability, so the Python and C++ toolkit >> provided by Google can easily be used to write clients! >> >> I wish to contribute the code of the implementation along with the junits >> and sample applications. Please, let me know how it fits your readmap and >> plans in general. >> >> > I think we can include it as a colateral project, as MINA 2.0 is almost > out. We may also start to work on a MINA 3.0 next year, so in any case there > will be some room for such a proposal. > > Basically, I would say that such a code donation is most certainly > appreciated. There are some elements we have to check though : > - we have to go through some IP process, as if you are using some non ASL > 2.0 license components, we wil have to find an alternative > - the code must be maintained. That mean we have to create a 'community' > around it. Otherwise, it's just dead code... > > Otherwise, I see no reason to reject such a donation ! > > Feel free to provide more elements and informations, we are just waiting > for more, now that we have been teased :) > > Thanks ! > >> Regards, >> Tomasz >> >> >> > > > -- > -- > cordialement, regards, > Emmanuel Lécharny > www.iktek.com > directory.apache.org > > >
