[GNC-dev] Request of keeping a 2.6 branch still alive (Re: branch-2.6)

John Ralls jralls at ceridwen.us
Sun May 27 19:48:01 EDT 2018

> On May 27, 2018, at 12:50 PM, Christian Stimming <christian at cstimming.de> wrote:
> Dear John,
> I did notice that the 2.6 branch was deleted (meaning: "maint" is now the 3.x 
> branch), but I didn't understand the reasons and didn't see any discussion of 
> this decision. I have some requirements which I can meet most easily by just 
> continuing the 2.6 version of gnucash, but this in turn needed some occasional 
> commits there. For example, I'm still running Ubuntu 14.04 for reasons beyond 
> the scope of gnucash, and I haven't been able to build the 3.x branch on that 
> machine because of missing packages. At the same time the 2.6 branch met all 
> that I needed for everyday work, so I just stick to this.
> Hence, I don't quite understand why there is such a strong requirement to 
> prohibit specifically any further existence of a 2.6 branch, and why you use 
> strong language to underline your point of view here. Also, it's a bit 
> puzzeling to me why you suggest me of all people to "change the name and 
> artwork" in case of a 2.6 branch - what have I missed here?? Where was the 
> discussion that led to this decision? Where was the decision process, if this 
> were the project's decision? Maybe some more liberality for other people and 
> their different requirements might be more suitable on your side, before 
> calling other people's requirements a "fantasy".
> This particular pull request for the 2.6 branch showed up only one week after 
> I created that branch. To me, this looks like there are still more people 
> interested in such a branch. Of course, nothing new will happen there, but the 
> interest still exists.
> For this reason I propose to keep some old 2.6 branch still up and running in 
> the gnucash repository. I would volunteer to act as an owner of that branch, 
> in case this is needed, but on the other hand we didn't need any such 
> designated branch maintainers for the most part. Further voices? objections? 
> ideas? Thanks.


Sorry that I wasn't clear.

Geert and I decided after an IRC discussion that the simplest way to switch unstable to maint was to simply merge unstable onto maint and to remove the unstable branch, which is what we did. The 2.6.x releases are all tagged. Git isn't SVN, there's no need for a 2.6  branch to record what was in each release. The only reason for a separate branch is to develop a fork.

As you should be aware, we're very short of developer resources. We very simply cannot maintain two stable branches and still have time to also develop for the next major release. That's even more true now than it was 4 years ago after we stopped development on 2.4 because you and Phil Longstaff were regularly working on GnuCash then; both of you have left and no one has come forward at the same level of effort. 

As far as I can tell there have never been two stable branches maintained in parallel, so the question about a policy decision falls on you, not me. Where was the discussion to revive and maintain the 2.6.x branch after the release of 3.0? I know the answer: There wasn't one. You *unilaterally* decided to impose your personal requirements on the rest of the team by creating a branch and implying on a bug report [1] that it was possible that we'd have future releases. Sorry, that's a fantasy. We don't have the resources. Your branch already caused someone to waste their time making a PR [2] in the mistaken belief that they were contributing to the project. 

You're of course free to have a 2.6 branch in your own repository and to continue that development if that's what you need. 

You can of course also distribute that work to the rest of the world, but there's a very practical problem with doing so if you call it GnuCash: You'd be delegating the support of your fork to the devs who are still working on GnuCash 3.x and towards GnuCash 4.x and they (we) don't have the resources to do that. The simple and obvious way to avoid that confusion would be for you to distribute your fork under a new name with its own "trade dress" and support mechanisms, hence my request.

As for building 3.x on Ubuntu 14.04, we run CI on Ubuntu 14.04 [3]. All of the needed packages are available except Googletest, for which you need only clone the source from GitHub and tell CMake where it is. You can use [3] as a setup script to quickly get a suitable build environment. If you need more help by all means ask.

John Ralls

[1] https://bugzilla.gnome.org/show_bug.cgi?id=765846
[2] https://github.com/Gnucash/gnucash/pull/354
[3] https://github.com/Gnucash/gnucash/blob/maint/util/ci/ubuntu-14.04-docker

More information about the gnucash-devel mailing list