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.
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.
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.
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"
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.
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 actually think Linus is a positive figure overall, I just really can't stand git's UI)
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.
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.
When the "new" tool is worse than the "old" tool, i care (and yes, the "new" tool can be worse - and often is - yet displace the "old" one, not because of its quality, but because of external reasons - like the developers of the "old" tool being unable to sustain its development).
Have you done a full migration of a grown Wordpress blog to another system, without breaking stuff? It's not something you do on a weekend or two. Changing away from a tool that holds lots of data and configuration is expensive.
Proprietary software that is years past its support date, from a company that has not existed in years, yet still in use, is also a thing.
The one kind of entity that dies instantly when its backing goes away is a proprietary website.
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?
> 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.
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.
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.
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?
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.
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
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?
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.
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.
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.
%s/redactor/editor
Separate question why would it do that
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).
Not at all. There are million examples of human society choosing long term and social benefits over short term and personal rewards.
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.
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.
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.
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)
Nah, such a thing would make most sense as a separate daemon that uses the server-server protocol to connect to the ircd (ie. it appears to the rest of the network as just another ircd).
It wouldn't be hard to build such a thing, the hard part would be convincing an existing IRC network to run it.
That's what SASL has been for for over a decade nowadays :)
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 :)
https://rocket.chat/
https://zulipchat.com/
https://matrix.org/
https://mattermost.com/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.
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 :)
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'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.
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.
Being technically the best (or the best in 'freedom') doesn't seem relevant to anyone.
IP, TCP, SMTP, HTTP, these are fundamentally technologies of federation. They succeeded and continue to succeed spectacularly. However, with the commercialization of the Internet there are much stronger countercurrents. I still expect federated solutions to succeed, but adoption will be slower and punctuated, and in the interim there'll be countless proprietary also rans.
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.
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.
https://www.gnu.org/philosophy/open-source-misses-the-point....
> A pure open source enthusiast, one that is not at all influenced by the ideals of free software, will say, “I am surprised you were able to make the program work so well without using our development model, but you did. How can I get a copy?” This attitude will reward schemes that take away our freedom, leading to its loss.
> The free software activist will say, “Your program is very attractive, but I value my freedom more. So I reject your program. I will get my work done some other way, and support a project to develop a free replacement.” If we value our freedom, we can act to maintain and defend it.
Relying on Slack, Github and what have you is clearly not to "get my work done some other way, and support a project to develop a free replacement.” It aligns with attitude exemplified by the "pure open source enthusiast".
And personally I consider the slack UI, especially due to the different workspaces, relatively unintuitive.
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.
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).
I've personally run 3 homeservers for communities formerly centered around Facebook, only one of which was technical. For the non-technical communities the workflow was the one provided by riot-web when a mobile user visits the homeserver.
Neither of the non-technical communities saw more than 5% adoption in the org. The technical community constantly complained about the login flow.
When I deployed Mattermost with a custom app for the first non-technical community I saw 40% adoption within a week, and 80 within the month. The second community has looked at the first as an example, and I can expect 80%+ adoption within a week or two of deployment.
I've asked repeatedly in both #ios:matrix.org and #android:matrix.org about assistance in putting together docs similar to mattermost's and was completely ignored.
I've asked if the Riot folks would be open to deep-links providing the homeserver to mobile apps, and was shut down by somebody who insisted deferred deep links were the only kind of deep links, and that they would only ever be supported by a Google Play on-boarding flow.
I really want to love Matrix, but y'all make it fucking difficult sometimes.
Meanwhile, if you go to Riot/Web on mobile for a custom deployment, you should see a page like this https://webchat.kde.org/mobile_guide/ which guides you through the process.
Deeplinking from web into the app is hard, as the only way to do so vaguely reliably is by fingerprinting the browser using something like branch.io, which is distasteful from a privacy perspective. Meanwhile, affiliate links in google play seem to only work about 30% of the time, given the planets have to be in precisely the right orientation for the association to not get lost.
Mattermost might be doing something smarter (perhaps letting you install the app generically, and then getting you to click a custom URI handler link from the web to provision the correct config on the client?) - but would be useful to know which of these failure modes people were falling into?
This is exactly whay I was getting at before. Please stop fixating on the deferred form of deep links. The play store need not even be involved for deep linking to an already installed app.
The mobile_guide instructions are where most people bail out.
"Yeah, no. This is too complicated." is the response when they see
"Install an app, then click on a check box that changes the UI, then enter https://foo.bar:8448, then register".
That's a massive turn off before your app is even installed. A flow of "Install this app, then return to this web page" is significantly easier. Or if/when branded builds of Riot are possible, it becomes "Install this app."
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"
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
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.
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.
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".
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.
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.
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.
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.
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.
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.
The widespread love of the Mac and OS X among techies on HN says otherwise.
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 :)
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.
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.
Why? Why import the concept of homo oeconomicus into this discussion?
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.
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".