Not logged in. · Lost password · Register
Forum: agsXMPP RSS
Avatar
Bill #1
Member since Apr 2009 · 5 posts
Group memberships: Members
Show profile · Link to this post
Subject: Add new feature and License
Hi Alex,

We're planing to build a XMPP server with limited features. After evaluating several XMPP libraries, we have preference on Ags at the moment. We can buy commercial license for our use, but we don't have any intention to modify the library source code. However due to the lack of some server side features in the lib and the way how the lib was coded, I found it's extremely difficult to add new protocols, name spaces... outside your lib assembly (see my post in S2S communication question). We are kind of being forced to modify your code. Do you have any alternative solutions or suggestions?

Thanks,

Bill
Avatar
Alex #2
Member since Feb 2003 · 4297 posts · Location: Germany
Group memberships: Administrators, Members
Show profile · Link to this post
Hello Bill,

its very easy to extend agsXMPP for new protocols and namespaces without touching the original source. I don't agree with you on this point.
Adding s2s to the library is an edge case, and I think none of the existing libraries make this easier without touching the original source. However if you propose changes which make it easier and don't break compatible we can consider to change the source code.

If you use it under the GPL there are no problems when you change the source. If your code is commercial you would need a the non exclusive source code license when you modify the source.

Alex
Avatar
Bill #3
Member since Apr 2009 · 5 posts
Group memberships: Members
Show profile · Link to this post
Hi Alex,

Thanks for your quick response. We need it for commercial use. Add new namespace, the right way is to put in Uri.cs. All right, I might workaround it. But how about I add new element types for new protocols such as Dialback, SASL external?  I have to modify ElementFactory, and I have to put them under protocol name space, otherwise I can only use Element instance which is really bad. Other than that, as I mentioned in early post, internal methods and certificate handling interfaces are other limitation as well. If I don't modify your code, but add more files in the agsXMPP.dll  assembly, do I also need this exclusive license?

Thanks,

Bill
Avatar
Alex #4
Member since Feb 2003 · 4297 posts · Location: Germany
Group memberships: Administrators, Members
Show profile · Link to this post
You don't have to put your namespaces in Uri.cs. You can place them in your code where ever you want.
You have to derive from Element and Register your classes in the ElementFactory. All methods you need are public
See also the "creating own packet types document which ships with the SDK. There are also many thread in this forum about own extensions.

Alex
Avatar
Bill #5
Member since Apr 2009 · 5 posts
Group memberships: Members
Show profile · Link to this post
Thanks Alex, you are right. But inheriting XmppConnection class and providing certificate in TLS handshaking are still standing out. So It seems I still have to put my code into the agsXMPP.dll  assembly, do I also need this exclusive license?

Bill
Avatar
Alex #6
Member since Feb 2003 · 4297 posts · Location: Germany
Group memberships: Administrators, Members
Show profile · Link to this post
as I said before you can propose code changes to XmppClientConnection.

Alex
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Forum: agsXMPP RSS