Earlier I had stated that a 1.0 release doesn't mean a lot to me as a
milestone number. Though, given that Ansible has evolved to the
point where I want it to be, I think it's a bit of a coincidence that
1.0 is that number!
Language and implementation wise, Ansible has reached the goal I set
out for it. It is (generally) simple and accessible (though
sometimes folks push it a bit further than I intended -- I encourage
everyone to write as human readable playbooks as possible), but I
don't want to keep expanding it in an unbounded way. What I want to
do now is shift a bit in the way we are looking at releases, and
Ansible in general. This is a really high energy community, and I
want to shift it a bit, and I want us to slow down and spend some time
looking at a mostly stable set of code.
So, for 1.0, here is how I am going to be looking at pull requests --
(A) We are going to slow down adding new large features and make sure
we really need to have something. If 2000 people didn't need X
before, and we get a request for X, do we really really need X? Etc.
(B) We are going to try to stop moving code around. In the interest
of low bug counts, I want to see surgical pull requests, not large
code changes or refactorings. We have had a lot of churn
around template evaluation and variable precedence -- and lots of
great fixes, but I don't want to experience that kind of defect volume
again. So, code is largely going to become a boring
endeavor of keeping it running.
(C) We are going to try to bound the rate of growth of
modules/plugins, and concentrate more on making sure modules are solid
and cross platform, and fix problems where they are found. The
criteria
for addition of any new module is something that would be used by at
least 10-15% of the user base -- such that any bugs or limitations on
the module are found nearly *instantly*.
In summation, the goal for 1.0 should be to have a very uninteresting
changelog -- and take bugfixes for various modules and things when
they come in. I want to prevent Ansible from growing unbounded
on the core feature front, so it remains possible to fully understand
in a relatively short period of time.
So, if I seem like I'm closing too many pull requests, this is why...
it is because I think we're basically there, and our goals should
therefore change a bit.
--Michael