[JDEV] The Jabber Project
Keith Minkler
keith at digix.dyndns.org
Thu Nov 23 01:18:07 CST 2000
I feel the need here to make some of my feelings clear...
Our server developers are totally motivated for Jabber, we give up our lives for server development, partly because we have very few server developers that contribute code, in comparison to other open source projects.. Maybe I didn't see it clearly, becuase i was stuck in the middle, head down in code, But Jabber seems to be becoming less of an Open Source project. The Learning curve needed to help out, and commit server code is immense! How can anyone wade through all this code, and help out, when there is little API documentation, if any.. little user-land documentation, no way to find out how to write code for jabber without becoming an aprentice to a server developer.
I'm not trying to make excuses for us, I love Jabber, and I want to see it succeed... But it cannot succeed, unless .com, .org, and our users are all in sync with what is going on... we all need a unified vision of the future, or there will be no future...
as I see it, Jabber is NOT an instant messaging anything.. it was unfortunate that Jabber's first implementation was Instant Messaging, if it had been different, who knows, we may not be having this discussion.. *g*... Jabber is a real-time router of XML documents, with Presence detection/notification.. which lends itself to Instant Messaging nicely, but also to so many other things. It can be used as the glue between server transactions, gaming engines, device comunication, Your Toaster telling your alarm clock that their is a fire starting, etc...
1.2 was a stepping stone to 2.0, the first release of a "release fast and often" path to 2.0. 1.2 is great, but we have to move forward on development. 1.4 is going to be much more stable, and transport friendly than 1.2 was/is. 1.3 is our development/cleanup of the 1.2 codebase. 1.2 is quite stable, but if anyone out there says otherwise, we want bug reports, or even better, patches!
getting transports to work with 1.2 has been a big hack so far, with them still using libetherx for sockets, and the conflicting symbols not allowing them to be loadable objects, untill they use MIO for sockets instead of libetherx's tstreams.. My earlier post to jdev urging MIO usage was meant with an eye toward the future... but I would like to say that I urge concurent development for the "stable" 1.2 server...
MIO will provide a MUCH stabler platform for transports, since libetherx has always been a bit flakey (maybe why it's been totally rewritten 4 or 7 times).. In my mind, 1.4 will be the "real" stable server, until 2.0... with MIO, and pthreads in place, the API will not have a need to change until after 2.0. to me, it seems wastefull to put forth so much effort on trying to get 1.0 transports to work stably on 1.2, when the interface is hackish, since there is no MIO to glue them together solidly (if that's a real word).
Don't get me wrong, 1.2 Rocks, it's a HUGE step forward, but it's the first step, not the last... 1.2 is completely different than 1.0, if you haven't noticed, or looked at the code.. it just isn't the same server... not even close..
I'm not trying to step on any toes, I'm looking to get my feeling across without making people mad or upset.. I'm not trying to place blame anywhere... I love jabber, and I want to see it succeed... the only way to succeed is to develop.. we need more developers, more Open Source Developers. We need new views, new ideas, and new minds. we have a very very small dev team, don't fight us, join us! if you can make things better, PLEASE DO!! we will welcome you all with open arms!
The Road to Jabber Server development is a hard one right now, it's really tough to wrap your mind around what is going on inside the server, but if you want to, ask me, or any of the server developers, we will be glad to explain anything to you. If you are good at writing, WE NEED DOCUMENTATION!, if you are good at thinking, we need you too! We need to pump some new blood into the Jabber Open Source Comunity...
I'd like to quote Jer here:
we're putting our lives into this thing, and work with it on a daily basis
complaining is nonproductive, do something productive
* Jeremie Miller goes to play xkobo on that note
(editor's note: sorry, had to do it.. *chuckle*)
I fully believe that if we keep headed down the path we are on, there isn't going to be much to talk about at the end of it. We fully need to find out what the true problems are here, where we've gone wrong, and where we are going. Jabber.org as an open source project cannot survive without fixing our problems.
<snip/>
> the very subject line of this thread. Transport authors (who certainly
> have not effectively completed the task of getting their transports to
> work well with 1.2) are being advised to focus their attention upon the
> incompatible 1.3 server! Where is the sense in that?
The problem is that there is NO clean way for a transport to work with 1.2 server. In my mind it's a total hack the way we are doing it, and only 1.4 will fix that, so why not develop towards that?? why waste our limited resources getting it to work on 1.2, when we hope to release 1.4 before the end of the year? -- at which point we will be forced to rewrite all our work for 1.2.. does't that make less sense? It's fully a problem of perspective I think.. .org has one, .com has one, and our collective users hold a third perspective... they don't seem to mesh well unfortunatly, and I am only trying to convey this issue.. I hope that I am making myself as clear as needed.
If you want to become a server developer, but don't know how, PLEASE, email myself, jer, or any of the server developers, and we will be glad to help you get familiar with Jabberd. if not, we welcome Bug reports, patches, and comments, please send these to bugs at jabber.org.
Best Regards,
Keith Minkler
More information about the JDev
mailing list