ThrowTheSwitch / Ceedling

Ruby-based unit testing and build system for C projects
http://throwtheswitch.org
Other
597 stars 247 forks source link

Define Ceedling's Release Cadence and Process #913

Open mvandervoord opened 3 months ago

mvandervoord commented 3 months ago

I'm starting this thread so other members of the community can voice their opinions on this topic. I have some opinions on this, but I promise to be open minded and listen to everyone's thoughts. I recognize that this project was built by many of us, and I'd like us to decide how it should go.

Conversation Starters:

Cadence

I have always dreamed of quarterly releases. I don't know if it's possible for a project that is completely run by volunteers? Attempts in the past haven't been very fruitful... but I've also made the mistake of basically making it a personal goal instead of a community goal.

I'm going to propose a 6-month release schedule where we have particular milestones... something like this:

Process

Letme commented 3 months ago

My personal opinion is that for smaller open source projects, having a fixed cadence for a release is bad. With all the automated releasing (and testing - this is important for not breaking existing functionality) we can basically make a release after each pull request (a bit excessive, but you get the point). We can plan Pull requests (not issues) that should be completed before next release and in that way give some cadence to the project.

So, my proposal is that we follow a few steps, which will limit time for developers and can be done by non-Ruby savvy people as well. Bullet point 4 and probably 5 need to be done by Ruby savvy developer and if those pull requests or issues are marked already with that label, it is much easier to filter and start on the job:

This works on quite few of other small projects where you have 1-5 active developers, but peer reviews also help increase other people's quality levels, although with beginners they might take more time than just taking over the Pull request and complete it, to begin with.

jmrubillon commented 2 months ago

I like @Letme's suggestions. Not a formal cadence at a fixed pace but a responsive one to fix bugs and a slower one to add new features. As @mvandervoord pointed out people are volunteers and adding arbitrary deadlines may only discourage developer from contributing.