What are some FOSS programs that are objectively better than their proprietary counterparts?
jj4211 @ jj4211 @lemmy.world Posts 0Comments 1,786Joined 2 yr. ago
I think this speaks to the potential strengths and weaknesses of open versus commercial.
It boils down to amount of resources and how they are invested.
In terms of amount of resources, open source has a rather organic pool of software developers. So if you have a use case that impacts every software developer in the world, well the open source has a lot of free labor that can produce impressive results that a commercial player would have a hard time out-spending. Conversely, if the use case is relatively more niche and the users are either not programmers or too busy using the software to do other things they couldn't spend any on software, a commercial player can force the issue by paying some developers to work on it. Now the quality of that work may be reduced by the developers doing it for the pay without necessarily an inherent passion for the task at hand, but it can be pretty compelling and people can tend to get invested in their work even if they don't care to start with. Incidentally it's why at my company when they lucked into someone with actual passion for the work comes along I advocate strongly for retention, but those folks tend to be neglected and leave while some passionless sycophant gets the retention and promotion.
Then there's how that resource is invested. Here we have professional software versus the more prolific general consumer software. In the general consumer case, the commercial interest takes the user as a given, and goes straight into how to gouge that customer relationship as hard as possible without regard for a good user experience. Stuff them with ads. Implement telemetry with rights to sell it off for marketing data. Nag them at every corner to buy some other offering at increased price. Have a confusing set of tiers and actively screw with the bottom tier. Actually making the software fit for purpose is so far below those others. With software for business, well, you still get the 'must subscribe and confusing portfolio', but some of the other stuff tones down. The target market is smaller, and the potential for marketing data and advertising revenue isn't as attractive. The target market is frequently companies that take their confidentiality seriously and will readily get a lawyer to pursue issues, so the telemetry is both less valuable and a bit of a grenade waiting to go off if something screws up. So OSS tends to cover the 'general consumer' cases surprisingly well because the commercial interests are so much more invested in making things worse, while business to business can actually have a chance still.
Eh, I prefer KDE. It's fairly uncluttered unless you actively mess with it and want it, whole Gnome is pretty ruthlessly "our way is the right way".
Once upon a time they only allowed virtual desktops to be in a column. Someone decided that columns weren't for everyone so obviously make it only be in a row. Despite ages of most implementations supporting a grid layout.
Window title search. This is fantastic for managing a lot of windows. I wish KDE could get better by using screen reader facilities to let you search window contents as well, but having the facility in show windows view at all is great.
Their window tiling is less capable even than Microsoft windows.
Any attempt to customize means extensions, and they seem to break the interfaces the extensions need constantly, and I had to face the reality that every update had me searching for a replacement extension because they broke one that want maintained anymore.
But either way, the open desktop shells are better than the proprietary ones.
It's also a good example of how an open source project manages to outmaneuver big company offerings.
Home assistant just wants to make the stuff work. Whatever the stuff is, whoever makes it, do whatever it takes to make it work so long as there are users. Also to warn users when someone is difficult to support due to cloud lock in.
All the proprietary stuff wants to force people to pay subscription and pay for their product or products that licensed the right to play with the ecosystem. So they needlessly make stuff cloud based, because that's the way to take away user control. They won't work with the device you want because that vendor didn't pay up to work with that.
Commercial solutions may have more resources to work with and that may be critical for some software, but they divert more of those resources toward self enrichment at the expense of the user.
And by extension, terminal emulators. Pretty much any open source one is miles better than the closed source ones.
Microsoft recognized this and has dramatically improved theirs as Microsoft terminal, an open source replacement. But it still isn't as good as a lot of other terminals.
One day boss comes in and sees my colleague. Remarks how early he came in. He said he never left the previous day and planned to just keep working (salaried guy). Boss said he needed to take the day off, wouldn't have him drive, and he drove his car and had me follow to take the boss back to work after dropping colleague and his car at home.
He consistently tried to break that guy's incessant overworking. Had a lot of respect for him.
Unfortunately he got canned when he kept some stuff from upper management in writing that got upper management in trouble. Not enough trouble to remove their ability to retaliate, but enough to save a few other jobs of folks they were trying to throw under the bus for their mistake.
And that's what didn't get in.
His episode ranks up among the worst examples of episodes ruined by the host (another famously bad one was Steven Seagal).
SNL lets the host drive much of the theme of an episode, and his was a particularly bad stinker.
Unfortunately, the incompetence doesn't matter when they act on it and no one is willing to hold them accountable.
Like recently how they admittedly deported someone they weren't allowed to and even the supreme court unanimously ruled against the administration, but the administration just shrugged and ignored it, claiming that the court has no authority over what they consider now to be a sovereign El Savador issue.
So if they ship off an inconvenient citizen to El Salvador, they claim it's not their problem because it already happened...
At that point, isn't your cart just a really big reusable bag with wheels?
I had been planning to, but being lazy about trying to enable my IDE setup but was giving it the benefit of the doubt. Your feedback resonates with how much I end up fighting auto-complete/auto-correct in normal language and seeing it potentially ruin current code completion (which sometimes I have to fight, but on balance it helps more than it annoys). I suppose I'll still give it a shot, but with even more skepticism. I suppose maybe it can at least provide an OK draft of API documentation... Maybe sometimes...
On the 'vibe coding', on the cases I've seen detailed, it seems they do something that, to them, is a magical outcome from technologies that intimidated them. However, it's generally pretty entry level stuff for those familiar with the tools of the trade, things you can find already done dozens of time on github almost verbatim, with very light bespoke customization. Of course there is a market for this, think of all the 'no code'/'low code' things striving to make approachable very basic apps that just end up worse than learning to code. As a project manager struggles to make a dashboard out of that sort of sensibility, a dashboard that really has no business being custom but tooling has fostered the concept that everyone has a snowflake dashboard, it's a pain. But maybe AI can help them generate their dashboard. Of course, to be a human subjected to the workflows those PMs dream up is a nightmare. Bad enough already at my work there are hundreds of custom issue fields, a dozen issue types, and 50 issue states with maddening project to project unique workflows to connect the meaning of all this, don't like AI emboldening people to customize further.
The thing about 'vibe coding' is when they get stuck and they get confused/frustrated about why the LLM stopped getting them what they want. One story was someone vibe coding up a racing game. He likely marveled as his vision materialized. From typing prose without understanding how to code he got some sort of 3D game with cars and tracks and controls. This struck him as incredibly difficult otherwise, but reachable through 'vibe coding'. Then he wanted to add tire marks when the player did something, maybe on a hard turn) and it utterly couldn't do it. After all the super hard stuff, why could the LLM not do this conceptually much simpler thing? Ultimately spitting out that the person needed to develop the logic himself (claiming it was refraining to do it because it would be better for him to learn, but I'm wagering that's the generated text after repeated attempts to generate code that the LLM just could not do).
else: # not my list, it is ourlist
In context, one can consider it a bool.
Besides, I see c code all the time that treats pointers as bool for the purposes of an if statement. !pointer is very common and no one thinks that means pointer it's exclusively a Boolean concept.
I occasionally check what various code generators will do if I don't immediately know the answer is almost always wrong, but recently it might have been correct, but surprisingly convoluted. It had it broken down into about 6 functions iterating through many steps to walk it through various intermediate forms. It seemed odd to me that such a likely operation was quite so involved, so I did a quick Internet search, ignored the AI generated result and saw the core language built-in designed to handle my use case directly. There was one detail that was not clear in the documentation, so I went back to the LLM to ask that question and it gave the exact wrong answer.
I am willing to buy that with IDE integration or can probably have much richer function completion for small easy stuff I know to do and save some time, but I just haven't gotten used to the idea of asking for help on things I already know how to do.
That's been one of the things that has really stumped a team that wanted to go all in on some AI offering. They go to customer evaluations and really there's just nothing they can do about the problems reported. They can try to train and hope for the best, but that likely won't work and could also make other things worse.
I understand it fine, and it's not just a packaging phenomonon, all sorts of software developers have stopped trying to have consensus on platform and instead 'just ship the box'. 99% of the time a python application will demand at least virtualenv. Golang, well, you are just going to staticly build (at least LTO means less unrelated stuff comes along for the ride). Of course docker style packaging is bring the whole distro. I'll give credit to snap and flatpak that at least allow packaging to have external dependency packages to mitigate it somewhat.
I'd say actually a bit of the opposite. Generally speaking we don't need a new package manager or init system, and better hardware support is almost entirely a kernel concern (one might make an argument that the loose bits of key management and tpm2 tools and authentication agents could be better integrated for "Windows Hello" type function I suppose, but I doubt that's what the meme had in mind.
Not really needing to reinvent the wheel on those, we got a variety of wheels, sometimes serving different sensibilities, sometimes any difference in capability went away long ago (rpm/dnf v. deb/apt).
The best motivation I can think of at this point is to make specialty distribution that is 'canned' toward a specific use case. Even then it's probably best to be an existing distribution under the covers. I think Proxmox is a good example, it's just Debian but installer made to just do Proxmox. You want to do automated installation? Just use Debian and then add Proxmox (the official recommendation), because they have no particular insight on automated deployment, so why not just defer to an existing facility?
The biggest conceptual change in packaging has been "waste as much disk as you like duplicating dependencies to avoid conflicting dependencies", maybe with "use namespace and cgroup isolation to better control app interactions" and we have snap, flatpak, appimage, and nix very well covering the gamut for that concept.
For init, we have the easy to modify sysv init, or the more capable but more inscrutable systemd. I don't see a whole lot of opportunity between those two sorts of options already.
Permanently Deleted
Where's the beef?
Permanently Deleted
For great justice
Permanently Deleted
You are likely to be eaten by a grue?
Trump raises tariffs on China to 125% but announces 90-day pause for other countries – business live
Yep, and then pause them claiming, like he did this time, that somehow magically every nation in the world managed to negotiate with him to his satisfaction within a couple of days....
Or claim that no one but China threatened retaliatory tariffs (and of course a lot of them did) and that's why he gave them a reprieve to reward them for not retaliating.
Or to claim that China is a bad actor because they imposed punitive tariffs and that's only something that bad actors do...
I don't know, I mean I've seen a fair amount of IDE capability out of VSCode after some invested effort to try to get it there, but at it's best I haven't seen it as comprehensive as what I've seen in a Jetbrains IDE. That said, in my use case the IDE capabilities don't apply very well anyway, so it's moot for me and I'm happy with Kate with LSP.