the dilemma of 3 different Pear IRC classes.. solved?

From: Date: Sat, 04 Jan 2003 04:15:04 +0000
Subject: the dilemma of 3 different Pear IRC classes.. solved?
Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-12079@lists.php.net to get a copy of this message
This isn't supposed to be a flame at SmartIRC or Yapircl. I said what I believed to be facts at this time, if I am incorrect about anything I said, please tell me -- it was not intended. I hope this mail will also better explain to the wider Pear community why there are 3 different IRC classes at this time. All three of us authors got a chance to talk on IRC today. I have decided on what Net_IRC's Target / Niche will be: 1) Run on standard PHP 4.3+ (no extra extensions - right out of the zip file/make install) Currently Yapircl and SmartIRC require a non-standard, experimental, extension to run.(they use socket_*). SmartIRC has the ability to use fsockopen, but it is by no means good at it(using a looping usleep around it -- note: this the absolutely worst way todo it in Windows, since it doesn't have usleep, it will be a nice tight read loop, eating up CPU). 2) Run on all PHP Platforms (FreeBSD, Linux, Windows, etc) I don't believe either of the other authors has really made this a large priority. I would like Net_IRC to run completely cross platform, and do it well. (Windows being the kicker) 3) Native multiple server connections Both SmartIRC and Yapircl do not support multiple server connections natively at this time. meebey(SmartIRC author) has said he doesn't support the concept, and if you want an irc client/bot on more than one server, you should run two sperate PHP process. Yapircl does support more than one server at a time but this is done by creating more than one object at a time. There is an example of this included with Yapircl. However, this solution is more a "hack on" way todo it. I have tested Net_IRC on my internal IRC server with more than 300 concurrent connections. While the vast majority of users will never need that, I think the ability to connected to multiple servers, wether it be 2, 3, 10, or 400, is a good feature, and to support it natively without requiring a "hack on" method is a unique feature that is needed. Since both Net_IRC and Yapircl are both under the PHP License, I have talked to gtk(Yapircl author), and I think we will both benifit from some code sharing. To my knowledge SmartIRC will only be LGPL, which is rather useless for me and gtk, as we can't use any code from it directly.(and defining if include() violates the LGPL.. well ill let somone else do that.) -chip

« previous php.pear.dev (#12079) next »