Re: [git pull] drm request 3

From: Ingo Molnar
Date: Fri Mar 05 2010 - 02:53:29 EST



* "C. Bergstr?m" <cbergstrom@xxxxxxxxxxxxx> wrote:

> Pekka Enberg wrote:
> >On Fri, Mar 5, 2010 at 8:49 AM, Ingo Molnar <mingo@xxxxxxx> wrote:
> >>The conclusion is crystal clear, breaking an ABI via a "flag day"
> >>cleanup/feature/etc is:
> >>
> >> - wrong
> >>
> >> - harmful
> >>
> >> - limits the developer base
> >>
> >> - limits the tester base
> >>
> >> - wastes time and effort. (fewer developers/testers means that while _this_
> >> feature was easier to add, all your _future_ features will be a bit harder
> >> to do. It compounds up.)
> >>
> >> - so it hurts even the very developer who is most convinced that this was the
> >> right thing to do
> >>
> >>It's a bad technical decision throughout. It's masochistic and often suicidal
> >>to just about any project in essence. I've seen projects that did it once and
> >>died just due to that single act of stupidity. I've seen projects that have
> >>done it a few times and took the usage hit, limped along with the wounds and
> >>never grew to the size they could have achieved. I've seen projects that did
> >>it once, took the hit, learned from it and never did it again.
> >
> >Agreed. What bothers me in this discussion is that people keep
> >bringing up the fact that nouveau is mostly developed by volunteers
> >and thus it doesn't make sense to make sure it's backwards (or
> >forwards) compatible. But the way I see it, it's the complete
> >opposite. It's _more_ important to support ABIs for community-driven
> >efforts because you're relying on people who by definition don't have
> >time to waste. While the nouveau people might have good intentions,
> >I'm afraid they might be severely limiting their developer and tester
> >base because they're not focused on real world problems (like the ones
> >Linus is seeing).
> staging != stable
>
> Nobody guaranteed a stable API for staging and in fact it was stated
> previously it needed to be changed. Please lets just get back to work and
> stop declaring the sky is falling.

I dont think you understood the argument.

The (very simple) argument was: no matter how a project is developed, whether
it's been freshly announced (not even in staging), in staging or been upstream
for years, breaking ABIs is _technically wrong_.

No ifs and when. A released ABI that is in use cannot be so messy to make it
worth breaking. You've got users. You've got developers. You've got yourself.

You can still phase it out gradually (and even do that quickly), one or two
stable releases down the road you can even print out the final ABI removal
patch on paper, make a bonfire out of it and jump on its ashes in joy, but if
you are interested in running a successful OSS project then the current ABI is
sacrosanct.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/