Metavibes

Saturday, November 25, 2006

Andrew Cowie's talk in FOSS.in 2006

He gave a talk on "Solving fundamental structural problem of free software movement" where he addressed various problems.

He addressed the fact that it is indeed not very easy to contribute code for someone who is interested in participating. There is a long learning curve, and inherently centralized approach to get your patches accepted. The root of problem is the fact that everyone uses cvs and subversion, and he highlighted other emerging tools which approach the problem at the process level itself i.e. doing patch management in very different, decentralized manner.

Second problem is the difficulty of having to set up the build mechanism using make, autoconf and host of other tools, and he and others are working towards a simplified tool that could help the process (buildtool).

Third problem he addressed was the fact that bug tracking tools are indeed very bad - in the sense that for a given problem one faces, it is very difficult to trace back to the root of problem, which end up in some bug tracking system set up within project contexts, and end up as frustrating experience - especially considering that different libraries of same projects will use different bug-tracking systems altogether. Solution? To create a unified bug tracking mechanism.

And finally he also gave a lot of insights in ongoing Microsoft and Novell agreement related issues. And the fact that Microsoft can resurrect long-forgotten patents. He quoted example of DOS file system patent, which was resurrected after about 16-17 years or so...

People like me, who can't contribute on continuous basis, but can once in a while identify bugs and do small enhancements will indeed want to see some interesting things happen. I recently wanted to add a simple support for privoxy - to make it select a proxy from a list of proxies provided during runtime (something like switchproxy that is available as firefox plugin). I wanted this so that networking roaming is simplified and I can make privoxy the only proxy all my applications should configure and use; so I don't have to worry about switching proxies of every app when I roam. I knew exactly what code I wanted to write, but I couldn't get the build environment setup in quick enough time. (Especially considering that I wanted the binaries for windows).... and finally gave up on the idea.

Perhaps the approach for things like making bug tracking uniform is to let each system give out ATOM feeds with specialized entry types (i.e. of type "bug"). Agreeing on schema will always be a problem, but we can still do something.  The feed aggregators can then ensure that they identify these entries and provide a uniform look and feel at client-end. And we require a mechanism to capture dependencies, and associate raw errors with high level errors. (For e.g. "xyz.h not found" should be translated to "Package xyzxyz not installed on your system."). The ATOM feed approach also helps offline users who are connected to internet intermittently...

And same approach should be usable for build system itself i.e. whatever will be accepted as replacement for CVS/Subversion on large scale...

-Vinod

0 Comments:

Post a Comment

<< Home