Am Freitag, 13. Januar 2012 schrieb Rob Weir <robw...@apache.org>:
> On Fri, Jan 13, 2012 at 12:50 PM, Ross Gardler
> <rgard...@opendirective.com> wrote:
>> On 13 January 2012 17:38, Rob Weir <robw...@apache.org> wrote:
>>
>>> You are trying to argue the necessity point.
>>
>> I'm not arguing any point. I'm asking questions so that I might
>> understand what the sticking point is.
>>
>
> OK.  You'll understand this better if you think of it as a
> configuration management question rather than a question of necessity.
>
> Consider:
>
> AOO has a dependency on component X.  Never mind the license.  It
> could be anything. We have a dependency on X, specifically version 1.0
> of X.  We, in the role of an integrator, write our code to integrate
> with X, version 1.0.
>
> We then release, it gets widely adopted.  Time passes.
>
> The maintainers of X release version 1.1, with minor feature changes.
> Then they release version 1.2 with minor feature changes.  AOO has no
> releases in the interim, so we're still dependent on X 1.0.
>
> Many things could go wrong at this point.  For example, a critical
> security flaw is found in component X.  The X project quickly release
> a new patched version, X 1.2.1 to fix the problem, and releases a
> package for that, source and binaries.  For sake of argument say they
> do not patch versions 1.0 and 1.1.
>
> What do we do then?
>
> We could try to upgrade to version 1.2.1 of their component.  It might
> be possible.  We might hope it is possible.  But it might not work.
> It could fail for any number of reasons. Time is ticking.  Our users
> are at risk.
>
> What do we do?
>
> Well, obviously, we can apply the patch from 1.2.1 to 1.0 and fix the
> flaw in a way that works with our code and we get that new AOO out to
> users quickly. And at the same time we make available our patched 1.0
> available to the X project if they will host it.  If not we make it
> available to downstream consumers, as courtesy, but not as an Apache
> release.   And then we make an issue in Bugzilla to investigate more
> thoroughly how to upgrade to 1.2.1 in the future.
>
> It is not pretty, but prettiness is not a necessity either.  The whole
> OSS universe does not march lock step on the same release schedule.
> We're not working with Legos.  Things don't always just fit.  We need
> to deal with the messiness of that reality.  And obviously do it
> within policy.
>
> It could easily be every worse than that.  Suppose, hypothetically,
> that we could upgrade our code to X 1.2.1, that it was not
> impractical.  But we might still have another dependency, on component
> Y that also has its own dependency on X 1.0 and which does not work
> with X 1.2.1.
>
> Being an integrator of 3rd party components, regardless of license, is
> complex.  You can get all sorts of interactions like this.
>
> What we need to do is get away from false alternatives, that either we
> have no category-b code in SVN, or we are subverting ASF policy and
> running stealth copyleft development efforts under the noses of the
> IPMC.  There is plenty in the middle, including the prudent archiving
> of source code for 3rd party dependencies **regardless of license**
> and using them, in full conformance with Apache release policies,  in
> order best to serve our users and downstream consumers.
>
> None of this would be necessary if there was some master OSS source
> code archive that was guaranteed to be as reliable and stable and
> secure and independent as Apache's SVN is.  If such an alternative
> server existed, then we'd just use that.  But one does not exist.
>

Thanks Rob, that's the mail I needed to finally go in the weekend.

Juergen

Reply via email to