[Fedora-packaging] Proposal to reduce anti-bundling requirements

Adam Williamson adamwill at fedoraproject.org
Fri Sep 11 20:13:39 UTC 2015


On Fri, 2015-09-11 at 12:59 -0700, Adam Williamson wrote:

> Again, I don't actually think the answer here is "screw it, let's
> bundle everything"

If we want to talk about the wider issues here, btw, and we want
something a bit more ambiguous and nuanced, I can also give you some
interesting personal cases.

Let's take one particular case of ownCloud bundling. Last year I
ported ownCloud's Google Drive support from an obsolete version of the
Google client PHP library to the current (at that time) version:

https://github.com/owncloud/core/pull/6989

There's no way I would have done that if it wasn't for the bundling
policy. So, I mean, that's a good point for the bundling policy,
right? It wound up in a useful improvement being contributed upstream.

Welll....kinda. But I think it's more complex than that. For instance,
I was not actually motivated to do that work *for the sake of doing
the work*. It was, to me, a somewhat annoying obstacle to my packaging
work. An obvious consequence of this, if I'm being brutally honest, is
I didn't actually care if it worked terribly well. I basically threw
code at it until it passed enough of upstream's tests to get merged. I
wound up having to have a _reasonable_ understanding of how the code
worked and also Google's APIs and authentication, and in the end it
did wind up working at least somewhat better than the old code, but
all along I was basically working with the mindset of 'do the minimum
to get past this freaking problem'. I was definitely *not* working
with the mindset of 'woo yeah! I really love working on ownCloud
Google Drive support!'

I mean, I don't even freaking *use* Google Drive. I am not at all a
fan of Google Drive. I had zero interest in the function itself.

So what's been the consequence of that? Well, for one thing, for about
the last year it seems like every time anyone reports a Google Drive
bug to ownCloud upstream, they CC me on it and say 'hey Adam! What do
you think?'

This is a problem because quite honestly I don't really freaking care.
I have a zillion other things to do and the chance of me looking at
some random's Google Drive bug (which requires me to refresh my memory
of Google Drive, ownCloud's app layout, and how freaking broken PHP is
this week) is, honestly, a big round number that comes between -1 and
1. But to upstream, hey, I'm that guy who cares about Google Drive!
Adam'll fix it! No. No I won't.

So now upstream has a moderate-sized chunk of code that, so far as I
can tell, no-one actually really cares about, but that in some sense
they *think* I care about. Was that an unambiguously good outcome?
Probably not.

A practical consequence of *that* has been that the code is now
apparently broken again (seems like something changed in
authentication). I'm not fixing it. No-one else seems to be fixing it.

Would things have turned out any better if I'd never got involved?
Well, it's hard to say. Possibly they'd still just have the old 0.6
code sitting there gently rotting away. But even that wouldn't be
unambiguously *worse* than the current situation, and at least I
wouldn't have spent (wasted?) several days on the porting. On the
other hand, maybe upstream would have recognized that, hey, *really*
no-one cares about this Google Drive crap any more and maybe they
should split it out into a plugin and say "if no-one wants to take
this over we're going to kill it". Which is arguably ultimately a
better result than having a pile of effectively dead code lying around.

So, yeah, what's the moral of this story? I don't know, exactly, but I
thought it might be interesting.
-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net
http://www.happyassassin.net




More information about the devel mailing list