On Oct 21, 2005, at 9:53 PM, zdennis wrote:

> Jamis Buck wrote:
>
>> Zach,
>> I have been approached by someone who has expressed a desire to  
>> take  over maintenance of Net::SSH. However, he's been quite busy  
>> for the  last few months, too, and I'm not sure how soon he'll be  
>> able to  begin active development.
>> I won't speak for him, though. If/when he's ready, I'll let him  
>> speak  for himself.
>>
>
> Until that time can we expect any updates you make to be merged  
> into the net-ssh source, so when that person is able to take over  
> issues that have been fixed (or mentioned on the list) are incluced?
>
> Thanks for everything Jamis, I love Net::SSH that is why I ask so  
> much =)

Any updates I make will be made to the Net::SSH source directly, and  
committed to the repository. (Which, incidentally, is subversion now,  
and is at http://svn.jamisbuck.org/net-ssh.)

However, I am not very likely to make any more updates (due to time  
constraints, mostly), barring critical bugs that cannot be worked  
around (and I don't believe there are many of those left). However,  
if you have a feature or bug fix that you would like to see taken  
care of ASAP, the quickest way is to fix it yourself and submit a  
patch. I'm much more likely to spend the 15 minutes it takes to test  
and apply a patch than the 1 or 2 hours it takes to fix something  
myself.

And, while I'm on the topic of Net::SSH... My dream is for some noble  
programmer to swoop in and rewrite Net::SSH for me. Why a rewrite?

1. The needle dependency is unnecessary. As has been demonstrated  
repeatedly, a dependency injection framework is overkill for most  
applications, and it certainly is for Net::SSH. Needle in Net::SSH is  
mostly baggage that further complicates an already-complicated  
framework.

2. The API is absolutely embarrassing. It was done completely  
backwards. Instead of starting with a desired interface and working  
back towards the implementation, I started with an implementation and  
evolved the interface, which means it is currently confusing,  
nonintuitive, and hostile.

3. Unit tests were tacked on after the fact, which means that instead  
of testing what the library _ought_ to do, they test what the library  
actually _does_. A subtle difference, perhaps, but significant.

Anyway, a fellow can dream.

- Jamis