Hacker News new | ask | show | jobs
by saidajigumi 2595 days ago
– We collaborate inside proprietary environments

Why is that? Why have users chosen those environments? Assume they are rational beings, and get at the heart of it. Ask: "How can we address the actual user needs while supporting our goals?"

– Many Linux and FOSS geeks today use Linux only professionally

Same answer as above.

– We're not modeling our values

WHY? (Hint: "the use of nonfree" is not, and has never been a primary human motivator even for many people who "get it".)

etctera.

Finally, regarding the below... only one of these, the first, even tangentially touches on the user experience. There's an implied expectation of so much FOSS advocacy which reduces to "by writing and using our software, you will be wearing a hairshirt for the cause". This mindset is guaranteed to fail in front of users, who are by and large "non-believers".

     "Having real-time chat is absolutely essential to the advancement of free software."
    "We're the resistance now." "We need to create mass movement."
    "Volunteer to write free and open code, to participate in communities."
    "If you didn't live the history, learn from those who did."
    "If you did learn from history, teach those who need to know it. Respectfully."
    "Be patient. Remember that the tortoise won not only because it was patient, but because it ignored insult, ridicule and dismissal."
    "Model your values. Use free software and hardware."
    "Remember always how 'the rights to copy, share, modify, redistribute and improve software' are fundamental rights that matter to people."
    "Work to convince developers that their software freedom matters."
7 comments

> Why have users chosen those environments?

Because they don't give a rat's ass about the freedom aspect of free software. If software A requires four clicks to do something, but B has a way to do it in 3, they are on B without a second thought.

But in this case, those users are not just any old end users; the are actually supposed to be FOSS developers, so there is a heavy irony there.

I think what is doing on is that large numbers of people are now "reluctant" FOSS developers. They do FOSS because someone told them to. They got a job somewhere and the job involves writing code that gets upstreamed somewhere and is redistributable. Well, they don't give a damn about that, it's just a job, no different from working on proprietary software. Or they work on some proprietary stuff, but it interacts with and depends on some FOSS pieces so they get in there and make changes out of necessity, and those changes are freely licensed only because they are derived from a work which requires that due to copyright doctrines about derived works.

It's partly a generational thing. Notice how Doc Searls looks about fifty-something. He remembers a grassroots free software movement which was about actually about displacing proprietary software and liberating the user, and not about about providing reliable commodity middleware for locked-down devices and cloud services.

If you were born after 1990, you don't know a world in which Linux and other FOSS wasn't used for making locked-down tech, and proprietary web sites that lock in millions of people and step on their privacy. So of course it's hard to understand someone like Doc Searls.

The free software ideology originated in a world in which you still installed applications locally and ran them on local data, on a machine where you were allowed to stick in a floppy disc with any piece of machine language in its boot sector that could easily take over the machine. The machine that was understood to be owned by you once you paid for it.

> Because they don't give a rat's ass about the freedom aspect of free software. If software A requires four clicks to do something, but B has a way to do it in 3, they are on B without a second thought.

Isn't this kind of the point, though? To compete with proprietary software, free software needs to actually be competitive. "It's not as good as this other (proprietary) software, but it's free" won't cut it.

> "It's not as good as this other (proprietary) software, but it's free" won't cut it.

Except that it has to cut it in order for a free software movement to exist, because otherwise free software is starved by a chicken-and-egg problem where developers don't use free software because it's inferior, and free software never improves because developers don't use it. In other words, being willing to use technically inferior software solely because of the superior freedoms it grants is the way to make the engine of free software run. GCC was not the best C compiler in the world when Linux started using it.

That argument is not holding any water.

First, free software doesn't improve "because developers use it". It improves because developers work on it. Blaming the users for that problem is not helping at all, except with a vague sense of moral superiority.

Second, people use tools (e.g. software) to achieve things. "Making the engine of free software run" is not on that list of things for the vast majority of people, so maybe we should try giving them reasons that actually matter to them.

Third, the reason that GCC was used for Linux was that it was the only one that was widely available, free, and had a 386 backend that produced useful code. Nobody involved gave a bit about "engines of free software" and "superior freedom", it was the only tool to get the job done.

It was certainly not technically inferior at the time.

Fourth, a large part of the reason for commercial software usage is the incredibly sanctimonious community around OSS.

If I can buy a piece of software that does exactly what I need, in a pleasant way, for a small amount of money, potentially even with support that cares about me? Why ON EARTH would I sink tons of time into a craptastic piece of software with horrible UI and an abusive community?

Like it or not, OSS is competing in a marketplace. It doesn't need to win on all axes, but it needs to win on some outside of "free"

The distinction between "developers use this" and "developers work on this" is irrelevant in this context, because to a first approximation no developer volunteers their time to software they do not themselves use or hope to use. If nobody wants to use your software, there is nobody who will take time out to contribute to it.

Secondly, nobody is suggesting that free software should not try to compete on non-philosophical terms. What people are suggesting is that a volunteer project cannot perpetually out-compete a well-funded proprietary competitor. If people care about the continued existence of free software, then they will at times have to console themselves with using software that, while hopefully fit for purpose, is quite possibly not best-in-class.

If you take care of your own interests in a more thoughtful way than "I want what works best and I want it now", Free Software looks much better. Short-term pragmatism can shoot you in the foot long-term. Lock-in and control are very real things.
And long-term zealotry can shoot you in the foot long-term, too.

There are trade-offs. OSS can shift trade-offs on some of the axes, but that's about a cultural change.

It means giving up on the ludicrous idea that GitHub is bad because it "runs proprietary JavaScript executed in our browsers". It means realizing that "writing code" is a tiny part of creating a useful product. It means giving up on the disdain for all things non-engineering. It means welcoming people into the community who "just" want to write documentation, or work on UX, or any number of other things. It means letting go of overblown rhetoric like "we're the resistance now".

Above all, it's about realizing that it's not about "choosing a fight", but creating a better community.

I don't understand, though — there are so many cases in which free software dominates because it's better, despite proprietary alternatives from companies with deep pockets.

Most servers run Linux and Apache or nginx. The most popular CMS is WordPress. MySQL, PostgreSQL, SQLite, Redis, and MongoDB are the most popular databases.

On macOS, the most common shell is bash, and most of the commands are free. According to the 2019 Stack Overflow developer survey, two of the three most popular development environments are the open-source Visual Studio Code and Notepad++. The most popular web browser was Firefox for a while, but even Chrome is based on a ton of open-source technologies.

Most people aren't picking these tools because they have some principled stance on free software, they're picking them because they're just plain better.

How many of those products that you mentioned that are free are backed and for all intents and purposes controlled by commercial backers? Would the community maintain any of them to a re al degree if the backing company abandoned then?
Does it matter? If VSCode gets canned, or WordPress gets ruined, why should I, the user using the software to make a blog, give a damn? If VSCode goes there's another one I can switch to. If WordPress goes there's five million other blogging platforms I can switch to. The format that the content (i.e., the configuration, settings, presentation, etc) may all be proprietary, but so what? I have absolutely no allegiance to VSCode, MySQL, whatever. I just use the tool that made the most sense at the time, to accomplish what I wanted to at the time. Times change and if it means I switch tools then so be it. Who cares.

Edit:

I'm speaking from the perspective of an upper 20something. I'm part of a generation that jumps jobs when the opportunity is better, or just because "it's been too long", not the one of years past where I'd be expected to work my way through the same company my entire life. With that said: if my new job says "we use Slack" then I use Slack, end of story. If they say "we use IRC" then I'd Google for how to use IRC because I have never ever used it in my entire life, never read up anything about it in my entire life, and I definitely don't hold IRC in high reverence like many posters here do. All I can see when I google IRC is that it looks ugly and honestly, that's what's most important to me these days because I have to look at, and interact with, the thing for 8+ hours a day so the least it could do is work out of the box, look modern, and doesn't need me to waste hours fussing with some dotfiles to get it to look the way I want, which is exactly how most modern chatting apps look (again: to me it's a waste of time, when I can just grab a off the shelf solution).

I appreciate that there is open source, and that there are free programs out there. I appreciate all the libraries that make my life easier. But the thing is, these are all tools I use to do a job. I don't care at all about the history of say gcc. All I care is that it works and compiles my programs, and if it does, then so be it. And if it doesn't? There are other options, icc, llvm, etc. My point is that at the end of the day, all I want is a tool to achieve a solution, and who makes that tool, or the history behind that tool, doesn't matter to me at all. It's not even part of the equation.

What if you're using a product and its community abandons it? This isn't a unique issue to products with commercial backers.
Until you want your data.

Turns out data roach motelling is a big thing. And it's even better for the corp interests if they can tie hardware and software to irreplaceable APIs that lock the user down to the whims of the owner.

It's time to take the fight back to "Owner"... If you purchased it, why can't you do what you want? Why are you prevented from doing arbitrary actions?

Case in point, it's surprisingly frustrating to get your photos off of Instagram on mobile.
>> Why have users chosen those environments?

> Because they don't give a rat's ass about the freedom aspect of free software. If software A requires four clicks to do something, but B has a way to do it in 3, they are on B without a second thought.

Convenience always wins. Always. Users do care about free (as in beer) and they care if the product or service will disappear without warning (hello Google!). But the definitions of FOSS are so strict that they harm developers, and thus products, and thus convenience for users.

OP is describing the symptoms of this phenomena.

Traditional free software developers do not use the most convenient program without caring about freedom.

Otherwise, for instance, nobody would be debugging with gdb, rather than Visual Studio or what have you.Nobody would be LaTeXing instead of using MS Word or Adobe Illustrator.

GIMP isn't as good as Photoshop (if I believe what people say), yet people still use it. (I've only ever used GIMP since 1996; I have no idea about Photoshop and don't care; it's not free, won't use it.)

People went through all sorts of inconveniences to use free software, like manually figuring out monitor clock timings to stick into their X configuration, building their own custom kernels and whatnot.

You can't say "convenience wins" with a straight face; that's like saying free software doesn't exist.

>Nobody would be LaTeXing instead of using MS Word or Adobe Illustrator.

Hahaha. Have you tried to write a piece of mathematics in MS Word? I did. It's a torture I wouldn't wish on anyone I know.

Mathematicians are all about convenience; so much so that proprietary LaTeX Editors were quite popular before FOSS caught up (remember WinEdt?).

But LaTeX itself - it's the most convenient tool to write and share mathematics that's ever been made. It's unsurpassed. It's required if you want to publish, because all the journals use LaTeX, and most math books are made with LaTeX.

It's so good that people will literally think you are an idiot if you are not using it[1] and won't believe your results.

And ArXiV, have you heard of ArXiV? No LaTeX, no ArXiV.

And trust me, most mathematicians don't care much about FOSS. But they care about not spending too much effort on making their results presentable and shareable. LaTeX -> PDF is the path of least resistance.

[1]https://www.scottaaronson.com/blog/?p=304

>Otherwise, for instance, nobody would be debugging with gdb, rather than Visual Studio or what have you.

If you're working with embedded Linux, Visual Studio isn't going to be much help for debugging on a target.

>Nobody would be LaTeXing instead of using MS Word or Adobe Illustrator.

LaTeX does some things much better than Word, and Illustrator is very expensive.

>GIMP isn't as good as Photoshop (if I believe what people say), yet people still use it.

GIMP is free. Photoshop is not.

You seem to be assuming the people have unlimited money to purchase software licenses. Many free software programs are used not because they're better, but just because they're free and good enough. If I just want to crop and rescale some photos or something, why on earth would I buy a Photoshop license when I can just download and use GIMP for free?

Many proprietary programs also get used because they are good enough. Not everyone wants to do a simple thing using some UI that has grown into a Boeing 747 cockpit.

Some Windows users use neither GIMP nor Photoshop to crop an image, but rather MS Paint, which is comes with the OS, so it is "no additional cost", and requires next to no training to use.

MS Paint has vastly diminished functionality compared to either GIMP or Photoshop.

Maybe cropping wasn't the best example for me to use, but there are many people who want to do more advanced photo editing than that (which is beyond the capabilities of MS Paint), but do not want to pay $$$ for Photoshop. Those people frequently use GIMP, simply because it's free and it works well enough.
> nobody would be debugging with gdb, rather than Visual Studio

If Visual Studio ran on Linux, would anybody bother with gdb? Currently, the second-highest voted UserVoice issue for Visual Studio is people asking for a Linux version (and rather hilariously not understanding what a colossal rewrite that would entail...)

https://visualstudio.uservoice.com/forums/121579-visual-stud...

> Nobody would be LaTeXing instead of using MS Word or Adobe Illustrator.

LaTeX might just be easier than trying to typeset something reliably in Word. I know I always wrote in plain-text and then did a final pass to paste and format it into Word immediately before printing.

> GIMP isn't as good as Photoshop (if I believe what people say), yet people still use it.

Photoshop is stupidly expensive still, and cracking software has fallen out of favor

> second-highest voted UserVoice issue for Visual Studio is people asking for a Linux version

How many of these users are long time free software developers, though, who did free software long before it could just be a reluctant aspect of a job you land into?

Interestingly enough Visual Studio now supports cross platform debugging ( you still need Visual Studio running on windows, but it can debug a linux based program )
A variant called Embedded Visual Studio already supported cross debugging of Windows CE targets twenty years ago. (I was there and used it). Maybe that's not quite cross-platform, but kind of half-way.
I don't think a few of us using Gimp (yes, I am an occassional user) will stand in the way of convenience winning. Hige majority of people do (and will) use Photoshop, simply because it meets their needs better.
GIMP certainly wins on convenience: you just download it, no credit cards or shady torrents.
> it meets their needs better.

That's hardly the case; they are not even aware of the existence of alternatives.

Most of people's occasional image fix-up needs could be met just by MS Paint, which they would find easier to use. Problem is, they don't even know that exists and that they have it pre-installed, let alone that GIMP exists.

A quick Google search for cheap/free Photoshop alternatives will usually get people to GIMP in a couple of clicks. Why are you saying that Photoshop users are unaware of any alternatives? It seems logical to me that anyone in the market for this kind of software would be interested in saving some money before shelling out for PS. Am I wrong?
> For instance, nobody would be debugging with gdb

I mean, I debug with lldb which is free and open. Sure, I do the debugging through the non-free(-as-in-freedom), non-open Xcode, but that's because Xcode lets me harness the power of lldb in a manner that suits me.

There's nothing stopping free and open software projects from being delivered in a user-friendly manner. I'm sure there are plenty of people using gdb and lldb with fully-free and fully-open editors and IDEs.

Sometimes it just takes a mindset adjustment to see that what is most often considered inconvenient, and that followers of free software doctrines must begrudgingly accept as their lot, can actually be delivered in a user-friendly manner that meets the proprietary-software-users' expectations.

It is not about "convenience". It is about "be done with it and get on with my life".

I don't want to use an IDE, I want to debug a Java program. I don't want to use video editor, I want to have a video. I don't want to use 3D redactor, I want a 3D print something.

I can go on forever. The problem with lots of free software folks and linux crowd is fetish of tools. Tools for the sake of tools. I couldn't care less about tools, I want to achieve something, I'll pick up whatever tool that allows me to achieve that quickly and effortlessly. And I'm telling you this as someone who's using linux and writing a bookmark manager for myself in Go right now to pair with menu because all other ways of doing bookmark management suck.

I agree with the sentiments you have expressed. But there is no way around it. People who develop for 'free' will write tools for the sake of tools but few of them will become numpy, latex, docker, Haskell etc.. You are interested in banyan tree, you'll get it if you find the way around the jungle or use a guide.
I just re-read it and I have no idea how I didn't notice my brain burping out Russian word instead of English one.

%s/redactor/editor

Separate question why would it do that

> Convenience always wins

Yes, but convenience also leads to greedy "algorithms" prone to getting stuck in local maxima. Convenience can make us lazy and choose the wrong long-term solutions.

This applies to more things than just tech ("convenience" may make us choose foods that are wrong for our health, for example).

> Convenience always wins. Always.

Not at all. There are million examples of human society choosing long term and social benefits over short term and personal rewards.

> Because they don't give a rat's ass about the freedom aspect of free software.

It's attitudes like this that make people really not care about FOSS. Yelling at people because they're not using IRC instead of slack isn't a good way to convince anyone.

When IRC looks like this https://quasseldroid.info/assets/images/phone.png or this https://blog.irccloud.com/static/2018-05-14-slack-integratio... and people still complain about IRC’s UI or usability, then what more can we IRC devs do?
For me the issue with IRC protocol (not that I know much about it outside my interaction with UIs built around it) was authentication, and connectivity.

So I had an android IRC app for a bit, some top paid one, and get booted from a bunch of my favorite channels because apparently it was just sat in my pocket cycling my connection and flooding the channel with join/unjoins.

That, plus the weird way to authenticate doing /msg Nickserv identify. That might be just how the server I was connecting to was implemented, but it felt fucky.

That's more an issue with your connection. Mobile devices have really bad connections. IRC was //never// designed with them in mind; they literally didn't exist and were not likely to exist for decades (which it has been).

IRC was designed, mostly, for two types of users: A) Large institution users who had a fixed link to the internet and ran in their shell on a mainframe. B) Dial-in users, who's devices mostly stayed connected, and when they disconnected, usually required manual intervention to get back on.

Anyone, and I mean ANYONE using a mobile phone SHOULD be using a 'bouncer' or other gateway to access a live communications environment. This would be more like use case A where someone has a small agent on a slice of a server they 'trust' and that maintains state (for their client) and stateful connection (for links to other servers and users).

IIRC, Quassel IRC has such a client/server model for the client, there are probably others too.

I guess that's the thing, though. Yes, mobile users should be using a bouncer — but who's going to set it up for them, who's going to host it for free and in a manner that it has guaranteed next-to-no-downtime?

It occurs to me that if IRC networks hosted their own bouncers, but that these bouncers were written efficiently to exchange data directly with the IRC servers' and their database rather than keep individual logs and so on, we might have something close to the "open-the-app-and-see-past-messages-without-needing-to-be-permanently-connected" quality that people have come to expect from instant messengers, Slack, Discord, etc.

(but then you might as well just write such functionality directly into the IRCd)

> That, plus the weird way to authenticate doing /msg Nickserv identify. That might be just how the server I was connecting to was implemented, but it felt fucky.

That's what SASL has been for for over a decade nowadays :)

https://i.k8r.eu/Jr-NBg.png

Maybe consider the UX that Slack gives users instead of just cloning the UI on top of IRC and expect it to work out?
That's a major part of what I've done recently, trying to significantly reduce complexity, and contribute to clients to make them more discoverable and require less knowledge to fully utilize them.

The goal is to get rid of the historic interfaces which required a lot of RTFM, and instead to allow users to discover functionality through the UI easily.

If you have any suggestions on what to improve regarding UX of Quasseldroid (my main project), I'd love to hear suggestions, as I'm always interested in improving its UX and learning more about UX design. After all, I, as quasseldroid maintainer, am just one student, not a team of highly paid UX designers.

(And personally, I'm a huge fan of tools like Zulip, Mattermost and Matrix as well — we're all fighting on the same side, after all :)

IRC had its problems but I’d still rather be able to control my ui rather than have a bloated web browser running all day.
IRCCloud is okay, but the UX/UI isn't anywhere near as nice as Slack.
Why would you need to use Slack (or IRC) when there is

    https://rocket.chat/
    https://zulipchat.com/
    https://matrix.org/
    https://mattermost.com/
Probably because the few people who want to use alternatives to Slack are spread among these four alternatives instead of using one and sticking with it.

And honestly, of all the alternatives, IRC is by far the most popular one (and the other alternatives have IRC bridges) hence the most likely to stay around the longest.

Also the simplest to implement, which helps a lot too.

That may be true, but it's good enough that it should be easily usable by developers.

And I'm personally working on Quasseldroid, improving its UI to make it much more usable.

If you have suggestions on how to make Quasseldroid usable for the people that refuse to use IRC, I'd love to hear them :)

> it's good enough that it should be easily usable by developers.

Sure, but the reason all the developers at my workplace use Slack is because we have to communicate with a lot of people who aren't developers.

Slack's good UX extends beyond the basic chat interface to configuration, administration, and initial signup. It's significantly easier for someone nontechnical to toss money at Slack to get a new private space than it is with IRC. The first page of "IRC hosting" search results on Google for me are mostly shell accounts; nothing turnkey and professional looking that a business person could/would use.

I know plenty who use IRCCloud. There is nothing FOSS about it, though.
Neither of those look as good as Slack imho. Regardless, there's a bunch of stuff you can do with Slack that you can't with IRC. Emoji reactions, voice/video/screenshare, easily post files and images... Plus there's a unified experience for all users that's not client dependent, no burdensome technical or protocol jargon, no federated servers (or servers to think about at all)...

I've used IRC quite a bit but Slack is light years beyond in terms of the UX of even the nicest IRC clients. I think Discord is probably even better than Slack though.

"federated servers" is the only way to maintain a form of freedom while (out of necessity) operating software as a service.

If you think that you can't do free software development without relying on all the capabilities of Slack, then the honest thing to do is to quit and spend the rest of your days just working on proprietary stuff. You obviously prefer the solution which has features over any other concern, so why would you waste your time having anything to do with free software?

Richard Stallman obviously used proprietary software. But not past the point when he had replace it, even imperfectly: "I began work on GNU Emacs in September 1984, and in early 1985 it was beginning to be usable. This enabled me to begin using Unix systems to do editing; having no interest in learning to use vi or ed, I had done my editing on other kinds of machines until then." [https://www.gnu.org/philosophy/fsfs/rms-essays.pdf] This tells us that Stallman used Unix. Well, why wouldn't he have; what other practical way was there to code anything? (One supposes he could have started from the bootloader on up, like the Unix guys before him.)

Stallman wouldn't use Unix today, since it has been replaced by free software, and he wouldn't use arguments like, well, such and such proprietary Unix has better memory management or faster I/O, so I will still use that.

If you're using things like Slack or Github without the slightest intent of working toward replacing them, yet using them for free software activities, then that is a comically conflicted position.

Federation has been tried a lot and in the end it always fails, even if it's the best solution. XMMP is pretty much dead regarding free use, IRC for a lot of FOSS project is slowing dying, there were a lot of federated social media projects that simply failed because they couldn't attract anyone.

Being technically the best (or the best in 'freedom') doesn't seem relevant to anyone.

I would guess that he was editing source on ITS or a Lisp Machine before this point.

I think you can see some evidence of what people thought were development machines by the fact that Lisp Machines only seem to have been NFS servers, not NFS clients.

Yeah, I don't think so. I work on other OSS and happily use Slack because it's fun and easy (I used to use IRC). I'm not conflicted at all because I appreciate a good UX. I think it would be totally awesome if more open source developers realized that people will use whatever is better for them which often doesn't mean prioritizing openness over usability or features.

I totally get the value of a non-corporate, non-centralized solution. It just needs to have at least as good of a UX for me to switch back to using it.

Emoji reactions are actually a thing nowadays thanks to IRCv3 :)

And personally I consider the slack UI, especially due to the different workspaces, relatively unintuitive.

> there's a bunch of stuff you can do with Slack that you can't with IRC. Emoji reactions

I don't see a big difference between sending the message :rose: in Slack and having the client display it as a picture of a rose, vs sending the message :rose: in IRC and having the client display it as a picture of a rose. Emoji don't enter into it.

Reactions, maybe.

Forget IRC. You can do everything with Matrix :)
Kinda-sorta?

Matrix is an incredibly centralized service masquerading as an easily self-hosted distributed service. The moment you try to get a non-technical user connected to a homeserver other than matrix.org, all hell starts to break loose.

It's bad enough that both France (tchap) and Purism have created their own client forks to make on-boarding somewhat tolerable at the expense of really painful rebases against upstream Riot, while Riot tries to get it's shit together on the non-matrix.org user story.

Mattermost has a slightly less painful situation -- they provide a relatively easy to brand/preconfigure client (and fantastic docs on how to do so: https://docs.mattermost.com/mobile/mobile-compile-yourself.h... ), but you lose out on federation and self-service sign-up, leaving your community isolated (sometimes a pro, sometimes a con).

> If software A requires four clicks to do something, but B has a way to do it in 3

The difference is usually more like "software A requires an hour of setup and constant maintenance on a dedicated VM or container due to dozens of dependencies, and software B requires 3 clicks"

And also the difference between "the code is inelegant and sucks and I'll remove it, damn the users" and "the code may be ugly but the feature users want is ugly so let's do it".

Case in point, I recently upgraded the computer of a non-technical person from Ubuntu 18.10 to 19.04. And now desktop icons are completely broken. It's been reimplemented in JS, with horrible performance, and doesn't even support features like dragging an icon to a folder. Their reason for removal? A bunch of technobabble no user would understand. https://gitlab.gnome.org/GNOME/nautilus/issues/158

Stuff gets removed from proprietary software all the damn time. To pick a notorious example: have you tried to use Google Reader lately? :-P Others I've personally noticed in the last couple of years include features of Dropbox; of Gmail; of Facebook; of Google Search; and various startups acquired and shut down -- including a mobile app with no backend of its own.

When stuff gets removed or shut down, the basic reason is that it takes work to keep it going, and someone decides to stop allocating any work to that. Even with client-side software with no service to run (like that mobile app), the platforms they run on change, and it takes work to keep up.

And that's exactly what I see in that GNOME issue you link to. There's a bunch of technical detail about why it's so much work -- but the point they're making is it's been a lot of work to keep that feature going the way it was, and it'd be even more work to continue doing so as the rest of the software on the desktop changes around it in the ways that are planned. And so they decide to drop the existing thing and build a new one in a much easier way.

The only difference from proprietary software is that everyone has the option to step in and say, no, I'm going to go pick up that work, and everyone's welcome to use my version instead. In fact, GNOME makes a great example, because there have been a bunch of popular projects precisely about doing that with previous decisions they've made: https://en.wikipedia.org/wiki/Cinnamon_(software) is one of the bigger ones.

If people had that option with Google Reader, it'd be alive today. (I'm told it was a very small amount of work to keep running, and when the ax fell on it many Googlers pleaded to be allowed to just keep it running on their own time.) Ditto for many of the other proprietary things I've missed after they went away.

On the other hand, there is proprietary software still running whose company has been gone for decades.

Stuff does not get removed from proprietary software installations spontaneously, unless there are automatic updates (which can be turned off).

Stuff spontaneously disappears from a proprietary website, and the users can't do anything about it.

Proprietary websites are a whole new form of social harm that makes plain old proprietary software look virtuous in comparison.

> On the other hand, there is proprietary software still running whose company has been gone for decades.

True, I'm sure!

Equally true of free software... and indeed when that situation does happen, you're in rather better shape if it's free software than proprietary.

I think there are good reasons for people to keep their software installations generally up to date, though -- certainly anything that's exposed to today's Internet. And for a given version of $component, the OS versions that shipped it will only continue getting updates for so many years. Because of that, in the example I was replying to I don't think it's unreasonable to see an announcement that, strictly, just says "this feature will be dropped from future versions of this software", and think of it for practical purposes as "this feature will be going away".

Its more like if it takes 12 clicks to do it but I was shown how to do so at school/work, or it was preinstalled I will keep on clicking.
good point on the "reluctant" FOSS developers. i see this a lot. big companies have teams that work on FOSS projects, but most of the people in those teams don't understand what the fuss is about. they come to FOSS events to promote their products and treat them no different than their proprietary ones.

the thing is, their leaders may actually understand FOSS and believe in it because they can see the benefits, but they don't understand that for the developers below them it is just another job.

i have argued that exact point in a company where i worked, telling the leaders that if they want to get the developers to make actual voluntary contributions and participate in the FOSS community the leaders need to set an example and actively motivate the developers to do so.

just assigning someone to work on a FOSS project is not enough to help that person to join the FOSS community. there are exceptions of course, where someone interacting with the community realizes that there is more to it and becomes drawn into it, but that's not the norm.

>about about providing reliable commodity middleware for locked-down devices and cloud services.

Free software made cheap, network centric computing feasible. This led from a model where the user ran their applications (open or closed) on their machines to one which turned the user's machine into a dumb terminal to access the network. This resulted in defacto loss of user privacy and control.

In a world where Windows was dominant and you had to pay a per cpu licensing fee, would companies be trying to put everything on the web, or would they create more apps that ran locally with some network based syncing? It would have been a smart computer, dumb network world instead of the dumb computer, smart network world we have now.

One of the great ironies of computing is how free software in its quest to enable user freedom actually enabled a world with less defacto user freedom than before.

> Free software made cheap, network centric computing feasible.

Anybody remember the dot-com boom? Sun Microsystem's silly "The Network Is The Computer." ads? No? Linux wasn't even a blip on the radar back then at the enterprise level.

> In a world where Windows was dominant and you had to pay a per cpu licensing fee, would companies be trying to put everything on the web, or would they create more apps that ran locally with some network based syncing?

Um, obviously yes? The fact that Sun and the other UNIX server vendors and Oracle other server software vendors were charging various fees for their OS and software, on a per server or per CPU basis, did nothing to put the brakes on the dotcom boom. Network-centric computing took off well before free software became the buzzword of the mid to late '00s.

Linux itself might not have been (although I'd challenge that if I could remember dates a bit better); Apache and Perl certainly was.
In 2000 we were delivering UNIX software into production on Aix, Solaris and HP-UX boxes, my employer at the time did not consider either GNU/Linux or BSD fit for the quality standards we expected from a standard UNIX, although we did use them on some internal servers, including our builds.
Free software gave much greater freedom to those who want it. Turns out, though, that the large majority of users don't actually want it.
And that's why everything is continue to go downhill in the Free Software world

Because of the mentality that UX problems are just "the user being lazy"

IRC stopped in time. Linux desktop is a mess and have very weird ideas about UX (especially Gnome, they love making things "simple" by shipping a car with no gearbox but only one speed)

"Freedom" is a "cost/quality" like any other, some people might value it the most, some people might value it the least, but it is less important than other factors.

An excellent point. FOSS has long been great at underlying tech, freedom, and openness, and terrible at UI/UX and ease-of-use. That's been true for a long time and still seems to be true today. The reasons for this are much-debated and well-known, yet the underlying challenge persists.
Writing good UI/UX and having your software have a vibrant set of open source contributors are usually opposing goals, similar to how you don't see a lot of microservice devops architectures sold as on-prem products. It's certainly possible, but it has to be a fundamental decision and makes a lot of things harder.

Someone might contribute a nice screen layout, but actual design of a user experience involves design, which is usually a process of intelligently deciding on limitations.

Slack and iTunes often get smacked around for their designs because they are kitchen sinks of features, which makes them bulky and non-intuitive.

Open Source communities tend toward this sort of kitchen sink by default. This is because people are contributing the features they want and need, not the ones which fit into your product plan. So you typically see the most success for software that is under an open source license but has limited or banned the ability for people to contribute.

Rather what is considered good UI and ease of use is sub-optimal for people who understand tech, and those are the people who write free software for themselves and others like them. (Why would you spend months making some UI that in the end requires a minute of manual labor to do what some piece of syntax in a config file achieves in seconds, and which can be diffed to the previous version and so on.)

There are good examples of UI in free software. There are also terrible examples of UI in proprietary software. A lot of the peculiar user experience in GNU/Linux is that way because it was cloned quite exactly from a proprietary system called Unix. A lot of that bad user experience is standardized with an IEEE standard called POSIX, which isn't free.

> Rather what is considered good UI and ease of use is sub-optimal for people who understand tech

The widespread love of the Mac and OS X among techies on HN says otherwise.

It says nothing about whether it's optimal or not. You can't easily evaluate how good a UI is for expert users until you're an expert yourself, and once you've made that effort, will you really want to abandon all that hard-won skill to learn another system? I think many people use sub-optimal UIs because the short-term cost of learning a different one, which might not even be better, is too high.
True, and that includes me. My favorite thing to say about bad UI is "those designers should spend two weeks using a Mac from 1985". :)
Because companies that build consumer product spend tons of money on usability testing and people to work on the ui who are not developers. There just are not that many of these people working on oss projects. What ends up happening is features are just jammed in wherever a developer thinks they are convenient and you end up with an image editor that’s about as fun to use as the software your company has you filling out your timesheets on.
FOSS does not appear to value user accessibility as a priority. Non-IRC, non-XMPP chat systems continue to implement features that users enjoy and appreciate, while IRC/XMPP clients argue that those features are irrelevant because the ideals of IRC/XMPP should take precedence.

IRC has, in the past ten years, fallen behind on:

- Scrollback syncing (client-to-client) and persistence (server-to-client)

- Everyday user interface (mIRC ships a UI from 1995)

- Setup and configuration (I can't get SASL right on the first try and I helped upgrade an IRC network to support it)

- Authenticity at a network level (not just Anope setting a umode)

- Protocol resilience (netsplits should not be visible to users)

- Defense against attackers (pitting the idealism of anonymity against the safety of identity)

Why has FOSS allowed itself to be eclipsed by closed-source chat providers in these regards? I believe it's because the ideals of FOSS are now in direct conflict with the needs of modern users, including FOSS people themselves. For example:

- Anonymity is an ideal to be held up above all others, so defending against spam attacks is impossible, because anonymous users are granted equal rights as my friends.

- Accuracy is an ideal to be held up above all others, so preventing netsplits is impossible, because the clients must know when they don't have a realtime immediate connection to each other.

- Maximally-capable UX is an ideal to be held up above all others, so building a less-capable UX that is more widely easier to understand is impossible, because otherwise we might not be able to view our chat at the maximum information density possible.

- Local-only data is an ideal to be held up above all others, so scrollback syncing must be outright prohibited and campaigned against, because otherwise the clients would expect the server to help them exchange data that the server must never permit itself to hold.

If FOSS realigns its ideals with those of modern users such as ourselves, then it could easily retake the gap covered in the past decade by closed-source software. I hope with all my heart that it does so someday, but I'm not holding my breath.

Footnote: Apologies for all the whitespace but, ironically, HN doesn't support formatted text such as bulleted lists, nor does IRC. This would take up half as much vertical space on your screen on Slack :)

Chat (and communications in general) is a tricky field to evaluate for this sort of thing, due to Metcalfe's law and related effects. I also don't think it would be easy for the gap to be retaken (for the same reason).

I use Slack, Facebook, Twitter etc. because I want to communicate with other people who use those services for communication. If I only use IRC and email, I would miss out on some of that communication.

I don't know the various reasons why each of those people use them, and I agree that it is, in part because of some of the things you mention. However, it is also probably also down to marketing. Many people use XMPP via Whatsapp without knowing it, they are just using Whatsapp.

The user accessibility problem is not universal to all FOSS. In my opinion, LibreOffice (MPL) is a superior office suite in terms of usability to MS Office. Audacity (GPL) has a simpler UX than many proprietary audio editing suites.

> Assume they are rational beings, and get at the heart of it.

Except: They aren't, so you won't get at the heart of it if you make that assumption.

People simply are extremely short-sighted. People choose the "convenient" proprietary solution for the same reason that they elect the "convenient" dictator or for the same reason that they choose the "convenient" SUV ... what all of those choices (and countless others) have in common is that long-term costs are simply ignored when making the decision.

It's actually just a lie that proprietary software is more convenient. What is true is that it (oftentimes) is more short-term-convenient, i.e., you will save some time/effort right now. But the pretty much universal goal of the proprietors of proprietary software, and in particular of proprietary platforms, is to use that short-term convenience (which they optimize for) to establish themselves in a position of power, which they then use in the long term to maximize the profit while inconveniencing those they have managed to gain power over in any way that promises profits.

The most pernicious form of that long-term inconvenience is the "invisible inconvenience", namely the inconvenience that results from hindering innovation by hindering competition: It's inconvenience that you never notice because the more convenient alternative simply never gets developed, so you never get to experience the difference between what you do have and what you could have.

We don't have an internet that functions as intended. IPSs conspired to prevent residential users from running servers. The result is that everything free either needs a patron to cover expenses or be monetizable.
>Assume they are rational beings, and get at the heart of it.

Why? Why import the concept of homo oeconomicus into this discussion?

> Many Linux and FOSS geeks today use Linux only professionally

As a long time FOSS and Linux user I can tell you that usability of FOSS GUI systems has repaidely degraded in comparison to professional systems (Mac OS or Windows). If half of my hardware is defunct under Linux I will not use the FOSS. It's like buying anew car and being unable to switch to fourth and fifth gear or use the built-in entertainment system.

The Wayland fork hasn't contributed to this situation.