* When will we have our next release?
@ 2011-06-03 22:56 Carl Worth
2011-06-04 13:21 ` David Bremner
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Carl Worth @ 2011-06-03 22:56 UTC (permalink / raw)
To: Jameson Graef Rollins, Notmuch Mail
[-- Attachment #1: Type: text/plain, Size: 2949 bytes --]
On Fri, 03 Jun 2011 14:39:13 -0700, Jameson Graef Rollins <jrollins@finestructure.net> wrote:
> Can we set a target date for 0.6 release? So we'll all start feeling
> really bad if we miss it?
Frankly, I wouldn't mind doing strict time-based releases with something
like the following:
* We schedule a release period (once per month?)
* We schedule a "safety period" before the release (one week?)
* At the beginning of the safety period, package up the head
of the notmuch tree and upload to Debian experimental and
anywhere else similar.
* During the safety period we hopefully get wider testing than
we normally have from just the git master branch.
If any bugs are found and fixed during this time we can create
a branch for them. New feature work can continue to land on
master.
* At the end of the safety period we package up the same bits,
or the new bits from the cherry-picked fixes on the branch,
and upload them to Debian unstable and anywhere else similar.
I'd even be happy for someone else (other than me) to run that process.
That might be beneficial for a couple of reasons:
* It would simply take one thing off my plate.
* I'm inclined to do feature work myself---and when I start
doing that again, I might get tempted to delay the release
"just until I finish this next feature...".
I think that's the problematic state we've been in for the past several
months. Right after 0.5 I thought "I should do some database changes to
support indexing/searching of arbitrary headers and to capture complete
email addresses". I've not actually gotten around to doing that work
yet, but I was a bit stuck mentally in "the next release will have those
features" so there was never any threat of a release actually happening.
So switching to a more strictly time-based cycle can definitely help,
(so many other projects use time-based releases very successfully).
Now, in order to hand the release process over to someone else, we need
a really simple "just push this button" mechanism for the release. I
think we've got that pretty-well in place right now, with the large
exception of writing the NEWS file.
So the fix for that is to start rejecting patches that add features or
fix user-visible bugs (other than regressions since the past release)
without also updating the NEWS file. I'll commit myself to doing that
for my own bug fixes and features as well.
I also think it's possible for me to be successful as the release
manager as long as we decide on a schedule as a community and that way
you all keep me to it.
The current state of keep-coding-until-we-have-a-state-good-enough-to-
call-the-next-release does have the potential to keep running on
forever.
I'd be glad to get any feedback or additional ideas from anyone,
-Carl
--
carl.d.worth@intel.com
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: When will we have our next release? 2011-06-03 22:56 When will we have our next release? Carl Worth @ 2011-06-04 13:21 ` David Bremner 2011-06-04 14:27 ` Xavier Maillard 2011-06-04 14:19 ` Xavier Maillard 2011-06-07 16:44 ` Jameson Graef Rollins 2 siblings, 1 reply; 8+ messages in thread From: David Bremner @ 2011-06-04 13:21 UTC (permalink / raw) To: Carl Worth, Jameson Graef Rollins, Notmuch Mail Overall I think Carl's time based release proposal is a reasonable plan. I think one problem we've been having is that we seem to have lost track of # Releases of notmuch have a two-digit version (0.1, 0.2, etc.). We # increment the second digit for each release and increment the first # digit when we reach particularly major milestones of usability. In short, I think we are make too big of a deal out of releases. Looking at the log between 0.5 and now, there are features enough to justify several minor releases. On Fri, 03 Jun 2011 15:56:42 -0700, Carl Worth <cworth@cworth.org> wrote: > > Frankly, I wouldn't mind doing strict time-based releases with something > like the following: > > * We schedule a release period (once per month?) I think every two months might be a bit more comfortable, but then again, 1 month would keep us from "making a big deal out of releases." > * We schedule a "safety period" before the release (one week?) > * At the beginning of the safety period, package up the head > of the notmuch tree and upload to Debian experimental and > anywhere else similar. Sure. I don't mind doing that part, at least for Debian. I'm going to try to do at roughly weekly uploads to Debian experimental. Hopefully this will get some critical mass of users testing those versions. d ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: When will we have our next release? 2011-06-04 13:21 ` David Bremner @ 2011-06-04 14:27 ` Xavier Maillard 2011-06-04 18:50 ` David Bremner 0 siblings, 1 reply; 8+ messages in thread From: Xavier Maillard @ 2011-06-04 14:27 UTC (permalink / raw) To: David Bremner, Carl Worth, Jameson Graef Rollins, Notmuch Mail Hi, On Sat, 04 Jun 2011 10:21:00 -0300, David Bremner <bremner@unb.ca> wrote: > Overall I think Carl's time based release proposal is a reasonable > plan. I think one problem we've been having is that we seem to have lost > track of > > # Releases of notmuch have a two-digit version (0.1, 0.2, etc.). We > # increment the second digit for each release and increment the first > # digit when we reach particularly major milestones of usability. > > In short, I think we are make too big of a deal out of releases. Looking > at the log between 0.5 and now, there are features enough to justify > several minor releases. Or even major ! Frankly, this project has grew up quite quickly and features are implemented at a really good rythm. The sole problem is that it is really hard to see how far we are from a release and what exactly has been cooked up since latest release (from my point of view). > On Fri, 03 Jun 2011 15:56:42 -0700, Carl Worth <cworth@cworth.org> wrote: > > > > Frankly, I wouldn't mind doing strict time-based releases with something > > like the following: > > > > * We schedule a release period (once per month?) > > I think every two months might be a bit more comfortable, but then > again, 1 month would keep us from "making a big deal out of releases." Best before choosing the frequency is probably to try doing this a few times and be comfortable with the process. If after a few releases -i.e. say 3- the more we can do is release every trimester so do it. The process should be simple (and will be I guess) and the most difficult part is probably to document every aspect of every changes in the NEWS file (with eventually a good shaped manual ;)). > > * We schedule a "safety period" before the release (one week?) > > * At the beginning of the safety period, package up the head > > of the notmuch tree and upload to Debian experimental and > > anywhere else similar. > > Sure. I don't mind doing that part, at least for Debian. I'm going to > try to do at roughly weekly uploads to Debian experimental. Hopefully > this will get some critical mass of users testing those versions. I know it is a bit off topic here but just a question: how will you deal with dependencies ? I mean, when we need GMime vX.Y.Z and Debian has already vX.V.W ? /Xavier ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: When will we have our next release? 2011-06-04 14:27 ` Xavier Maillard @ 2011-06-04 18:50 ` David Bremner 0 siblings, 0 replies; 8+ messages in thread From: David Bremner @ 2011-06-04 18:50 UTC (permalink / raw) To: Xavier Maillard, Carl Worth, Jameson Graef Rollins, Notmuch Mail On Sat, 04 Jun 2011 16:27:33 +0200, Xavier Maillard <xavier@maillard.im> wrote: > I know it is a bit off topic here but just a question: how will you deal > with dependencies ? I mean, when we need GMime vX.Y.Z and Debian has > already vX.V.W ? The same as every other Debian package? Try to persuade the maintainer followed by uploading the new version ourselves if we run out of patience. To bring it back on topic (softof) I don't think anyone is suggesting that the Debian packaging be any kind of gatekeeper in the release process. I believe it is just that several of the people involved are also involved with Debian, and tend to think Debian uploads as a natural outcome of releasing software. d ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: When will we have our next release? 2011-06-03 22:56 When will we have our next release? Carl Worth 2011-06-04 13:21 ` David Bremner @ 2011-06-04 14:19 ` Xavier Maillard 2011-06-07 16:44 ` Jameson Graef Rollins 2 siblings, 0 replies; 8+ messages in thread From: Xavier Maillard @ 2011-06-04 14:19 UTC (permalink / raw) To: Carl Worth, Jameson Graef Rollins, Notmuch Mail Hi Carl, On Fri, 03 Jun 2011 15:56:42 -0700, Carl Worth <cworth@cworth.org> wrote: > On Fri, 03 Jun 2011 14:39:13 -0700, Jameson Graef Rollins <jrollins@finestructure.net> wrote: > > Can we set a target date for 0.6 release? So we'll all start feeling > > really bad if we miss it? > > Frankly, I wouldn't mind doing strict time-based releases with something > like the following: > > * We schedule a release period (once per month?) That sounds reasonable to me. You could even do it less frequently -i.e. every 2 month. > * At the beginning of the safety period, package up the head > of the notmuch tree and upload to Debian experimental and > anywhere else similar. I like this idea. I already have slackware packages for notmuch and that's the way I prefer testing notmuch since I am not really comfortable with the git machinery (I wish I could do something for notmuch though). > So switching to a more strictly time-based cycle can definitely help, > (so many other projects use time-based releases very successfully). +1. THat's pretty frustating to contemplate all those patches/source code sent to this list and not being able to "test" them :) Whatever we choose, keep up the good work guys ! /Xavier ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: When will we have our next release? 2011-06-03 22:56 When will we have our next release? Carl Worth 2011-06-04 13:21 ` David Bremner 2011-06-04 14:19 ` Xavier Maillard @ 2011-06-07 16:44 ` Jameson Graef Rollins 2011-06-07 19:15 ` Sebastian Spaeth 2011-06-23 1:21 ` Carl Worth 2 siblings, 2 replies; 8+ messages in thread From: Jameson Graef Rollins @ 2011-06-07 16:44 UTC (permalink / raw) To: Carl Worth, Notmuch Mail [-- Attachment #1: Type: text/plain, Size: 3366 bytes --] On Fri, 03 Jun 2011 15:56:42 -0700, Carl Worth <cworth@cworth.org> wrote: > Frankly, I wouldn't mind doing strict time-based releases with something > like the following: Hi, Carl. I think this is a fine idea, and we (not you) can definitely run this process. I'm quite sure that at least bremner and I can completely handle this together, and I'm sure we can get others to help. But the mechanics of the actual release are not the problem. The problem is the current one-person bottleneck for all patches: your review and merge of all patches into the notmuch/master branch. This would not necessarily be a problem if you could get to reviewing and merging patches more frequently. But as it is now, if there are no new patches on notmuch/master for longer than the release period, there will be nothing to package and upload. This is *not* meant to be an indictment of you at all. I know it's incredibly hard to keep up with the incoming patch flow. It takes a lot of time and work to review every patch. I also really like your reviews. They are incredibly thorough and insightful, and I always learn from them. Your intimate knowledge of the code base also means that you can frequently come up with cleaner solutions to the proposed patches (as with the reworked part handling). However, the bottleneck presents a big problem when delays are introduced. We can't really do anything until you can get to the review. Furthermore, even if we do push ahead to put together a release candidate branch (as we did with 0.6), if your review severely alters patches early in that branch we have to do a lot of work to rework their decedents (as we did with 0.6). This leads to a lot of inefficiencies. So we need to figure out a way to break the bottleneck. I would really like to continue to get your review of patches. I think they're just too valuable. So it would be really nice if one of the solutions was a way to just "grease" the bottleneck, so to speak. For instance, if you could commit to reviewing just 1 patch series a week we would be way ahead of where we have been. Another thing that would help would be to delegate responsibility of certain components to others, as you have with the python binding to spaetz. For instance, we have at least a couple of elisp experts hanging around. Maybe you could cede handling of all emacs patches to someone like jkr or dme, and to felipe for vim, etc. (if they're willing to take on those rolls). That would help reduce your burden a bit. We could also formalize some sort of tiered review system. amdragon has been doing a really good job of frequently providing good review of patches on list. I think that any proposed patch that gets a thumbs up From someone like amdragon should immediately be elevated in your queue, or just applied out-right. If the review of others explicitly helped get patches merged faster, I'm quite sure it would encourage more folks to submit their reviews as well. I would love to hear any other ideas people have on this front. Notmuch is an incredible project, with an absolutely incredible development community. It's an absolute joy to work on. If we can just grease the wheels a little bit to get releases out the door a little quicker, I think we'll all be a lot happier. jamie. [-- Attachment #2: Type: application/pgp-signature, Size: 835 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: When will we have our next release? 2011-06-07 16:44 ` Jameson Graef Rollins @ 2011-06-07 19:15 ` Sebastian Spaeth 2011-06-23 1:21 ` Carl Worth 1 sibling, 0 replies; 8+ messages in thread From: Sebastian Spaeth @ 2011-06-07 19:15 UTC (permalink / raw) To: Jameson Graef Rollins, Carl Worth, Notmuch Mail [-- Attachment #1: Type: text/plain, Size: 810 bytes --] On Tue, 07 Jun 2011 09:44:40 -0700, Jameson Graef Rollins wrote: > I would love to hear any other ideas people have on this front. I agree that delegation of bindings (and potentially the emacs code) is a good thing. I believe both areas are separate enough to be delegated. Perhaps have a similar tiered sytem with a different "lieutenant" for the elisp code would be acceptable? As for notmuch core, I do like the careful reviews and would prefer if cworth still nodded off patch series, but a tiered review system, where amdragon's nod off is enough to get patches at the top of cworth queue would be great too. > Notmuch is an incredible project, with an absolutely incredible > development community. It's an absolute joy to work on. Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de> :) spaetz [-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: When will we have our next release? 2011-06-07 16:44 ` Jameson Graef Rollins 2011-06-07 19:15 ` Sebastian Spaeth @ 2011-06-23 1:21 ` Carl Worth 1 sibling, 0 replies; 8+ messages in thread From: Carl Worth @ 2011-06-23 1:21 UTC (permalink / raw) To: Jameson Graef Rollins, Notmuch Mail [-- Attachment #1: Type: text/plain, Size: 5729 bytes --] On Tue, 07 Jun 2011 09:44:40 -0700, Jameson Graef Rollins <jrollins@finestructure.net> wrote: > > Frankly, I wouldn't mind doing strict time-based releases with something > > like the following: > > Hi, Carl. I think this is a fine idea, and we (not you) can definitely > run this process. I'm quite sure that at least bremner and I can > completely handle this together, and I'm sure we can get others to > help. Excellent! > But the mechanics of the actual release are not the problem. The > problem is the current one-person bottleneck for all patches: This is a problem if master isn't moving, I agree. And that has been a problem in the past. More recently, master has been moving just fine, and I have proven to get too caught up in "oh, just a few more bug fixes to merge..." to just sit down and make a release. So that's what I want to fix now. To that end, I've just nominated David Bremner as our release manager. He's already been pushing packages of recent notmuch master to Debian experimental, so he's effectively already in the role of choosing particular code states that the "masses" can easily get their hands on. I've asked him to just take over the release process from here and I've pretty much left all decisions in his hands. He'll probably make a separate branch for the release at some point, (in the primary repository). I'll let him talk more about plans if he needs to. > This is *not* meant to be an indictment of you at all. I know it's > incredibly hard to keep up with the incoming patch flow. It takes a lot > of time and work to review every patch. I also really like your > reviews. They are incredibly thorough and insightful, and I always > learn from them. Thanks. That's very kind of you to say so. > I would really like to continue to get your review of patches. I think > they're just too valuable. So it would be really nice if one of the > solutions was a way to just "grease" the bottleneck, so to speak. For > instance, if you could commit to reviewing just 1 patch series a week we > would be way ahead of where we have been. I can't really promise anything other than doing the best I can to stay on top of things. Lately, I am at least using notmuch itself more effectively to manage outstanding patches and this is helping I thinl. > Another thing that would help would be to delegate responsibility of > certain components to others, as you have with the python binding to > spaetz. For instance, we have at least a couple of elisp experts > hanging around. Maybe you could cede handling of all emacs patches to > someone like jkr or dme, and to felipe for vim, etc. (if they're willing > to take on those rolls). That would help reduce your burden a bit. Yes! For people that are already effectively maintaining isolated portions of the code, I'm more than happy to delegate full editorial control over those pieces, (and allow direct pushes, etc.). This has actually already been happening with python and vim pieces. And I plan to add some new mutt code soon with its own maintainer. And the delegation of release management that I'm announcing here will help too. > We could also formalize some sort of tiered review system. amdragon has > been doing a really good job of frequently providing good review of > patches on list. I think that any proposed patch that gets a thumbs up > From someone like amdragon should immediately be elevated in your queue, > or just applied out-right. If the review of others explicitly helped > get patches merged faster, I'm quite sure it would encourage more folks > to submit their reviews as well. I would love to have more review from anyone. I don't think there's any need to formalize anything. Much of it can be as simple as watching things you've seen me do and then doing them yourself. For example, there are a lot of recent patches that I merged only after I wrote a test case for the bug fix. It's quite a bottleneck for me to write new tests like that. If other people could review patches and ask for test cases, or write test cases themselves, then that would definitely relieve a burden on my part. Similarly, I think the most regular coders on the project have come to understand what I expect from commit messages. So that's something else that's pretty easy for anyone to review. So, yes, please help in the review process, everybody! I don't think I have any particularly exclusive talent with regard to judging code to be clean and in good taste. I definitely appreciate the good sense of taste that many on this list are demonstrating regularly. > Notmuch is an incredible project, with an absolutely incredible > development community. It's an absolute joy to work on. I absolutely agree. I haven't taken the opportunity often enough to say thank you to everyone who has contributed! So, thanks! It's such a wonderful thing to me to see so many good people working hard and having fun to collectively make such a fun tool![*] > If we can just grease the wheels a little bit to get releases out the > door a little quicker, I think we'll all be a lot happier. Hopefully, we're doing that. Thanks for all your efforts, Jamie. I really appreciate them. And I'm happier at least! -Carl [*] For "fun tool" I always have to hesitate a bit—notmuch itself is fun, but it's funny that email itself is often more annoying to me than anything else. I suppose what makes notmuch fun is that it helps me more quickly eliminate so much of the annoyance of email from my life so that I can focus more on the things that I really want to. -- carl.d.worth@intel.com [-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2011-06-23 1:21 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-06-03 22:56 When will we have our next release? Carl Worth 2011-06-04 13:21 ` David Bremner 2011-06-04 14:27 ` Xavier Maillard 2011-06-04 18:50 ` David Bremner 2011-06-04 14:19 ` Xavier Maillard 2011-06-07 16:44 ` Jameson Graef Rollins 2011-06-07 19:15 ` Sebastian Spaeth 2011-06-23 1:21 ` Carl Worth
Code repositories for project(s) associated with this public inbox https://yhetil.org/notmuch.git/ This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).