← Back to team overview

kicad-developers team mailing list archive

Re: Revisiting the Git decision (I come in peace! - with a patch)

 

Thank you for this mail. I fullheartedly agree.

I myself am usually very active with contributing to projects I am using -
many projects from KDE to LyX, gimp, kphotoalbum, OpenScad ... (many more
to name) have patches from me. Mostly because whenever I use a program, and
I see things to change/fix/improve I just do it, because as a software
engineer that is the matter I do all day :). If things are simple git pull,
branch and send a pull request for review and iterate, I am happy.

I have used many VCS systems - from sccs, RCS in the early days over CVS,
SVN, now Perforce (yeah, for work) and git. I contributed to SVN, was the
maintainer for CVSweb for a while. I even wrote a VCS system my diploma
thesis. And for one one patch to KiCad I even used bazaar. The
*only*project I ever had to use bazaar. So yeah, I had some exposure
to VCS
system.

Bazaar is powerful and it looks like it has similar features to git.
However, it is an oddball VCS that never took off and is mostly dead now.
It is rarely used while git is one of the hot VCS systems that a very high
percentage of open source projects use, virtually every open source
developer is familiar with it. I suspect even the main KiCad developers are
familiar with git.

When I contributed one patch to KiCad, I perceived the use of bazaar an
inconvenient hurdle. And the mental fatigue you feel when you have to learn
about some rare and obsolete technology that is only used in very few
projects (only _one_ project I care about), just to get the work done.

I believe that many developers and potential contributors feel the same and
the occasional thread like this popping up on this mailing list shows that
there are many potential developers that would like to contribute, have an
easy-to-use git-pull request and review process such as on github and just
spend the time getting some patches done, not battle with a VCS hindrance.

Right now, I do have a list of like 5 things I want to work on on KiCad and
contribute patches, but the prospect of having to figuring out again how to
properly do local branches, do the equivalent of pull requests and code
review for a rare VCS that is not relevant for anything else I do is
keeping me from doing it.

Of course you could just say that I am lazy and should just get over it and
learn bazaar. Fair point. But fact is, that this is preventing _me_ from
getting into the contribution right now (and working on KiCad) and many
others as well.

So while I respect the decision to stick with bazaar right now, just be
aware that this definitely is a hindrance and hurdle for people to
contribute.

We keep the kicad library in git. But we keep the KiCad source in bazaar.
Just that double use alone would qualify for switching to git now.
It is forseeable, that the need to switch away from bazaar is at the
horizon in a year or so anyway. Why not do it now and have a more inviting
development environment for hundreds of possible contributors - to
unfortunately the expense of a dozen or so regular contributors who have to
adapt to a different workflow.

-henner



On 1 February 2014 03:40, Joel Holdsworth <joel@xxxxxxxxxxxxxxxxxxx> wrote:

> Hi Guys,
>
> I'm new to this project - though not to open source in general. I'm the
> author of PulseView - a GUI for logic analyzers and oscilloscopes; part
> of the sigrok project.
>
> I've been trying to get started making contributions to your project,
> building from source, fixing problems etc. and I feel like I've
> encountered an unusually large number of hurdles to me a would-be casual
> contributor.
>
> I'll just mention one of them in this message, and that is the project's
> usage of Bazaar. I understand some discussion has already taken place
> about this, and the project authors wish to stay with Bazaar - and I
> respect that decision. As a project author myself, I agree with the
> principle that the authors can do whatever they damn well like.
>
> But...
>
> Here's the thing: I really think it's the wrong call.
>
> Though I'm not at all happy to say it, Bazaar is dead. You can see that
> clearly here: www.ohloh.net/p/bazaar - bazaar has not had a single
> commit in 3 months. In that time Git has had literally hundreds. Or try
> reading this blog post from a former developer:
> http://stationary-traveller.eu/pages/bzr-a-retrospective.html
>
> But Bazaar is still usable - it still works - right? Of course this is
> true, one can still get work done with it, and will be able to for some
> time to come. But at this point - in my opinion - it's a dead horse.
>
> Rightly or wrongly, Bazaar has lost the mindshare battle, and now very
> few developers have any familiarity with it at all. Whereas with a Git
> project, I can grab the code, make a local branch, start hacking, make
> some commits, tidy them up with rebase, shove them up on a github
> account (that I already have ready to go), and notify the maintainer -
> all without learning anything new. And I think this is true for many
> other developers. But in kicad using bazaar there is significant
> friction involved in every single one of the above steps for the newcomer.
>
> Of course someone sufficiently motivated can overcome these things. But
> I think there is a significant constituency of good contributors who
> just have very little time to spare, but who have good things to offer,
> and who you never hear from because they were discouraged by the friction.
>
> For myself, overcoming this friction has definitely kept me away from
> hacking on Kicad for some time.
>
> So I'm asking what you think?
>
> Of course I totally respect the project author's right to decide, and I
> really respect this project - it is an amazing piece of work. Which is
> why I really want to see it continue to grow and prosper.
>
> I consider myself somewhat knowledgeable about Git, usage, migration
> etc., so if I can help with some transition work, or clarify anything I
> would be happy to help.
>
> On the subject of Launchpad - it seems to me like a fine project system,
> so if everyone is happing using it, I see no need to migrate away from
> it - unless you want to. And there are several high quality Git hosting
> platforms available, some have wikis and bug trackers etc. - if you ever
> want to do an import to them at some point in the future.
>
> Also, I've been doing a little work on scripts/libary-repos-install.sh,
> see the attached patch, would someone be willing to review it/commit it?
>
> Best Regards
> Joel Holdsworth
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>
>

Follow ups

References