0ldsk00l / nestopia

Cross-platform Nestopia emulator core with a GUI
http://0ldsk00l.ca/nestopia
GNU General Public License v2.0
705 stars 167 forks source link

Please provide an AppImage for Linux #294

Closed probonopd closed 6 years ago

probonopd commented 6 years ago

Providing an AppImage would have, among others, these advantages:

Here is an overview of projects that are already distributing upstream-provided, official AppImages.

If you have questions, AppImage developers are on #AppImage on irc.freenode.net.

rdanbrook commented 6 years ago

I'm not going to get into the business of distributing binaries. That's a Windows thing, and I don't support efforts to make other operating systems like Windows. Downloading binaries from the internet and running them is a step backward. We have trusted package repositories in all major distros, and if a package is not available, compilers are.

The source is available, and anyone can build a package for whatever distro, or a flatpak, or an AppImage if they so choose. Those will never be "official" builds, and that is not a burden I wish to take on.

probonopd commented 6 years ago

I'm not going to get into the business of distributing binaries.

While I respect your decision and certainly think an application author has every right to do or not to as they please, I am always surprised by this.

How on earth do you want to support your users if you do not want to "get into the business of distributing binaries"? Just throwing out source code and hoping for the best is leaving Linux users in the dark.

rdanbrook commented 6 years ago

I reserve the right to be a benevolent dictator for life, and my decree is that users must install the software either from their distribution's package repository or from source. This is nothing new to Linux folks, and god willing, it will stay this way. I'm not going to support something that encourages bad habits learned on Windows.

probonopd commented 6 years ago

Imagine a user running, say, Ubuntu 14.04. What comes with the distribution is far outdated by now, and the user being the user (rather than the developer), he has no clue of where to begin to compile something. But anyhow, as I said I respect your opinion.

rdanbrook commented 6 years ago

A user running an old operating system obviously doesn't mind running old software; in fact, the majority of the software they would be running is old. If they update, they can get the latest, packaged versions of everything from a trusted source, not just their favourite emulators.

Let me distill: You are coming here to impose work on me (building and hosting Linux binaries), no matter how much sugar you coat that with. I don't say this angrily, I simply say it factually. I build Windows binaries because that is the standard way to distribute Windows programs. I have considered Mac binaries, but Homebrew seems to be doing a great job, and any Mac users who want to use this software are going to be using the CLI interface only, anyway. On Linux, 3rd party binaries are a non-standard way to distribute software. I do not wish to further efforts to change this, as I consider it a step backward; packages directly from the OS distributor are superior and easier to trust, and the majority of popular distributions have packaged my project, thanks to both packagers doing so of their own accord, and me reaching out. This does not need to change.

This is the first time I have heard of the "AppImage" project. It seems on the surface to be another answer to the "problem" Flatpak solves. Flatpak, however, seems to have more community buy-in and also seems more mature. If I were in favour of distributing binaries for Linux, this is how I would likely go about it.

"Users" are not stupid, especially ones who managed to install Linux. If a user who installed some random distribution that is not derived from Debian, or otherwise does not have Nestopia UE packaged wants to run it, then the hoops they will jump through to do this will likely be far less daunting than the hoops they already jumped through to use their obscure distribution. The required libraries and instructions to compile are in the README. If you're not willing to learn, Linux may not be the right choice for you; no judgement.

Anyone, including you, is capable of packaging this up however you please. I'm not going to place any roadblocks in your way, or react angrily if you do so.

I hope this clarifies my position, and possibly gives some insight into the thinking of other people who are not interested in this. I would advise changing your approach to people if you would like to build bridges; perhaps come in and offer your ability to do some of the work rather than just impose it. As I have said, I will not create roadblocks for anyone wishing to package this software in the manner they desire.

probonopd commented 6 years ago

Thanks for your response, which I appreciate. Looks like you have a fairly set opinion on this, I'm not gonna change it, and that's entirely ok, but for the benefit of others reading this let me add my perspective:

You are coming here to impose work on me (building and hosting Linux binaries), no matter how much sugar you coat that with.

True. I like to run binaries provided and supported by the original (upstream) author of an application. Not something put together according some distribution policies by a third party who may or may not understand the inner workings of the application fully, and may or may not follow the original author's intentions.

Anyone, including you, is capable of packaging this up however you please. I'm not going to place any roadblocks in your way, or react angrily if you do so.

I am looking for official upstream-provided binaries, supported by upstream. Yes, this is additional work, and no, I am not entitled to "demanding" it from any upstream, but I'd certainly appreciate it.

I build Windows binaries because that is the standard way to distribute Windows programs.

And with that, you do Windows users more of a service than Linux users. Just saying.

This is the first time I have heard of the "AppImage" project. It seems on the surface to be another answer to the "problem" Flatpak solves.

The other way around. Flatpak's predecessor Glick was inspired by AppImage's predecessor klik. And Flatpak does not solve what AppImage intends to: Namely, allowing for app "management" by drag-and-drop in the file manager (no package manager needed!), like on the Mac.

A user running an old operating system obviously doesn't mind running old software; in fact, the majority of the software they would be running is old.

A significant number of users wants to run a seldom-changing, rock-solid, supported operating system (sometimes provided by an institutional IT department) on top of which to run the very latest applications (without having to bother the administrator). The worst thing to happen is that a particular application does not run as intended, but the system's integrity is never compromised.

rdanbrook commented 6 years ago

Thanks for clarifying your thoughts on this, I am glad this is actually a constructive conversation. There are certain things we are not going to agree on, but I understand some of the use cases you've described. However, I don't see running emulators being a permitted use case on a heavily locked down institutionally controlled desktop. I think this argument certainly makes sense for other, less recreational software.

As for packagers not necessarily understanding the software they are packaging, I have also seen this example in the real world, when a distro-packaged version of some popular server software was compiled without TLS support and other similar blunders. Again though, I don't think this applies here. I would say the burden there should be on the developer to write a sane enough program that packagers don't need to think about these issues.

As a result of this conversation I have decided upon two things. I am going to familiarize myself more with AppImage/Flatpak type distribution in case this does one day catch on in a bigger way, making it impossible to ignore. I am also going to create better instructions for people who wish to compile from source.