[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gNewSense-users] KFV back end / Code Review Programs

From: Danny Clark
Subject: [gNewSense-users] KFV back end / Code Review Programs
Date: Wed, 09 Jul 2008 13:50:24 -0400
User-agent: Thunderbird (X11/20080505)

I was thinking about the KFV process, and it dawned on me that the
problem is very close to the standard Code Review problem - only we are
primarily interested in few pieces of metadata, namely the license and
if the file may contain any Binary Blobs (yes/maybe/no).

Emacs KFV mode seems like an excellent front end to mark this metadata
(at least for those who don't mind spending some set up time and using
emacs), but to me the wiki seems like less than an ideal back-end data
repository - it's not easily queryable, it doesn't do data normalization
 or allow for constraints on data, it's not that easy to see who did
what esp. on a larger scale, stats have to be updated manually and can
be misleading at some points in time, concurrent editing and conflict
merges aren't really handled, and it's not easy to make a local copy of it.

The way I've seen of doing similar processes before (in corporate
settings) is with a version control system that supports storing
metadata about files, like subversion (and probably git, and I'm sure
many others), and a code review program.

(Q1) Is a version control program not used just because no one has had
time to implement it, or are there arguments against it?

IMHO Having the base back end be a version control system would also
help a lot when reviewing new kernels, and would also ease the
maintenance of any gNS-specific kernel patches we want to include in the
future (i.e. a backport of ath5k or other Free Software drivers not yet
in the mainline kernel to the current gNS release kernel.)

I'd be happy to play with a few options people like and write up / find
doc on how they could be used - I'm most familiar with Subversion, but
of course git should probably be looked at since it's what Linus uses
for the Linux kernel, and I'd be happy to take other suggestions - keep
in mind however that if you go with more mainstream Free Software, there
tend to be much nicer integration with other related Free Software, such

(Q2) Have people looked at some of the available Free Software code
review software at any point in time?

A quick search found:

Code Striker (GPLv2, Perl)

JCR - Java Code Reviewer (GPLv2, Python)

Review Board (BSD-like, Python/Django)

rietveld (Apache License 2.0, Python/Django)

Code Striker looks like the obvious candidate to try out first, as it's
written in Perl like PmWiki, is GPL, and also is one of the more
established tools on the list.

If you have played with any of the tools, what did you think of them?

If not, would you be interested in having me set up some demos so you
could poke around?

I'm not proposing either of these tools as a wholesale replacement of
anything - I'm guessing emacs KFV mode could easily be made to interface
with the emacs version control mode to mark changes to file's metadata
(and thus also become much more generally useful and maybe be more
likely to get some non-gNS people hacking on it to scratch their own

PmWiki could also be changed to be a front end for displaying and
editing the data, rather than both the back end for storing it and one
of two front ends (along with kfv.el at the moment) for editing it (i.e.
a PmWiki interface for editing and displaying the metadata in a version
control repository, which would also be more generally useful and
possibly interesting to an audience beyond gNS hackers).

So in summary, the two ideas / questions about whether things have been
considered in the past are:

(Q1) Store for file metadata (license, blob state, etc)
     PmWiki -> Version Control System (eg. Subversion)

(Q2) Addition of an established web-based code review tool to the
options people have when doing KFV work (in addition to kfv.el and
manually editing the wiki.)

All comments appreciated,
Danny Clark # Sys Admin, Free Software Foundation
# #

reply via email to

[Prev in Thread] Current Thread [Next in Thread]