Okay, so with the
“Bits from the DPL” talk that Sam and I
shared now out of the way, that hopefully means finishing off
the
whole dunc-tank thing won’t imply any more conflicts of interest,
potential or otherwise. And since we’ve now had the
post-etch release
team report, there shouldn’t be much to wait around for.
I’d been kinda hoping to be able to come to debconf with a pre-prepared
report of similar quality to the
debconf6’s final report
(or
debconf5’s for that matter); but while I was going back
through the discussion threads, it just got harder and harder to find a
way of writing the report that didn’t seem like it’d just inspire the same
arguments again. I
think that’s avoidable – I know some of the
people who were against the way dunc-tank ended up have indicated there
are other approaches they might support, and it ought to be possible to
summarise the dunc-tank experience in a way that lets us have a better
idea what to do in the future based on that experience, than have the
same disagreements we’ve already had. Anyway, my best guess is to try
crafting the report via blogging or put it on a wiki or something.
Anyway, there are three things that I thought we could usefully have
in a report that wouldn’t devolve into the same old arguments (after
all, if we at least have new arguments, that’s some sort of progress!).
First of all is trying to have a real understanding of what happened
with etch – getting a release out is complicated with lots of potential
blockers beyond just “release management” work: d-i, kernel, toolchain,
CDs, builds, bug tracking, whatever. Presumably dunc-tank only ever
had a chance of removing release management as a blocker, and since we
can’t redo the etch release while changing parameters like dunc-tank
or Vancouver, at least having as clear as possible understanding of
which blockers happened when, and what other influences might have been
important the release process seems like a good way of understanding
the influences that were and weren’t important, so we can have a better
idea what to do in future. I’m figuring a reasonable structure might be
something like:
- Release blockers between July 2006 and April 2007
- Analsyis of bug discovery/resoution rates between July 2006 and April 2007
- Comparison of major statistics for etch with previous releases
(freeze length, etc)
- Comparison of etch with Ubuntu’s edgy release (October 2006, roughly the
time dunc-tank started), and feisty release (April 2007, roughly the same time
as etch’s release)
- Summary of other release timliness projects: Vancouver proposal, release
assistants, BTS version tracking and changes to RC bug monitoring, transition
monitoring through the entire release cycle, binNMU changes, improvements
in experimental support, BSP marathons
- Summary of release quality projects: DFSG-free content, LSB support, security
support for testing, QA meetings, piuparts runs, whole archive rebuild testing
The theory is that the above should provide the information to make a
good judgement of what (if any) effect dunc-tank (or the other projects)
had on the release, without implying a preconceived conclusion of whether
dunc-tank’s “good” or “bad” or whatever.
As well as looking at the release stuff in some depth, it seems to me
to be pretty sensible to do a report on how dunc-tank worked financially.
Anyone doing any similar sort of “let’s raise funds, then spend them
on free software” is going to have similar issues in getting publicity,
collecting funds, and actually spending them, no matter how they end up
deciding on the harder questions of deciding who or what to fund. There’s
not a lot to say there, and I don’t think there’s much that’s controversial
there either, but there are a few problems and approaches to solving them that
are worth reporting on.
I think that’s about as far as you can get trying to cleverly avoid
the controversy though. And presuming we rule out the idea of choosing a
position on some of the controversial questions and advocating for that
(“dunc-tank was good, paying release managers was awesome, we should
do it again for everyone!”), the best idea I’ve had so far is to just
try summarising some of the controversial questions that remain open,
which Debian, or dunc-tank, or whoever can then address in whatever way
we like – by GRs, or further debate, or more experiments, or leaving
it to other people to do for us, or whatever. So having the questions and
some of the arguments for various answers and summarising what happened
with dunc-tank seems like a plausible way to go. The questions I’ve got:
- Is paid work compatible with volunteer work?
- How the release managers and assistants reacted to doing volunteer
work while someone was paid to do similar work
- Other developers – some donated; others resigned or reduced work
- Dunc-bank and QA initiatives
How much distance should there be between Debian and whoever’s funding development?
- Involvement of DPL and high-profile developers
- Involvement of SPI
- Statements from press reports about the relationship
- Votes to support/endorse/recommend against
- Donors being confused as to where to donate funds
How should work or developers to be funded be chosen?
- Potential for favouritism
- Potential for misalignment with Debian’s goals
- Choosing based on least controversy or most benefit
How should paid “volunteer” work be priced?
- Covering living expenses?
- Comparable rate to similar proprietary/commercial development?
- “Market” rates?
- Full-time versus part-time work
- Contracts versus prizes or bounties or rewards
No promises as to whether they’re the best questions, the best
sub-points, or that we’re going to be able to come to an answer on any
of them. :)
Anyway, that’s my theory so far, no I need to grab some lunch before
the next lot of talks – feel free to mail me, or talk to me in person,
or blog responses or whatever…
You can host your push repository in http://repo.or.cz.
If you prefer to do it your own you have git-daemon (Have a look to tutorials). Good luck!
I'm just really interested in how other people deal with this issue of needing semi-location-independent access to the branches.
Enjoy!
Just read man git-remote, man git-push, man git-pull and man git
$ git remote add upstream git+ssh:///path/to/bare/git<br />
You can then
$ git pull upstream .<br />
or
$ git pull upstream/some-upstream-branch my-local-branch<br />
or
$ git push upstream/some-upstream-branch<br />
ssh remoteserver
mkdir myproject.git
cd myproject.git
git --bare init --shared=all # world readable, group writeable
chgrp -R git .
vi description
exit
# back on local system
git remote add origin git+ssh://remoteserver/path/to/git
git push origin master:master
git push origin branch2:branch2 # repeat for other branches
You may then want to re-create your local branches so that they "track" the remote branches. "man git-branch" for more details on this.
Hope that helps!
[geshi lang=sh]
# first time on each machine only (you can use DAV, too)
git remote add server git+ssh://server-hostname/path/project.git
# every time
git push server
ssh anothermachine
git fetch server
git pull server branch-on-server-to-merge-from
# merge happens; continue working
# start over again from the push
[/lang]