Single worst solution to the downstream problem ever!

The kernel, coreutils, and things which remain 99% the same regardless of distribution
Post Reply
X11
guru
guru
Posts: 676
Joined: Sun Jan 19, 2003 11:09 pm
Location: Australia
Contact:

Single worst solution to the downstream problem ever!

Post by X11 » Thu Jan 27, 2011 3:18 pm

http://www.informationweek.com/blog/mai ... _bina.html
FatElf has one possible incremental solution. It's an infrastructure for packing into a single file multiple copies of a binary as built for different Linux revisions, CPU architectures, and so on. It's a bit like an archive format, but built specifically to package binaries and allow the right one to be selected and used.
Well obviously it doesn't really solve anything, and any illusions of convenience are wiped out just by imagining the size of the file. I think a culture of laziness is shown and something worse as well just by the fact that the media pick the worst ideas up. The first thought that came to mind was: is it really that hard to write to LSB? I don't think it is. I think the very problems of binaries are both over-exaggerated and the problem of downstream seems to be misunderstood. As for binaries, they're not hard to install at all thanks to package managers. Many find those to be of extra convenience already - but the real problem isn't getting applications out there the real problem is attracting third-party developers that were never in the "movement" to be doing things in this style. More than anything, writing for Linux is seen as hard to get into. As far as I'm concerned, a generic style of installer has already appeared for third-parties that can detect a distribution or anything else it needs to know: you write a shell a script and chmod it executable. Only unemployed people have not seen it and used Linux.

Really the problem seems to be two things: The LSB doesn't cover enough, and people like mutilating software before its included in their distros. The first means that when writing for Linux things kept constant across distros are not of the most importance. The second seems to be a problem where there are needless changes, and I myself see a better solution in providing alternatives to patches for vendors to make these changes. The fact patches are used, means downstream applications can differ in ways from the upstream that no developer can expect. It's not just a problem for closed-source software - it is a problem for any developer wanting to be on Linux that doesn't have friends in any of the distributions to implement it and work around all the minor changes. It creates specific work for each distribution. Part of the solution is already there I've noticed, in the form of real applications not being considered for use beyond Fedora and Ubuntu. Distributions have not just created choices, but a limitation in the amount of extra work it takes to have a well supported Linux application. Unless you have downstream monkeys to implement it, you'll just be distributing source code to the neckbeards like myself. It's a very alienating situation for developers, because writing an application for Linux has become about downstream friends or an abundance of time to port to each distro and not what it actually should be about: writing good code.

The fact is this can't stand, and what stands to be lost over ignorance of the severity of this issue is the best thing Linux ever had: pioneers. New developers hate politics, and this is why we had this grand hobby of GNU/Linux once. Yet now, it seems a young developer is likely to encounter this massive hurdle of Linux now having a complex social structure which is leading to problems. To anyone new on the block, Linux seems like a cult. Yet when I was young it seemed to be an escape not a commitment from corporate software-politics. The benefits of open-source are great in many ways, but nobody needs Linux for that. If it gets worse, the off-putting nature of the situation combined with retirement and old age could mean the end of many projects.

In the end, mostly upstream developers have gotten far too used to the idea of a release only in source code, to be toyed with and bent to fit the distributions. Not only is this naive because of all the changes it makes between distributions (in a world where practical applications are more likely to need gstreamer or something in the distro rather than the LSB) - it requires the favorable position of having vendors to implement it. Once an alternative to monopoly, lackluster security, and possibly still is - Linux has become alienating to the young and creative.

Laziness isn't going to preserve anything, more than anything we should have stopped selling out years ago.

Post Reply