[argyllcms] Re: dispread fails with ubuntu packed argyllcms with i1pro

  • From: "Alastair M. Robinson" <profiling@xxxxxxxxxxxxxxxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Tue, 12 Jan 2010 20:41:41 +0000

Hi :)

Roland Mas wrote:

  One could ask who has time to maintain a forked version of a library
when submitting the occasional patch upstream would result in less work
for the forker and a fixed library for everyone.

On the other hand, if patches aren't being accepted upstream, the fact that you *can* maintain a fork if you find that the "official" version doesn't do what you need is frequently touted as one of the major benefits of open source.

I'm actually torn on this one - especially since I was responsible for one of the early autotools patches, and also used the system libusb until the reasons for not doing so were explained.

I'm also the author of tools which depend on ArgyllCMS so I have a vested interest in seeing it widely distributed.


To summarise the problem as I see it:

* Argyll uses libusb-0.1

* Certain instruments do not work with stock libusb-0.1

* Argyll includes a patched libusb to make these instruments work

* Upstream will not accept patches against libusb-0.1, since it's obsoleted by libusb-1.0
[//www.freelists.org/post/argyllcms/argyllcms-104-and-libusb-10,3]

* Even if upstream was accepting patches, Argyll's modifications have been known to cause issues with other devices
[//www.freelists.org/post/argyllcms/concurrent-timeout-patch-for-libusb-is-causing-regression-in-pilotlink,1]

* Migrating to libusb-1.0 (and *then* pushing patches upstream if still needed) isn't a viable option until libusb-1.0 supports Win32 and Win64.

I can see the ideological objections to the private fork of libusb, and yes, to a certain extent they're valid, and I used to think the same way - but Graeme has repeatedly stated that there's a good reason for the fork (and who can claim to know any better?) so I guess it comes down to a conflict between idealism and pragmatism.


Also worth considering is that, had Graeme not used libusb at all, and implemented his own USB access library, there would be no issue. If we have a system that punishes code re-use and encourages re-inventing the wheel, something's not right!


All the best
--
Alastair M. Robinson

Other related posts: