Hi all,

As many of you have seen on gem5-dev, we are going to be adding a
"stable" version of gem5. Below is the current proposal. There are a
couple of points below where there has not been general consensus
reached. We would appreciate feedback *from everyone in the community*
on the points where a decision hasn't been made below. gem5 is a
community-driven project, and we need feedback to make sure we're
making community-focused decisions.

We will be introducing a new "stable" branch type to gem5. We are
doing this for the following reasons:
- Provide a way for developers to communicate major changes to the
code. We will be providing detailed release notes for each stable
release.
- Increase our test coverage. At each stable release, we will test a
large number of "common" benchmarks and configurations and publicize
the current state of gem5.
- Provide a way for researchers to communicate to the rest of the
community information about their simulation infrastructure (e.g., in
a paper you can say which version of gem5 you used).

On the stable version of gem5, we will provide bugfixes  until the
next release, but we will not make any API changes or add new
features.

We would like your feedback on the following two questions:

**Which branch should be default?**

We can either have the master branch in git be the "stable" or the
"development" branch. If master is the stable branch, then it's easier
for users to get the most recent stable branch. If master is the
development branch, it's more familiar and easier for most developers.
Either way, we will be updating all of the documentation to make it
clear.

Please let us know which you prefer by replying "I think master should
be stable" or "I think master should be development".

**How often should we create a new gem5 release?**

We can have a gem5 release once per year (likely in April) or three
times per year (April, August, and December). Once per year means that
if you use the stable branch you will get updates less frequently.
Three times per year will mean there are more releases to choose from
(but a newer release should always be better). On the development
side, I don't think one will be more work than the other. Once per
year means more backporting, and three times per year means more
testing and time spent on releases.

Please let us know which you prefer by replying "I think gem5 should
be released once per year" or "I think gem5 should be released three
times per year."




A couple of notes to everyone who's been following the discussion on
the gem5-dev mailing list:
- We have dropped the proposal for major vs minor releases. Note that
there was some pushback on having only major releases when this was
proposed on the gem5 roadmap, but it sounded like the consensus was to
drop minor releases for now.
- We will still allow feature branches *in rare circumstances*. This
will be by request only (send mail to gem5-dev if you would like to
discuss adding a new branch), and the goal will be integration within
a few months. All code review will still happen in the open on gerrit.
The benefits will be
1) rebases won't be required as you can just make changes to the head
of the branch
2) many features take more than a few months to implement, so if it's
not ready by a release it can be pushed to the next
3) large changes won't be hidden in AMD or Arm-specific repositories
and *anyone* will be able to request a branch.

Thanks everyone for the discussions so far! It would be most useful to
hear back by the end of the week. However, I don't expect any concrete
actions will be taken until after the holidays.

Cheers,
Jason
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to