Hacker News new | past | comments | ask | show | jobs | submit login

Outside of Dev work unfortunately Linux is not that much fun. If you need to do accounting, graphics or other work there are options on Linux but they are usually way behind what Mac or Windows are offering.



Even as an desktop developer, often Linux is 2% of the user base, very vocal, used to software being free, and with infinite OS variations. That's not very compelling.


Infinite variations is the bane of free/open software. It is the primary reason it hasn't taken over everything, IMHO.


And yet, it has, for definitions of "everything" that aren't a desktop computer, or an iDevice.


If I was in the market of workstation software such as CAD, Music DAWs, industrial automation etc. I would much rather have control over the base OS by shipping a customised version of Debian or similar. This would be very compelling for professional users also, who don't want the consumer-oriented cruft and bloat associated with Windows and Mac OS.


How would you deal with customers' corporate IT banning any non-certified OS from the network?

At work, we have a big TV screen showing an alert overview (a Grafana dashboard). A Raspberry Pi with Raspbian and Firefox would be enough to do that, but if we were to connect one to the LAN, its MAC would be blacklisted within less than a hour. (I've heard a report from a contractor plugging his own notebook into Ethernet, who had said cable ripped out by the local admin a few minutes later.) We ended up using an old notebook from one of our colleagues running Windows 7 Enterprise. Every few days, we have to RDP into it to click through app updates or restart the browser or something like that.


IPtables, block all incoming traffic aside from arps and replys to known traffic?


And what do you do when your customer wants to use on the same machine two professional apps from different vendors?

How do you reconcile Adobe Linux for After Effects/Photoshop/Premier with Autodesk Linux for Maya/...?


This has nothing to do with Linux, rather with the publishers who decide not to support Linux or any particular distro at least.


Yeah sure, let's not wonder why maybe developers don't want to develop for your platform or anything.


Nothing to wonder, it's easy to understand why they prefer to invest in 90% of the market, but they shoot themselves in the foot by investing in non-free platforms at the end of the day.


You're ignoring how they got to be 90% of the market. It is a comforting lie to say that it was all shady business practices and marketing, though those certainly played a role. Here's a clue:

"One of the things, none of the distributions have ever done right is application packaging ... making binaries for Linux desktop applications is a major fucking pain in the ass. You don't make binaries for Linux, you make binaries for Fedora 19, Fedora 20, maybe even RHEL5 from 10 years ago. You make binaries for Debian Stable…well actually no, you don't make binaries for Debian Stable because Debian Stable has libraries that are so old that anything built in the last century it doesn't work. …and this [“Don't Break Userspace!”] is like, a big deal for the kernel, and I put a lot of effort into explaining to all the developers that this is a really important thing, and then all of the distributions come in, and they screw it all up. Because they break binary compatibility left and right."

--Linus Torvalds, DebConf 2014


"they shoot themselves in the foot by investing in non-free platforms at the end of the day."

When is that end of the day? Over the last decades it would have been extremely difficult making money with Linux dekstop software. Windows and Mac were the only viable options to run a business.


...because Microsoft is good at marketing, has no ethics, and successfully leveraged its advantages in the 90s to kill all the competition? Is this a trick question?


Possibly, or maybe that's an excuse the community uses because they're unwilling to see how openly hostile they are to proprietary software on their platform.

Let me ask you a quick question: How can I distribute an application in a way that will work on all Linux Desktops?


A way to do that in a cross-distro way with (almost) no dependencies is via AppImage[1]. This creates a single executable that contains your application and all the necessary libraries and data files.

There is also work towards a more modular approach with Flatpak and Snaps, but those require support from the distro side. AppImage doesn't need any specific distro support.

[1] https://appimage.org/


And even AppImage, a solution I frequently praise mind you, doesn't always work right.

It's 2018 and the Linux Desktop still doesn't have a consistent way to... well do anything now that I think about it, but that you can't even reliably distribute an application is pretty insane.

Flatpak and Snaps are a typical Linux Desktop solution: Over-engineer the shit out of it.


AFAIK the only issue that could make AppImage to not work is lack of FUSE support, but any modern distribution should have that enabled.

Beyond that, AppImage is really just a container. It is still up to the developer to bundle the necessary dependencies (libraries, runtimes, VMs, data files, etc), but this is something they'd need to do with Windows too.

What problems do you have with it?


I have only ever used one, personally, but users of NixOS don't seem to be able to use them out of the box.

> It is still up to the developer to bundle the necessary dependencies (libraries, runtimes, VMs, data files, etc), but this is something they'd need to do with Windows too.

Only for libraries not present in the base system. Problem with Linux Desktop world is that they seem to actively loathe the concept of a consistent base system.


>>> Let me ask you a quick question: How can I distribute an application in a way that will work on all Linux Desktops?

It's a trick question without a clear answer.

Many people tried, noone has ever succeeded.


Steam on Linux works very well.


The next question would be on which distributions and which versions of which distributions?

Linux is a very large family of operating systems, with hundreds of members and variations. It's really a meaningless term.

https://support.steampowered.com/kb_article.php?ref=1504-QHX...


That KB entry is misleading: Steam works on most distros (at least all the ones that I've tried) because it includes its own runtime (glibc etc.) and thus avoids most of the idiosyncrasies of distros.

AppImage/Flatpak/Snap/Docker is mostly the same idea, just executed differently.


Yeah, it speaks volumes that the best way to ensure applications work on your platform is for the dev to bundle their own version of the platform in a container with the application.


Well, it's also how OS X apps work, and have worked for a long time already.


...those are called folders. DOS applications worked that way. Only UNIX people seem to think that not hardcoding all your paths is some kind of special voodoo.

Oh, you meant that they package the libraries with the application? Yeah. If it isn't part of the base system, they do. That's how it should work or you get DLL hell.

Problem with Linux Desktop is if you put any two of its community in a room you'd have 4 different incompatible base systems within a week.


At least with platforms such as Steam, the problem is one of porting the platform to each distribution, not all its applications.


Why bother to try to sell desktop software to users that want everything for free, and with source code available?

Usually the only ones willing to pay for Linux software are enterprise shops.


Linux users expect not to be locked-in and controlled. Perhaps if vendors tried different revenue models, such as sponsoring new features or charging for support/bug fixes. Over the last few years I have spent several hundred dollars in donations to free (libre) software. We are not all cheapskates :)


Hardly anyone can live from donations or bounties.

Try to get a mortage, pay a monthly rent, pay the kids school,.... just with donations.

One needs a regular source of income.

Desktop users are usually not keen to pay for consulting, trainigs or documentation. Rather just paying once.

Vendors that have pushed for web solutions get a constant revenue, but that solution makes the desktop irrelevant thus regular users see no benefit in running e.g. Chrome in other OS that wasn't already installed on the hardware that they bought.

Additionally such hardware is as proprietary as it ever was, even if built with a FOSS stack, as no one gets the sauce running on the server.


I didn't actually suggest donations was a lucrative revenue model. Support could be though, for example, RedHat is a billion dollar business.


"We are not all cheapskates :)"

Most are though.


Sure. It's not the direct fault of Linux but it prevents wider adoption by non tech users.


Let's not forget that most non-tech users can do almost everything they need nowadays in the browser.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: