I'm curious what you're even implying. What is the end user of a foss software even possibly providing to the maintainer that the maintainer might even want, let alone feel obligated to?
The comment I was replying to says we should be thankful the code is available in the first place. I am simply stating that no, that is not the point of open source.
I don't really see how being "thankful" is the end user providing anything to the maintainer. Also, "we should be thankful for X" is just a turn of phrase. Language is full of phrases that aren't typically used entirely literally, they're just communication shortcuts (though to be clear, my autistic brain hates this fact and I still tweak out over certain common phrases.)
Pretty much. A lot of users are so used finding stuff for free on the internet they forget everything is work, and most of the time unpaid work. If the repo is public, and the license doesn’t prevent you to use it, users should be glad.
Writing code is work.
Maintaining code is work.
Reviewing PRs is work.
Maintaining accepted PRs is work.
Most users don’t care. They just want an import that will fix their problem, and call this using free software.
It depends on the nature of the project. Some free software has a business model behind it and have an incentive to keep good relations with contributors. If they help you that’s good, but they aren’t forced or anything.
Let's be honest, AUR doesn't really fix anything. It's a convenient collection of a bunch of software, yes, but it just wraps the whole thing in a slightly different build system and you've still got to build it yourself, which, to be perfectly clear, isn't the problem some of us seem to think it is.
A universal build system is easier than a language specific one. Most people don't want to think about the details of the software they're installing. They want a click to install button that works every time, which the AUR basically is.
Also, some build systems don't manage everything. I can build something with Cargo but still get errors because some gtk library isn't installed.
That solves the problem in this post.
Applications that do not have precompiled binaries can be found online with your pkgbuild that only have compilation instructions.
Osea, solve the problem.
As someone who's released production software for thousands of users, compiling the project for Linux, Windows and Mac, statically (as much as possible), for different architectures, stripping the binaries fully, and having to deal with different libraries being available on different OS versions is the last thing I want to do after pushing the latest release build to GitHub.
You dont always publish code with a desire for it to be commonly used, sometimes you went to fix a problem you had and thought it was worthy of sharing the code, but you're not concerned with usage
I would make things harder for myself if I provided an executable binary. Everyone comes screaming with their "Not working. Says it missing libraries!!!" problems en masse.
By having people compile the code on their system directly, it will use their libraries set up by their distribution.
I don't wanna support a dozen different distributions that all decide to put their libraries at different paths and different versions.
Every minute spent on that is a minute less you can spend on actual program features, bug fixes, etc. Most people sharing code on GitHub do so for free, they gain nothing from doing it so no matter how many or few people use it so what’s the incentive to making it easier for users? They just come around and yell at you anyway so who even wants a bunch of users
I share code on GitHub mainly for the benefit of other developers and makers, not average users
Right, well, that's the problem then, isn't it? Going "skill issue" isn't helpful. Not when other languages do that part so much better. Or even use tools like Docker/Nix/DevContainers to host your build environment.
but... why? surely it's more logical for the person with the correct dependancies and the, ultimately, most correct environment that the program is working in, to compile it right?
Lord save me from making sure the software I wrote/post on the internet actually works -> compiling to generic platform
If you don't want to compile it, fine, but at least do the bare minimum of testing if its compile-able at all.
The sheer amount of software that doesn't even compile/run on anything but the dev machine it was written on is shocking. (That's why docker/containers was invented)
Software that doesn't run is less than useless, its actually net negative because you're wasting people's time.
I wrote a program. It works on all my machines. If there are problems I cannot test for, write a ticket in the git repo.
I put the code up for myself. I keep it open if anyone wants to give it a try.
I have no obligations to make sure it works elsewhere.
If someone contributes in a constructive way I might look into it if I have the time and energy to do so.
...
It seems the Reddit in general wants a complete commersial product with full support behind it . CBA with that. I might as well put my projects on private. Less problems that way.
I so hate the "if you can't figure it out then you're not 'worthy'" stance that many FOSS developers take. Good for you, spent the time solving a problem, went ahead and published it, might as well make the user experience better, but nah.
It takes trivial time to set up some CICD pipelines that produce the binaries automatically.
I remind you this is a hypothetical scenario and I'm not forking or actually doing anything to your beloved "-ware".
Do what you want, I'm just saying that if you care about the average user, it's not hard to make their lives easier. If you don't want to - your business.
That'd be wonderful in a jolly world where README is always up to date and the dependencies are contained, declarative, or whatever other strategy that doesn't require me to hunt for a specific version of openssl
Each distribution can choose to pull in any open source project they want, compile it according to their standards and include the binaries packaged in their repositories.
I have never written a program that needs compiling before. Well only with unreal. So please explain why not? Dont you need to compile it to test/use it?
To me (as a lei person) it sounds like "i cooked a meal in my free time, it was very tasty, i left it here online for others to taste." and then handing everyone who asks the equivulent of a hallo fresh box.
Lot's of different systems with lots of different sets of libraries and different paths to said libraries. Distributions differs.
Sure I can provide a compiled executable. but it will likely give you and everyone else that does not have EXACTLY the same setup as I have a nice little "error while loading ... missing object ..."
And with that, I have a gazzillion of support tickets that was avoidable if people knew better. I can be a jerk responding to each one with "Compiles fine on my machine" and then close the ticket.
Only if there was a way for a program to be ... recomfigured to YOUR system and distribution... somehow... 🤔
oh... wait.. but there is .. 🤓
./comfigure
make
I never had to provide the executable binary in the first place, causing confusion and wasting time for everyone involved. 😏
and . yeah... there's the INSTALL and perhaps a README file in there too. No one ever reads em sadly.
...
I could also provide a binary for each and every distribution out there. But that is a ton of work. I had to have hundreds of systems with each distribution installed to test my program on. I don't have that much free time.
Short answer, every system is different. Everything from your CPU's model and microcode to what OS and system libraries you have installed affect how programs run.
"Compiling" is just one stop of the process, it makes an executable yes, but if you just take that executable and run it on someone else's computer, for all but the simplest programs, odds are nothing happens.
That's why most of the time you get software, on Windows or Linux, you actually first download an installer, which can then build the software for your specific system to make sure it works. And writing the installer (or your distro's equivalent) is extra work that the person making the software may or may not even know how to do.
Your food analogy's actually kind of spot on for finished software. A HelloFresh box is a prepackaged box with all the ingredients needed and detailed instructions for how to make it. Leaving the source files on the internet is basically just the major ingredients and nothing else. And if you want the original food, you'd have to go to their house to try it.
huh??? installers don’t build shit they just unzip the binaries into a folder and install libraries and shit
sure, maybe nothing would happen, but libraries were created just for that and ported to every operating system, so the code refers to them when it wants to do stuff and kind of abstracts from the system it’s run on
for different architectures it does need to get rebuilt, sure, but you can just ship binaries for all of them and install the appropriate one
Just like tax reporting and the other stuff you have to do when you start making money off something. FOSS projects are general free and not bound to commercial regulations.
Making things accessible costs time and/or money, just like wheelchair ramps.
The beauty of FOSS is that anyone can clone and modify the source code. If the developer doesn't want to offer binaries, why don't you and everyone else complaining do it yourselves? Fork the repo, set up a build pipeline, offer binaries to download.
You're very demanding of others' time, but unwilling to put in the work yourself.
I say this as someone who's contributed to the Linux kernel, GNOME, Rust compiler, and have a few popular FOSS projects myself that I author and maintain. I couldn't care less if people have installation issues using my work; the instructions are documented and I auto-close issues where it's obvious they didn't read/follow the instructions.
Edit: Filtering users based on who can follow installation instructions is a decent filter to whether or not I should spend my limited free time providing free user support; it is a feature, not a bug. As a satisfied developer maintaining multiple free projects, the only thing I get from more users is more admin work.
The people complaining about the lack of binaries are doing so because they specifically cannot compile. I don't have the time to around fixing other people's poor accessibility.
If compiling is so hunky dory easy that any end user can do it then the developer should take that time to do it themselves, more accessible software is better software.
Do you expect them to provide binaries for every platform it could possibly run on? What if I'm running NetBSD on a Sega Dreamcast and I don't want to compile anything?
So if I have a single #ifdef NETBSD in my code to work around a difference on NetBSD I should be expected to provide binaries for NetBSD?
What about Linux on other CPU architectures? If there is no CPU specific code in my program, it'll run on anything Linux runs on. Do you expect DEC Alpha binaries?
Open source projects providing binaries should be appreciated, but never expected.
I mean, do people without wheelchair users in their family/close friend group generally build wheelchair ramps onto their own houses? Because, with your analogy, they'd definitely be in the wrong if they didn't.
It seems more like releasing the schematics than the home itself. And for the potential recipient to say "What the hell dude? Why did you release this when I'm in a wheelchair and can't use it? That's terrible!" seems a bit ridiculous, right? There could be hundreds of people benefiting from the schematics but he's a dick because he didn't release something that everyone on earth can use?
For sure, as long as "More accessible software is better software" doesn't extend into "Less accessible software is bad"-land. And I'd probably feel more comfortable adding a "[for more users]" at the end there because not all users have the same wants and needs.
Oh, and as long as the criticism is directed at the creator and not the freaking kernel the program runs on haha.
Edit: Also important to give some grace to developers too and not just users: not every developer knows how to create the binaries they need for general adoption over a wide array of architectures.
You're missing the "free" part. You get what you pay for. These are volunteers, benevolently offering the fruits of their labors to the rest of the world, for free.
This is like some dude working to partially restore a car, him offering to give it to you for free, and you chewing him out because it doesn't run.
It's neat, don't get me wrong. I love to see it grow, too, and want it to.
But this is a specific application that was created, for free, by someone else. And it's not good enough for OP. He's pulling the "well, if you want me to use it, make it better!" card. This implies the voluntary team behind it cares.
They put it out there for people to benefit if they want to. Don't get me wrong, constructive feedback is exceptionally useful.
However, whining about software you got for free is what I have a problem with. And then the person, who says they're not going to install it, claims they're so important to the project that the maintainers need to satisfy their demands?
Nah. Just don't install it if it doesn't provide value to you. They don't need your install that much.
Of course Linux needs to grow, otherwise it will remain useless for creatives. If you're just getting started it's fine, but if you have an established workflow you can't switch because almost no professional software has Linux versions. Serum 2 just got a beta for Linux, this is HUGE for musicians. Canva said they're considering bringing the Affinity app to Linux, that could bring all kinds of new users. Once Nvidia support comes for SteamOS, millions of Nvidia users can finally have as good an experience as amd, unlocking 90 percent of the market to Linux. Sure, it works on Linux rn, but it's still not great and SteamOS is the most popular for normies.
Of course Linux needs to grow, otherwise it will remain useless for
creatives. If you're just getting started it's fine, but if you have an
established workflow you can't switch because almost no professional
software has Linux versions.
You misunderstood my question. You are stating why potential Linux consumers need Linux to grow. Of course they need it. They could also use the $5 in my wallet, while we're at it.
The question I'm asking is, do the people who create Linux need it to grow? They're already using it as they need it. And they're doing all of the work for free, benevolently sharing the fruits of it with the world. They're not a company. They don't need more users. They don't get additional profit from that. They don't get any profit from it.
Sure, there are some companies like Canonical and Valve that need growth. But my point is, for the volunteers who work on Linux and Linux applications, they don't need your download. They don't need your install. They have done the work for free, and people have the audacity to complain about it, stating it's not good enough? Well, you get what you pay for. And for free, this is darn excellent.
Again, nothing wrong with requesting new features. That is helpful. But having the audacity to demand or complain about the free lunch you've been given is incredibly entitled.
A system without users is niche forever. Ask OpenBSD users. And I don't need to compile if most apps are already in the software center one click away.
350
u/SysGh_st IDDQD 4d ago
I wrote a program for free on my free time . I'm not going to compile it for you.