On 2013.03.13 07:07, Richard Hughes wrote:
>>From my (perhaps naive) point of view, it seems much more priority is
> being given to edge features like WinCE support, rather than core
> issues with the library.

Glad you make that point, as it'll give me an opportunity to explain a 
few things.

First of all, and if there's just one element that one should pick up 
from this lengthy blurb that'll be it: someone who asks for a feature 
and provides a patch will always get preferential treatment over someone 
who just requests a feature. _ALWAYS_.

A good illustration of this would actually be the recent addon of FX3 
support for the fxload sample. We've had that feature request open for 
months, but when someone came along with a patch, it got integrated in a 
matter of hours.

So when Toby came to us in summer of 2012 with a proposal for WinCE 
support, along with a patch, then his work immediately became important 
to us as it offered us the ability to reach out to WinCE users with 
minimal effort (That's not to say that Toby's effort itself was minimal, 
but from our perspective, we had just been handed over a gift).

And if you can bear with ill conceived analogies, as far as WinCE is 
concerned, it's a bit as if we were unexpectedly given a PS2. Sure the 
PS3 is the console of the moment, and the PS4 is just around the corner, 
but I'll be darned if we're not gonna say "Thank you very much" and try 
to find out if there isn't some "good game" to be gotten out of it (i.e. 
something that will be helpful for our users) still. Moreover, with our 
list being open to anyone, the 6 months or so it took us to actually get 
WinCE integrated  left plenty of time for anybody to comment on whether 
they felt it made sense for us to spend time on that effort.

Now, let's talk about these 6 months, because what really happened 
during that time, in terms of taking advantage of the very nice patch 
that got handed to us was... nothing.

If you look at the mailing list, you'll see that the only thing that 
occurred during that time was me, dangling an ever delayed promise of 
integration to Toby, and even asking him to invest some more effort 
reworking parts of his solution, but with nothing happening (which was 
mostly due to lack of time from my side as well as stuff of higher 
priority occurring).

Well, I don't know about you, but when you keep promising something for 
months, there comes a stage where you have to get your act together. So, 
yeah, _eventually_, the unofficial priority of the WinCE integration got 
bumped. Yet, I'm pretty sure that if you ask Toby whether he feels that 
WinCE has been receiving a somewhat preferential treatment, or was 
considered by us as high priority, he'll probably have a somewhat 
different opinion from yours.

Finally, in case the recent WinCE cleanup work is only what you had in 
mind, please bear in mind that integration of a large piece of work 
always includes some post-integration housekeeping. There is a minimal 
effort that has to be directed to keeping a code repository that is easy 
enough for others to work with, as well as maintaining. Then again, if 
you really want to put an actual figure on how prioritized WinCE 
actually was from my side, and even counting the cleanup aspect, I don't 
think I invested more than 5 evenings in WinCE... over the course of 
these 6 months. Therefore I personally don't feel that WinCE got 
prioritized at all, or has diverted much of any resources away from 
other libusbx efforts.

> That seems a strange way of doing it. Surely adding the non-localised
> method first is the best way, then perhaps localizing the Linux
> version, and the other OS's is there is demand. I'm also slightly
> sceptical that strerror *needs* to be localised at all, as surely we
> don't want those errors presented in any kind of UI.

How about pushing that reasoning to its logical end then: Do we really 
need strerror? By all accounts, it could be considered as a superfluous 
function. Besides, is there really a scenario where argyllcms can't be 
modified to work without it?

In a nutshell, strerror not being seen has priority material is really 
the reason not much has happened on that front and we've been taking our 
sweet time (and for the other call, we have enough to worry about not to 
go around reopening old issues that libusb closed, whether libusb was 
right in closing them or not)

What's more, if we are only going to consider priority, and index it on 
what our users request, we should probably drop everything else 
(including releasing 1.0.15) and devote all of our time to hotplug. This 
has been our #1 feature request for years (that we got another request 
for that today is no exactly a coincidence).

> I maintain lots of libraries myself, and I really don't agree. It's
> perfectly fine to *add* API later for different use cases. It's find
> to have both libusb_strerror() and libusb_strerror_with_locale(char
> *locale) or libusb_strerror_full(char *locale), or even just use
> libusb_strerror() and use the LOCALE env variable. It's impossible to
> design every method to be 100% future-proof, and more important to get
> something that works rather than delaying so that a method can cover
> every use-case.

See above. Why should we multiply calls, and spend additional time on 
duplicated calls, when we can get a single libusb_strerror that'll work 
for both localized and non localized? No duplicates of documentation 
(because you can factorize code alright, but not so much documentation), 
no libusbx users having to pick between similar calls and potentially 
diverting resources by being confused and asking on the mailing list. 
There's always quite a bit more to just dropping some code and 
considering it done...

(Oh and for the record, I believe using the LOCALE variable is something 
we tested on Windows, and it was problematic. Plus don't forget we are a 
cross-platfom library => whenever possible, we want something that'll 
work for all platforms --which has nothing to do with future proofing)

As to whether it really needs to be localized, I'm actually on the fence 
on that one. However, some people strongly feel it should be and it's 
the job of a maintainer to try to satisfy requests, especially as 
providing a localized call will not detract people who don't care about 
localization from using that function anyway, so there's no reason to 
try to keep both sides happy.

> I'm perfectly willing and able to help and add the required methods,
> but I'm not going to be able to test or make the code work on any
> version of Windows or OSX, and that seems to a be a prerequisite at
> the moment.

As Xiaofan pointed out, no problem with that. Any patch is welcome and 
makes the feature you want more likely to be added on a (relatively) 
timely basis.

Regards,

/Pete

PS: Feel free to point out how I should probably have devoted the time I 
spent on this reply working on libusbx features and improvements 
instead. Regardless of prioritization, I still hope I have a minimal 
amount of choice on where I decide to direct my free time... ;)


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel

Reply via email to