I guess its a murky area legally - making similar APIs using
documentation as a guide. e.g. its quite striking how many extremely
similar APIs are in .Net and Mono to the JDK.

FWIW there's a current practice to get around Sun's bizarre licensing
on various Java/J2EE APIs - folks type in their own version of the
source code using the javadoc as a guide. e.g. try the
geronimo-spec-*.jar as an Apache licensed version of the
crappily-licensed-Sun J2EE jars. I guess thats legal right? So maybe
just using documentation to create similar APIs on other platforms is
OK?


On 7/20/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
I think there may be some legal issues with creating an API that resembles
JMS too closely.

From the JMS licence terms:

"Subject to the terms and conditions of this license, Sun hereby grants you
a fully-paid, non-exclusive, non-transferable, worldwide, limited
license (without the right to sublicense) under Sun's intellectual property
rights to review the Specification internally solely for the purpose
of designing and developing your Java applets and applications intended to
run on the Java platform. Other than this limited license, you
acquire no right, title or interest in or to the Specification or any other
Sun intellectual property. The Specification contains the proprietary
information of Sun and may only be used in accordance with the license
terms set forth herein."

The key bit here is "intended to run on the Java platform".

That said there is definitely merit in having our .NET API and C++ API
being relatively similar.

XMS for C# does resemble JMS very closely although with delegates and with
the naming convention for interfaces. I am not sure whether IBM would be
interested in donating XMS.

RG


|---------+---------------------------->
|         |           "James Strachan" |
|         |           <[EMAIL PROTECTED]|
|         |           mail.com>        |
|         |                            |
|         |           19/07/2006 20:50 |
|         |           Please respond to|
|         |           general          |
|---------+---------------------------->
  
>------------------------------------------------------------------------------------------------------------------------------|
  |                                                                             
                                                 |
  |       To:       general@incubator.apache.org                                
                                                 |
  |       cc:                                                                   
                                                 |
  |       Subject:  Re: [Proposal] Blaze                                        
                                                 |
  
>------------------------------------------------------------------------------------------------------------------------------|




On 7/19/06, Paul Fremantle <[EMAIL PROTECTED]> wrote:
> > Currently ActiveMQ has several C/C++ clients (with another client
> > library waiting to get through the  donator's lawyers), so it might
> > make sense at some point to try unify the C++ clients together too so
> > users have a single C++ API for their messaging client and then a
> > number of implentations/transports/protocols to use at deployment
> > time. i.e. making a JMS for C++ API. (We've got a good start called
> > CMS in ActiveMQ...)
>
> I agree that a C++ (and also C) rendering of a JMS like API is going
> to be a very useful thing.
>
> James - do you have any idea how CMS matches or differs from IBM's XMS
> (
http://www-128.ibm.com/developerworks/websphere/library/techarticles/0509_phillips/0509_phillips.html
)?
> XMS is also a rendering of JMS into C/C#/C++.

Thanks for the link! I've had a quick look and it looks remarkably
close to the current CMS client. Hardly surprising I guess since they
are both kinda clones of the JMS API but in C++ and using JMS 1.1 and
mostly ignoring the crappy bits of JMS 1.0.2b :)

I couldn't see the C# client so not sure if we differ a bit there - we
ended up changing the C# client a little from JMS to make use of C#
coding conventions and features (like delegates and events etc) - and
we followed that sucky C# practice of naming interfaces IConnection
etc :). Not sure if the XMS in C# does the same. (We imaginatively
called the C# client NMS for .Net Messaging System).

I wonder if IBM and the XMS folks would be interested in donating the
*API* code for XMS to Apache and working with other folks at Apache so
we can merge some of the C/C++/C# clients together into a single
reuable client API with pluggable providers (and maybe even some
resuable optional implementation code different implementations could
choose to reuse)?

There's clearly a delta between AMQP and the features of JMS, but even
if we just get the core JMS semantics reusable across the clients it'd
be a big win IMHO.


> I think it would be interesting to see a confluence of the APIs and
> protocols between ActiveMQ and Blaze giving interoperability in both
> code and on the wire.

Agreed.
--

James
-------
http://radio.weblogs.com/0112098/

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





This communication is for informational purposes only. It is not intended as an 
offer or solicitation for the purchase or sale of any financial instrument or as an 
official confirmation of any transaction. All market prices, data and other 
information are not warranted as to completeness or accuracy and are subject to 
change without notice. Any comments or statements made herein do not necessarily 
reflect those of JPMorgan Chase & Co., its subsidiaries and affiliates.

This transmission may contain information that is privileged, confidential, legally 
privileged, and/or exempt from disclosure under applicable law. If you are not the 
intended recipient, you are hereby notified that any disclosure, copying, 
distribution, or use of the information contained herein (including any reliance 
thereon) is STRICTLY PROHIBITED. Although this transmission and any attachments are 
believed to be free of any virus or other defect that might affect any computer 
system into which it is received and opened, it is the responsibility of the 
recipient to ensure that it is virus free and no responsibility is accepted by 
JPMorgan Chase & Co., its subsidiaries and affiliates, as applicable, for any 
loss or damage arising in any way from its use. If you received this transmission 
in error, please immediately contact the sender and destroy the material in its 
entirety, whether in electronic or hard copy format. Thank you.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--

James
-------
http://radio.weblogs.com/0112098/

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to