On Thu, Aug 29, 2013 at 1:58 AM, Christian Kruse <[email protected]> wrote:

> Hi,
>
> Am Mittwoch, 28. August 2013 19:53:42 UTC+2 schrieb Adrien Thebo:
>
>> Moreover, by our current standards CFPropertyList is not a candidate for
>> vendoring. The general guideline for vendoring is that candidates must be
>> stable libraries, and should only be one or two libraries. In addition the
>> CFPropertyList doesn't seem particularly stable, as demonstrated by the
>> comment https://github.com/**puppetlabs/facter/pull/499#**
>> issuecomment-21770546<https://github.com/puppetlabs/facter/pull/499#issuecomment-21770546>
>>  which
>> indicates that CFPropertyList may not be very stable. Having to continually
>> re-vendor that library inside of Facter is a special level of torment
>> that's normally reserved for people that take up two parking spaces with
>> one car
>>
>
> I wish you could have sent some bug reports, especially for this „strange
> omissions and obsfucations.” I'm always eager to improve my code and my
> coding skills, but w/o feedback I can't fix anything :-)
>
>

Absolutely, we should directing error reports upstream to you so that
everyone benefits. However, vendoring makes this much more difficult
because either we constantly reject pull requests and send them upstream
(and nobody likes having their pull request rejected) or we resubmit the
changes ourselves, or we relay the patches ourselves which can cut out the
context behind the patch. For instance I'm using Linux so I can't directly
validate patches, and while I can submit patches to you on behalf of the
contributor, I may not fully understand what's being done.


> But wait, there's more! 
> https://github.com/**puppetlabs/facter/pull/513<https://github.com/puppetlabs/facter/pull/513>introduced
>  a patch to CFPropertyList to force the string encoding type for
>> Ruby compatibility. So on top of having to re-vendor the CFPropertyList to
>> handle updates, we would have to carry our own patches on top of everything
>> else. This means that the platform team will be forced to more or less
>> maintain this library.
>>
>
> Why don't you talk to me? Especially this pull request totally makes sense
> for me and I merged it as soon as I noticed it, see
>
>
> https://github.com/ckruse/CFPropertyList/commit/97e074fd8b3ffb6909235f44a2defe687dc09067
>

That's really great, and thank you! Once again, vendoring is the problem -
it disassociates the original project from the owner, and makes us
maintainers of a fork of CFPropertyList, and nobody benefits. We need to
work out a method where if we're relying on this library, improvements can
easily go upstream and Puppet developers don't have to relay patches back
and forth.

-- 
Adrien Thebo | Puppet Labs

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-dev.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to