Add a blog post about gem5-19

Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
Change-Id: I7a664ae10f00e6943b4fd4ee1f8c14082505c03d
diff --git a/_posts/2020-02-25-gem5-19.md b/_posts/2020-02-25-gem5-19.md
new file mode 100644
index 0000000..16c425e
--- /dev/null
+++ b/_posts/2020-02-25-gem5-19.md
@@ -0,0 +1,121 @@
+---
+layout: post
+title:  "gem5-19 Released!"
+author: Jason Lowe-Power
+date:   2020-02-25
+categories: project
+---
+
+gem5-19.0.0.0 has officially been released!
+We're a couple of months behind schedule, but future releases should be better.
+
+The main goal of the gem5-19 release was to test our release mechanisms to make sure that things go smoothly for the first ["RE-gem5"]({% post_url 2019-9-12-re-gem5 %}) release.
+In this sense, gem5-19 is a major success!
+We were able to find several bugs in our release methodology that have been worked out.
+I'm hopeful that the gem5-20 release will not have any hiccups ;).
+
+Below is a discussion about the main changes in gem5-19 and an FAQ about gem5 releases.
+We don't have a formal release notes for this version of gem5.
+However, all releases going forward will have a formal release notes that details the differences from the previous version.
+
+## Main changes in gem5-19
+
+There are a few big changes with gem5-19 that everyone (users, developers, etc.) should be aware of.
+If you've been following the [gem5-dev mailing list](/mailing_lists) this likely isn't news to you.
+However, with the inundation of email, I'm sure we all have missed a few messages.
+
+### New website
+
+If you're reading this on the website, then you can tell, a lot has changed!
+Instead of using the old wiki, we've migrated to a jekyll-based site hosted on github pages (with the source code on our [googlesource site](https://gem5.googlesource.com/public/gem5-website)).
+Our goal is to make this new website easier to navigate than the [old wiki](http://old.gem5.org/) and improve our documentation and communication.
+
+One big change from the old wiki is how anyone can contribute to the website.
+Now, instead of creating a wiki account and making changes, you can clone the website, update the markdown and then have your code reviewed on the same [Gerrit code review site](https://gem5-review.googlesource.com/) as the gem5 source.
+
+If you have any questions on the new site or how to contribute, don't hesitate to ask on the [mailing lists](/mailing_lists)!
+
+There may be some information which didn't get migrated from the old website.
+You can still access all of the old pages on [old.gem5.org](http://old.gem5.org/).
+
+### Issue tracker
+
+Another way we're working to improve our documentation and communication is by instituting an issue tracker.
+We have a Jira-based issue tracking system which can be found at https://gem5.atlassian.net/.
+Anyone can create an account on this site and add new issues or comment on existing issues.
+Since we started this site last fall, we've had over 300 issues created!
+
+With all of these new issues created, we're looking for people to contribute to fixing the issues!
+There are some issues marked as "easy" or "good first time issues" which we encourage people interested in learning to contribute to gem5 to take a look at.
+For any issue, if you're interested in taking it on, feel free to make yourself the assignee or make a comment.
+Someone from the community will likely chime in and let you know what needs to be done!
+
+### Stable vs development branches
+
+gem5 now has (at least) two branches in the git repository: "master" and "develop".
+The "master" branch is the **stable** gem5 release.
+This will only be updated on releases or with hot fixes.
+If you clone gem5 from `https://gem5.googlesource.com/public/gem5` you will get the stable `master` branch.
+As of today, this will be the gem5-19 release.
+
+If you want to [contribute your changes to gem5](/contributing), things have changed a little bit.
+You'll now need to push your changes to the "develop" branch.
+Other than changing which branch you have checked out and which branch you push to, there are no changes!
+
+## FAQ about the release
+
+Below, I'd like to answer a few common questions about this release.
+You can find all of the details about our release process in the [Contributing document](https://gem5.googlesource.com/public/gem5/+/refs/heads/master/CONTRIBUTING.md#releases).
+
+### Why releases?
+
+For the past 10 years since the first gem5 "release" in 2011, gem5 has been only available by downloading the development version.
+This has caused a number of pain points for gem5 users.
+For instance, if someone created a new model that was not integrated into the mainline gem5 (e.g., [gem5-gpu](https://gem5-gpu.cs.wisc.edu/wiki/) then the APIs that this model used might change at any time (this exact problem happened with gem5-gpu, which is no longer maintained because of this issue).
+Additionally, it was difficult for gem5 users to communicate to the rest of the community (e.g., in papers) what version of gem5 was used to run experiments.
+This reduced the reproducibility of research and made it difficult for others to understand the impact of potential research ideas (e.g., "did the authors know there was a bug which causes a 2x slowdown fixed last month?").
+
+Now, with releases it will make it easier to solve these problems.
+In papers what cite gem5, authors can now explicitly say which version of gem5 they used to run their experience (e.g., "We used gem5-20.2.0.3...").
+This will make it much easier to reproduce research ideas and to evaluate if the authors are using appropriate simulation infrastructure.
+
+Additionally, starting with gem5-20, we will define stable APIs.
+These APIs will *not* change from one version to another without first going through a "deprecation" phase.
+More details about this deprecation process will be published with gem5-20.
+
+### How frequently will gem5 be released?
+
+gem5 will be released three times per year approximately in April, August, and December.
+These times were chosen to align with the computer architecture paper submission calendar.
+Releases will be a few weeks after the MICRO, HPCA, and ISCA deadlines, most years.
+
+This calendar was chosen so that after a paper submission researchers can start using the "current" version for the next paper.
+
+### What does the release number mean?
+
+The currently release is officially "gem5-19.0.0.0".
+You may say "that's a lot of 0's!" and you'd be right.
+
+To explain why this is, gem5 conforms to a “v{YY}.{MAJOR}.{MINOR}.{HOTFIX}” versioning system.
+E.g., the first major release of 2022 will be “v22.0.0.0”, followed by “v22.1.0.0”.
+All the releases (with the exception of hotfixes) are considered major releases.
+For the meantime, there are no minor releases though we keep the minor release numbers in case this policy changes in the future.
+
+### Should I use the master or develop branch
+
+As of right now, the master branch will not change again until the gem5-20 release.
+This means that any new features added or bugs fixed between now and the gem5-20 release will not be in the master branch (unless we find a "breaking" bug).
+
+For now, if you want the same behavior as before, you should use the develop branch which will be updated on every gem5 commit.
+In the future, after gem5-20, we will begin strongly encouraging users to use master instead of the develop branch.
+
+## gem5-20
+
+The next release will be gem5-20.
+This will be the first "official" release of gem5 since its inception.
+We will be working hard on gem5-20 over the next couple of months.
+The main goals of gem5-20 will be on improving the stability of gem5, ensuring important applications run correctly on gem5, and creating robust testing infrastructure.
+
+We would love to have you contribute to this effort!
+Please check out the current open issues on our [issue tracker](https://gem5.atlassian.com/) and find any open issue or contact us on the [mailing lists](/mailing_lists).
+