On Mar 05, 2017, at 01:47 AM, Thomas Goirand wrote:

>Why waiting? The freeze is typically a time of very low activity and low
>disturbance. That's a perfect moment for doing the switch.

I think it's generally been the consensus, even outside of this team, that
doing vcs or other disruptive switches are bad ideas during times of release
freezes.  For example, upstream CPython recently switched to git + github, but
while an enormous amount of work went into making that as smooth as possible
beforehand, the actual switch wasn't done until after the 3.6 release.

There are lots of good reasons for that.  I think most importantly is that if
a last minute RC bug were to pop up, no one wants to have to figure out (or
worse, debug) a new maintenance workflow in order to fix that critical
problem.

But that only gates flag day.  Any switch of this nature requires a lot of
work before flag day.  Look at the switch from svn to git,  Stefano did a huge
amount of testing and development to get us to that point, with lots of test
migrations, feedback, etc.  Kudos to him for the tenacity and dedication to
the team on that.

>It took *years* to switch from SVN to Git. It's taking *years* to get
>out of git-dpm. How many centuries until the team realize that others
>are using CI/CD, automated testing, and such, and team member accept
>things changing fast on the right direction? There's always resistance
>for change in this team.

Let's look at the switch from git-dpm as an example.  We *know* there are
challenges in that conversion; I've experimented with it as have others, and
it's not a trivial operation.  So we need one or a few dedicated people to
investigate all the technical details of such a switch.  What are the steps
needed to convert an individual package?  How and when will we convert all
team packages?  What exactly will the new workflow look like?  Does the wiki
page accurate describe all the common tasks that team members will need to
perform?  Is there a test conversion that people can try out?  Where are the
scripts to do the conversion so others can contribute?  What is the process
for providing and addressing feedback as people test it?  What's the timeline,
and when is flag day?

I think one of the problems specifically with getting rid of git-dpm is that,
while the tool is deprecated and there are known problems, it actually kind of
works pretty well for us.  svn clearly was breaking down, but from a global
team point of view, git-dpm is still almost good enough, so the urgency to
switch hasn't been there.  Still, I think there's consensus that we need to be
using supported tools, and git-dpm does occasionally rear up and bite your
head off.  But we need volunteers to say "I am going to do the hard work to
make the conversion happen".  And of course we're all busy, and it's a
thankless job (but thank you Stefano for your previous work!).  So that's why,
IMHO, the git-dpm conversion hasn't happened yet.

If we're just not going to find the round tuits to do the conversion before
then, this would make for a very suitable collaboration for a team Debconf
sprint.

CI/CD, automated testing, etc. cannot just happen by fiat.  They may be great
ideas we can adopt, but *a lot* of hard work and dedicated time goes into
making sure the technology can handle things, but also, and more importantly
IMHO to make sure that everyone on the team knows how it works, understands
and can help debug any problems, knows where the well-written documentation
is, etc.  We need dedicated people to help people on IRC and email when they
get stuck or have a problem.  And we have to consider the needs of those for
whom contribution to DPMT is not a full-time job.

Yes, there is always a natural resistance to change.  But that can be greatly
alleviated by preparation and dedication.  Those things take serious amounts
of time and fortitude.  It's hard to devote that time when you Just Want To
Get Something Done and have to squeeze in an hour here and there to do it.

I look at folks like Brett Cannon doing the CPython GitHub transition as a
model for this.  I'm truly impressed at the work he's done (with lots of help
from others), and at the enormous positive outcome of the effort.  But also
keep in mind that flag day isn't the end of the process.  Things are still
getting tweaked to help smooth the post-migration pain points.  Now, maybe
DPMT won't be as complicated, but it still requires dedication and follow
through.  And faith!  You have to believe (and be convincing and convincingly
friendly in the face of all that inertia) that what you are proposing will
help make everyone's life easier, will make the process of contributions more
efficient for daily maintainers and occasional maintainers alike.

Cheers,
-Barry

Reply via email to