If I understand correctly the reason ffmpeg is a problem is because you can
build it in a "non-free" way. In fact, I think the variant is +non_free.

I used to use homebrew cask and macports, but then they rolled cask into
homebrew and I'll be damned if I install regular old homebrew. I'd love a
way to do the same with ports, but I honestly have no idea exactly how it
would work and how to differentiate the FOSS stuff from the binary only
stuff.

—Mark


On Tue, Aug 4, 2020 at 4:35 PM Fred Wright <f...@fwright.net> wrote:

>
> On Wed, 29 Jul 2020, Daniel J. Luke wrote:
> > On Jul 29, 2020, at 9:30 PM, Fred Wright <f...@fwright.net> wrote:
> [...]
> >> Personally, I'd prefer the MacPorts approach if it were less stingy
> >> with the binary archives.  Ideally, one should be *able* to build from
> >> source, but not be *required* to do so.
> >
> > How is it stingy? We have binary archives for everything that the
> > buildbots can build that the licenses allow us to distribute, right?
>
> Aside from the usual issues with non-default variants and certain old OS
> versions, the main problem seems to be what appears to be an overly strict
> interpretation of "distributable".
>
> As a random example, consider ffmpeg.  The license for ffmpeg shows as
> GPL-2+.  Although GPL prohibits binary-only distributions at the "meta
> level", it does *not* demand that sources be bundled with the binaries.
> It simply says that if they're not, there has to be clear information
> available to the user on how to obtain the sources.  It doesn't even
> demand a working build procedure, just the sources.  It might get a bit
> fuzzy in cases where the sources are patched, in which case it's not 100%
> clear that providing the original source plus the patches is adequate, or
> whether it's necessary to provide the actual patched sources (though the
> two are certainly morally equivalent), but in any case, MacPorts clearly
> does both.  Anyone can get the upstream source archive(s) via "port
> fetch", get the sources in tree form via "port extract", and get the
> patched sources via "port patch".  I don't see how this fails to meet the
> GPL requirements for any MacPorts user.
>
> Now if one were to be really paranoid, one might consider that providing
> binaries on servers that are accessible by means other than MacPorts could
> constitute a GPL violation, due to not having the "clear path to sources"
> that MacPorts provides.  But if that's a concern, it could be easily
> addressed by including a README.sources file in every directory on the
> archive servers, either pointing to the corresponding source on a distfile
> mirror (or directly upstream if necessary), or perhaps just pointing to
> the MacPorts homepage.
>
> And to pick a random sub-example, Debian offers ffmpeg as a binary
> package.
>
> > port, by default, will use the binary archives unless you tell it to
> > build from source instead.
>
> BTW, on an only mildly related note, I've seen a number of cases lately
> where it successfully fetches a binary archive and than fails to fetch the
> corresponding checksum file.  It seems that it gets only one chance to do
> this, and only from the same mirror where it fetched the archive.  It's
> become common for me to need a "cleanup pass" after doing "upgrade
> outdated" across my VMs, where I manually retry the failed upgrades.
>
> On Tue, 4 Aug 2020, Ruben Di Battista wrote:
>
> > There's is one compelling need for having "binary only" install, and that
> > is for the port "osxfuse", that is currently broken for 10.14+.
> >
> > There was a discussion about it on the Github project about the choice of
> > making it close closed source... Nonetheless it would be useful to have
> it
> > in order to provide things like fuse file systems and so on.
>
> Hmm, I hadn't heard about that, but I don't run 10.14+ other than for
> testing.
>
> I was involved in fixing some osxfuse bugs right around the time that
> 10.10 came out, making kext signature checking mandatory.  On 10.9, it
> warns you about an unsigned kext, but you can tell it to proceed.  The fix
> at the time (for the relevant OS versions) was to have MacPorts fetch the
> binary distribution and extract the signed prebuilt kext from it, while
> building the rest from sources.  This is done starting with 10.9, to avoid
> the dialog box, even though it's not strictly necessary until 10.10+.
>
> It sounds like some more tightening of the security noose has caused
> additional problems for osxfuse.
>
> On Tue, 4 Aug 2020, Ruben Di Battista wrote:
>
> > So my take here is to not provide pre-built binaries packages if not
> > strictly unavoidable, like for the osxfuse project (since it was open
> > source before).
>
> Huh?  Are you suggesting *disallowing* the use of precompiled binaries?
> That would be crazy.
>
> The amount of both human and computer time that's wasted rebuilding the
> same binaries from the same sources with the same options is humongous.
>
> Another thing that's often overlooked is that installing precompiled
> binaries, especially when signed, is more secure than building from
> sources.  This is because the attack surface of the tools required to
> install binaries is far smaller than the attack surface of the toolchains
> needed to build them.  If you think this is purely hypothetical, consider
> the early Unix hack that implemented a backdoor that didn't appear in any
> source code.
>
> > One of the reasons I chose Macports for is the fact it builds its own
> tree
> > from source and it ships basically open source only software.
>
> Anyone is free to configure it to do that.  I suppose there could be a
> strict source-only option that flatly refuses to install any port that
> can't be completely built from source, but I doubt that many people would
> use it.
>
> Fred Wright
>

Reply via email to