On 01/21/2014 12:40 PM, Fons Adriaensen wrote:
On Tue, Jan 21, 2014 at 05:55:04AM +0000, Filipe Coelho wrote:

I think we should stop assuming releasing source code is enough.
Enough for what ? Users who don't want to install from source
want packages made for the package manager of their distro,
which will take care of dependencies etc. You can't expcect a
developer to provide such packages for each and every distro.
I don't even provide them for the distro I use myself.

Enough for most users to install your software.
See my next point.

and most users are not able to compile software,
They can learn to do it. It's not rocket science.

I think it's not up to the users to understand how software compilation works.
Car drivers don't need to understand how a car engine works. It helps sometimes, but that's usually a task for the mechanic.

Some distributions are making compilation specially hard.
Most source tarballs install to /usr/local, but in Debian (and maybe others) that dir is not considered by pkg-config.
Example: building stuff like NTK and then NON will result in an error (NTK is a dependency of NON apps). Although NTK was installed before, users need to manually setup PKG_CONFIG_PATH for NON software to see it...

I seriously don't wish any new user to have to put up with this.
It might be easy for us that are now used to this sort of things, but not for them.

plus some distributions make it specially hard (debian, ubuntu,
fedora, opensuse) by having the libs installed but not the headers.
They all provide 'devel' packages as well. Why they split things
up is another question, IMHO it's a silly thing to do. Usually 
the space taken by the headers is small fraction of the total.

It's not always easy to figure out the header package files. (like ALSA = libasound2-dev)
Also in Debian installing libjack-dev changes your current JACK version from jack2 to jack1. We need to install libjack-jackd2-dev instead... :S

Now, I have a "toolchain" repository for ubuntu 10.04 with gcc4.8,
python3+qt4 and a bunch of other useful stuff.
Unless that toolchain can magically create packages for all major
distros (and I'm pretty sure it can't do that), what's the point ?

It won't create packages, it will create binaries - which is what users are looking for.

Take a look at what happened to the recent release of deteriorate-lv2.
Author released only source code, so users have to compile in order to use it.
But due to a variety of reasons it's failing for some of them. Those users will simply skip the software and not use it, because well, they can't...

If there was binaries, users could try that first.
Commercial software always releases binaries (they have to anyway), and I don't see the users complaining much about those.
When done right, binaries can cover most Linux users, which will be happy to be using software instead of trying to figure out dependencies, paths, headers, etc etc.