Hi,

On 09/28/2012 02:03 AM, Pete Batard wrote:
> I'll start with some comments on distro packagers.

<snip>

Most work for distros with multiple ABI/API versions will be in that
a parallel installable package for the new API/ABI will count as a new
package, needing to go through various distro procedures for new packages,
and once in place, there will be 2 (or 3 or 4) libusb library packages to
maintain instead of 1. This is all not necessarily disastrous :) But still
we should at least try not to burn through ABI/API incompatible releases
too soon. I also know of several upstreams for other libs who have done
that and they are not popular with distros at all!

> Now, with regards to the other matters:
>
> Great, at last somebody else is proposing some rebranding and moving
> away from a potentially conflicting libusb space.

I never was against that other then for compatibility reasons, so if
we drop compatibility, lets rebrand :)

>
>>>> "libusbx-2.0\libusbx.h"
>>> "include <libusb.h>"
>
> I think we should to go all the way with our header rebranding, and use
> libusbx.h, even as we keep libusb_api_call(). Be it only from a
> support's perspective, if someone only sends us code, it may help to
> have some evidence that they are actually using libusbx just by looking
> at it, and that they has a clear intent to do so. Plus, I think the
> libusb guys would also be quite happy not to end up with libusbx users
> that got confused by the presence of a libusb.h.

Hmm, see below.

> Besides, we are a fork. And while we of course want to make it easy for
> our users to switch, we also have to make it clear that we are a very
> separate entity from libusb. As such, we should request our users to
> willingly choose which one they really want to use, be it only with a
> one letter change in their header. Proceeding any differently seems very
> unhealthy to me, as it still leaves some of the uncertainty I would like
> to see us break free from.
>
> And yeah, this makes our own 1.0 -> 2.0 process (slightly) more
> difficult. But then again, the real reason for the above was our
> decision not to break clean from libusb when we first released, so it
> seems a bit of a catch 22.
>
>>> But I assume we are going to keep calling all the functions / structs
>>> libusb_foo and not libusbx_foo,
>
> That's the way I see it too. While I'm all for helping our users
> understand that they need to choose between fork and original, once
> we're past that, the need for code modifications should be as close to
> zero as possible.
>

My main worry here is packages which want to be able to build with
both libusb versions. We want to keep the #ifdef magic for them to a
minimum, which would be easier with keeping the libusb.h name.

> As to going 1.9 with big EXPERIMENTAL notices, I'm also all for it.
>

Good.

> Finally, with regards to figuring out some of hotplug, I'll have to dig
> up the 3 phase plan that we kind of talked about previously. In the
> meantime, this [1] is one way the initial phase (non event related) of
> hotplug addition can be approached.
>
> Regards,
>
> /Pete
>
> [1]
> http://git.libusb.org/?p=libusb-pbatard.git;a=blobdiff;f=libusb/libusb.h;h=f5eb81110d7ef9698c6c2b1783b681a5a3fa3a2f;hp=d46c68b4512b15b06a547100d47e638766f82f0c;hb=6cb025b4c853f2c034f72e12b1ab243d9d6e2a59;hpb=f62bae968fc07aff6e7f1e77b70e10010652a0df;js=1

Looks sane. One option would be to give the callback an action argument
which is an enum of { added, removed } (for now). And warn in the doc
we may extend the enum. I don't know why we would but telling users that they
may get other values in the future seems like good future proofing.

###

On the topic of 2.0, I've one more addition to the API change list,
drop the libusb_kernel_driver_active / libusb_detach_kernel_driver /
libusb_attach_kernel_driver functions (to be replaced with
libusb_ioctl). I expect to have libusb_ioctl patches within a couple
of weeks, and otherwise we could just not have these for the first 1.9.x
release ..

Regards,

Hans

------------------------------------------------------------------------------
Got visibility?
Most devs has no idea what their production app looks like.
Find out how fast your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219671;13503038;y?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel

Reply via email to