On Sun, 15 Jul 2012 16:06:58 -0700, Walter Bright <newshou...@digitalmars.com> wrote:

On 7/15/2012 3:52 PM, Adam Wilson wrote:
So the problem is semantics then? Because I dredge up another word to describe what we are asking for if that's all it takes. But I don't think that anyone else is going to read "stable" as "unchanging". Software is by definition changing, or it's dead. It appears to my parsing of your sentence that you are asserting that stable == static. By that definition of stable, Windows ME is "stable" and ... ehrm, not a soul in the tech world would agree with that
summation of WinME.

As I said earlier, no one else in FOSS or Commercial equates stable with "has no bugs", it means no new features and no regressions. Not a single solitary person
I've talked too expects their software to be bug free.

THIS is what we mean when we say "stable":
http://www.modernperlbooks.com/mt/2009/06/what-does-stable-mean.html
It's also how pretty much everyone else will read "stable".

D does have a test suite, and it is a (almost always achieved) goal to keep it always passing, even on the dev branch. In fact, most of my work is running the test suite and making sure each change doesn't regress. (Regressions that do slip through were not in the test suite.)

Frankly, I don't know how to do what you're asking for. D users, every single day, clamor for:

1. more bug fixes

Branch A. Rebase into Branch B as needed.

2. more new features

Branch B.

3. why aren't deprecated features removed more quickly?

Branch A, marked for deprecation.
Branch B, actually removed. Becomes active when merged into Branch A.
(Assuming Branch B is merged roughly every other month as per current processes.)

4. why don't we add this breaking feature?

Add it. Branch B.

5. why did you add that breaking feature which broke my code?

Why are you using Branch B you knucklehead?

Often, these are the same people! Sometimes, even in the same post!

This concept is precisely designed to significantly mitigate all five problems.

Not everyone will test against Repo B, but this allows you to put the responsibility for not testing against it on them. They know how it works here, it's not your problem if you broke something that they had the chance to test for but didn't.

And, to reiterate, we did release D1. Since its release, it has only received bug fixes. No breaking changes, no regressions. This, inevitably, has made many D1 users unhappy - they wanted new features folded in.

So that was not satisfactory, either.

Yes, I do feel a bit put upon by this, as I see no way to satisfy all these mutually contradictory requests.

I do apologize for that. It is not my intention to cause undue stress. I am pushing the for the change because I think it will mitigate much of your current stress in dealing with us. And I do recognize that we users can be pretty demanding as I sit on the other side of this equation at work. But because I sit on the other side, I get frustrated when I see developers actively resisting the proven concepts that will drastically reduce the very problem they are complaining about.

I should note that we use this exact model for every project we have where I work and that it is been highly successful at keeping those five points of tension moderated. And our users can actually get work done without waiting for weeks and months because thing X is just plain broken, which in turn makes us look good. (Improving Loyalty)

--
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/

Reply via email to