On 2012.07.12 19:31, Peter Stuge wrote:
> As Pete likes to point out I have no authority in the libusbx
> project,

Indeed. Still you seem suspiciously eager to comment as if you had, 
apparently striving to do it before any of the regulars actually get a 
chance to reply...

I find this as both very rude and damaging, as, seeing that you are not 
endorsed as a moderator here, yet pretend to be entitled to act like 
one, it does end up sending mixed messages. Great way to undermine a 
project that decided to fork precisely because we disagreed too much 
with your views.

At least, now that libusbx is operational, I do have the decency not to 
try to undermine your authority in libusb. I kind of was expecting the 
same, but maybe that was just too much to ask from someone with a track 
record of wanting to impose their control on everything.

> so as far as libusbx is concerned I think the best
> might be if you could pretend that I had never posted this
> feedback on the libusbx list.

Peter, rather than pollute libusbx with libusb matters, how about you 
contact the poster privately first, to see if they want to duplicate 
their message to libusb. Then you would have the ability to voice your 
comments there, where they belong.

>> I've attached a series of patches, split up into the backend and
>> various changes to common code.
>
> I think you've split too much actually

I don't. And I don't think it matters that much anyway.
Mixed messages already...

>> This backend requires the Windows CE Standard 5.00 SDK.
>
> * Why? - I mean: What parts of the SDK are required?

Here again, I don't think it matters at this stage. Obviously, since 
we're dealing with new code, we might as well take it one step at the 
time. So, as far as I'm concerned, 5.00 is fine because *once* we've 
sorted out 5.00 support, we can try to see about more recent versions.
I'd rather concentrate on what matters for now, which is to try to have 
at least one CE SDK that compiles and can produce something that our 
users can play with.

>> The current limitations of this backend are:
>> * It only supports control and bulk transfers. The CEUSBKWrapper
>> driver doesn't (yet) support isochronous or interrupt transfers.
>> The kernel APIs do exist, so they just need to be exposed to user-side.
>
> What kind of effort does that require?

Not sure this matters in a RERO process. Whether Toby wants to follow 
through with supporting isochronous and interrupt or isn't that great of 
a concern as much as long as we have a base. If there is demand for 
those, then someone, who may or may not be Toby, can take over and we 
can worry about how much effort will be required then.

>> The attached patches are broken down as follows:
>>
>> 0001 - adds the WinCE backend code and build files.
>> 0002 - Updates .gitignore to include the WinCE build files.
>> 0003 - Adds support for the WinCE backend to common code.
>> 0005 - Updates some time API calls to call the appropriate APIs for WinCE.
>
> The above should be combined into a single Add Windows CE support patch.

Again, don't care. The current breakdown is fine with me, as I prefer 
getting stuff integrated rather than focus on being a git zealot.

>> 0004 - Replaces getenv() with NULL on WinCE due to it not being supported.
>
> Try to change this in a good way where getenv() is called, instead.
> Is there an equivalent to environment variables in Windows CE? Maybe
> the registry? The question is in which key the value would be.

I'd also prefer if we could have something better than a null getenv(), 
provided that it's possible. But whether this is being looked at 
tomorrow or months from now isn't a major concern.

> If no, then you can always simply make autoconf check for getenv and
> put the code in libusb_init() within #ifdef HAVE_GETENV. Just don't
> forget to initialize the dbg stack variable if you go that route.

That would indeed be the better approach. Again, Toby, whether you want 
to do that now or later on is not an issue, as, unlike libusb, we're 
trying to be RERO, so we'll prefer early integration of a new 
experimental backend over added delays due to minor implementation 
details that can be improved later.

-------------------------------------------------------------------------

OK, now with regards to what I would have been replying outside of 
Peter's intervention:

1. This is great. The more backends we have, the better!

2. Obviously, we'll want to flag this backend as experimental for a 
while after we integrated these changes. But because it'll be 
experimental, we should be able to get some leeway with regards to the 
process. I'm hoping we can have some of it in 1.0.13. If not, 1.0.14 
should definitely be our target.

3. My preference for having this integrated would be that:
   - you create a fork for it on github, based on 
https://github.com/libusbx/libusbx, which is where we have moved our git 
master. The idea is that, if it does take a while before we start 
looking at CE integration, you'll be able to rebase your patches against 
the latest libusbx for when we are ready, and people who follow libusbx 
and want to play with your changes will be able to use the same 
infrastructure. Also, when you have a fork, you can directly attach 
patches from your fork to issues raised against the origin.
   - you create a new enhancement for adding CE support at 
https://github.com/libusbx/libusbx/issues, so that it's firmly on our 
agenda, and so that it's publicized.

Now, it seems in his eagerness to impose his mark on this integration 
process, Peter has rushed into commenting on your code. I'm not going to 
do the same, as I'd prefer reviewing what you've sent at my leisure. 
However, I'll just comment on the following:

>>   libusb/os/wince_usb.c              | 1222 
>> +++++++++++++++++++++++++++++++++++
>>   libusb/os/wince_usb.h              |  156 +++++
>
> How about refactoring the existing Windows code so that everything
> that is common between the two systems will exist only in a single
> place?

I will very much prefer if the CE and Windows code is kept separated.
The reason is that we will prefer something that's easier to maintain, 
and therefore less prone to breakage, over something that will win us 
first prize in the "looks clean" competition. The Windows backend code 
source is large enough as it is.

> If you consider that infeasible then please sell that a; write
> about why, and write about what is different between the normal
> windows backend and the wince one.

Seriously, what the heck is wrong with you Peter?

Someone comes up with something that you just don't like, and now they 
have to stand trial? And what's more, on a project that you have no 
authority upon?

How about welcoming code in any state and trying to integrate it early 
so that it can *actually* benefit users?

Pointing to sections of code that you think can benefit from an 
improvement is fine - that's what reviews are for.
On the other hand, this attempt to force someone to justify something 
that is unrelated to code (breakdown of files) just because every time 
you appear to see something that you subjectively label as "unclean", 
you try to force your own preference, isn't.

You're clearly disputing a matter of mostly subjective preferences here, 
and even if we were to remove the subjective aspect, the logic of the 
integration process would likely go against your wishes of something 
that looks nice and clean. Sorry, but this is not the kind of discussion 
we want to have on this list: whether the CE code is part of a global 
Windows backend or separated shouldn't matter to our users as it 
shouldn't impact performance. And as stated, from a pure maintenance's 
perspective, I see a lot of advantages in trying to keep things 
separated, especially as this is brand new development.

So please kindly take your "sell us your choice" bullshit elsewhere, 
while leaving us concentrate on the elements from this patch that will 
actually matter for libusbx users.

Regards,

/Pete


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel

Reply via email to