The Fall of Open Source
commandprompt.com
commandprompt.com
When people have skills, it's natural and totally understandable that they try and market these skills. It's something they're good at, and that they can make a living off of.
I've worked on teams and with groups that use Github and Slack extensively. The reason these services have succeed -- and why they were adopted, at least by the teams I knew -- is because they got their foot in the door early on. Someone was on a payroll, being paid to come up with a good, simple, user interface, a useful feature set, and a decent API. Most OSS projects just don't have the developer base to come up with an idea and develop it to the point where it's a really well-polished piece of software ready for use by even the most tech-illiterate users.
Once all of that was invented, it was trivial for just-as-good OSS and self-hosted alternatives to surface. For Slack and Github, those were Rocket.Chat and Gitlab (and more recently, gogs). There's nothing wrong with these services; they mimic their closed-source counterparts really well, and are sometimes even better than them in some respects. They just didn't come into the market at the right time to get the critical mass of users early enough to dominate the market.
So TL;DR it's less a problem that closed source G-men are trying to take over the market, and more that developers have to choose between having the free time to come up with an idea and to develop a well-polished OSS app, and spending time having a steady source of income.
User experience is a huge f'ing deal and FOSS doesn't care about user experience. There are two reasons for this.
One is that UI/UX work is not fun and so programmers generally must be paid to do it. This is an economic model problem and in some cases a management problem. Jamie Zawinsky observed this over a decade ago and not much has changed: https://www.jwz.org/doc/cadt.html
The second is that many in FOSS view mastery of arcane systems as a status symbol and have active contempt for any effort to make systems easier to use or more approachable. This is an elitism problem. FOSS is about freedom and equality among developers, but there's also a mentality among many (but not all) that looks down on non-technical people and resents any attempt to bridge that gap.
IRC lets people message each other and chat on channels, and Slack lets people message each other and chat on channels. The comparison ends there. Try getting a non-technical person on IRC vs. Slack and now try teaching them to really use IRC -- to transfer files, etc. Now try getting IRC working on a phone. Call me in a few days.
Slack is not just warmed-over IRC. All the apparently little things that make Slack so easy to use for so many people took a huge amount of work to implement. UI/UX is hard and painful and requires loads of testing, iteration, and attention to detail. Little things like the fact that when I edit a Slack message it changes everywhere at once reliably are things that took... oh god... I shudder to imagine how much pain.
I do believe that open source can overcome this problem, but step one is actually understanding it. So far almost nobody in FOSS gets it, so I'm not optimistic.
Edit: one more point about user experience...
It's not just about luxury and convenience. It's about cognitive load. Forcing people to learn endless amounts of arcane nonsense to do trivial things that have been done since the 70s is a waste of peoples' time.
In the information age information is cheap but attention is incredibly expensive. If something doesn't work instantly it's broken. If I have to spend time figuring it out it's broken. If I have to learn anything more than I absolutely need to learn to make it work it's broken. That's because there are a billion more new things to learn that are waiting in the queue and most of them are probably more important. Next, next, next!
This x 10. It's the reason Linux was and is so behind on the desktop. It's reason IRC with its cute commands fell behind IM, text, and Slack. It's why Tresys makes money on those who otherwise wouldnt touch SELinux. Probably why many people didnt do backups before specific, usable programs on Windows and Time Machine on Mac. Why they didnt share files so much on FTP but are all over Dropbox and SendThisFile.
It's a huge problem they need to tackle immediately. Each thing contributing to bad UX needs to be knocked out of the equation. In many cases, esp configuration files, apathy is usually the reason instead of difficulty.
The thing is there's nothing wrong with this per se. If the goal is to create a place where geeks can show off to other geeks, that's totally cool. But don't get angry or self-righteous when people who are not in an elitist exclusionary club do not use the tools of that club but instead choose 'mainstream' options like Slack, Facebook, etc. After all you are intentionally making it hard for them to use your tools. The complexity and arcana are screaming "go away! this is not for you!"
I've personally grown to loathe arcane complexity for its own sake and see it as a sign not of "elite hax0r skillz" but of inferior intelligence and laziness. True genius simplifies, explains, clarifies, and creates things that are elegant because that is harder. Simplicity requires so much more effort and intelligence than complexity.
There's been no "fall of open source." If anything, OSS is increasingly the default for tools. And old, closed source tools are being opened up--for example, Microsoft's massive releases of source for their dev tools.
The reason is partly that open source projects are a hell of lot of work for their owners, even without UX experts handing them detailed specifications. And it's partly that UX details often individually seem trivial, even though their accumulated weight can make the difference between a good project and a great one.
1. Slack is centralized. When you control the hub, you control the protocol. Which makes it easier to modify and change. You don't have to worry about people whining that you broke their client if you change the server. They control the hub and the spokes.
2. Slack is centralized. (I feel that's important). There are what 1M IRC servers (if you count all the internal company servers) and 20M clients in existence. You can't just change a popular protocol overnight without people complaining that you broke a client.
3. Slack is ... you guessed it ... centralized. IRC has a peer to peer chat feature (that doesn't go through the server). This is ironically, the way file transfers happen on IRC too. It's also what makes people able to host IRC servers without paying a huge bandwidth bill, nor get sued when their server is used to transmit Game of Thrones.
4. Slack is ... you heard it .. centralized. Messages must go through slack's servers. For people concerned about privacy, it makes it an easy target for a National Security Letter.
5. Slack is ... like a broken record ... centralized. Today I was told to not send proprietary information on it, because my company doesn't have an on premises hosted slack. Can any one self host slack?
6. Why haven't you looked into Mattermost, if you're tired of irc?
You know, it's not that open source devs are elitist, but they have a history of writing code for people that are the 10% technically elite. It's not that they're smugly arrogant, but rather, IRC does the job they need it to. So is there really any reason to change it? No. Just like there's also no need to put a python interpreter in the linux kernel. Would it make things easier for the average user to write a device driver? Possibly, I don't know? Is it worth the headaches of maintaining a python interpreter in the kernel? No.
In fact, the FOSS devs I know could probably care less about this holy war. Yes, slack is a great tool, and in some cases would work better than IRC. In other cases they would say IRC would work better than slack. Oh, did I mention they don't see it as a holy war in the first place?
See how your centralization point was pushing your ideology instead of apparent claim that Slack was only good due to centralization?
"You know, it's not that open source devs are elitist, but they have a history of writing code for people that are the 10% technically elite. It's not that they're smugly arrogant, but rather, IRC does the job they need it to."
Oh no, he's right. Ask them to change anything to something easier. It took quite a while to get the GUI clients that simplified key steps. They were insistent on forcing people to learn and memorize commands instead of menus with obvious options. They certainly could've improved look-ups and had "save to favorites" earlier in usable form. They didn't care because they were elitist.
Now, I'd consider a different explanation if tech people weren't doing same thing for UNIX commands, GUI configuration, installers, incomprehensible-by-default text editors, everything is a command line argument instead of sane menus of text, and so on. The amount of mental load it took to use those systems and apps vs Windows or Mac is a huge chunk of why they dominate the desktop.
I recall the pain of switching to Linux from Windows. Everything that was simple or easy to find just clicking around took thought in Linux. I knew that was unnecessary because my previous supplier made it unnecessary by putting in work. I later saw Apple do the same for network configuration, backups, and getting apps mostly safely. Elitists are still bragging about their commands, ports, and so on while known UX or foundational issues never get fixed.
No. I don't have an ideology here. Just facts I'm sharing.
"They didn't care because they were elitist."
Do you have proof of that so called elitism? Maybe they didn't want to get into a holy-war. Maybe they didn't want to break a 30 year old protocol.
I think, they didn't care because they just simply didn't care. Don't confuse elitism for general apathy.
Also, have you looked at Mattermost?
They get into holy wars, break stuff, and take action regularly. So there goes three reasons. What they will do is call people idiots or lazy if they complain about poor UX. Or remind them how you only do (arcane steps here) to accomplish the task so why the fuss?
It's hard to absolutely prove elitism over all other things that go on in a person's head. However, that kind of behavior resembles elitism. Hell, many such people even made memes like "Elitist Linux Asshat" to rub others' noses in it. Starts to get harder to deny their ego and aire of superiority is involved at that point.
Centralization is a massive advantage in the UX area. Finding a way to achieve the same agility and coordination in decentralized systems is an open problem.
Pretending the problem does not exist is not how to solve it, nor is moralizing. (Not a response to you per se, just in general.)
I'm not pretending the problem doesn't exist. I'm just asking if there is a problem in the first place.
So what's the problem exactly?
1) That people are moving from slack to irc? 2) That slack isn't open source? 3) That slack is easier to use and more fun than irc?
Lst's say all those are true. What damage does those things cause?
1) This will kill open source
I don't think so. Github is closed source, and people are developing all kinds of open source applications on it.
2. People will be less likely to use IRC
Yes, I believe this to be a true statement. But this has been true for a while since the days of ICQ.
3. This will kill IRC.
Perhaps. Maybe IRC should die if it can't adapt. Sent to the dustbin of history like NNTP.
4. People develop software around a closed platform.
Well, so MacOS is a closed platform. People still write software for it.
The truth I believe is that users adapt to whatever software they must use.
Before the "UI/UX" hype began, before there was Javascript, a long time ago, not as many people had to use computers. It was optional. Many people were computer illiterate and it had little to no impact on their life.
Now today, we all know that users no longer have to learn about the command line or configuration files. Everything has been made very easy to fall into. Click or touch an area of a screen and something happens. Great.
But... what I see many commenters fail to recognize is that the increase in computer usage since those times has little to do with interfaces and everything to do with the need for everyone in a civilized society to use computers. Because today computers and computer networks are much more powerful, and more useful. They have become a necessary part of everyday life for the civilized world.
No one in these societies can claim computer illiteracy anymore.
So users learn what they have to in order to get by. This was the same in the 1990's as it is today. Today the amount of learning required to use a computer is almost nil.
But if a user, whether in 1992 or in 2016, had to use a computer out of necessity, and the commmand line was the only way to control the computer, you can bet they would learn it. Technical ability nothwithstanding.
I have seen this with my own eyes. A lot of the talk about what users want and don't want, or what they will and will not do is all in the mind of the developer.
The truth is people today are forced to use computers. They'll use what they are given. And no user is ever forced to learn to use the command line in order to use (be used by) a computer.
But if today's users were forced, they could do it. And they would do it because use of a computer has become a necessity.
Also, people born after 1993 have no fear of computers. They'll learn anything that is put in front of them. It just so happens that what is put before them is a boatload of "UI/UX" hype. They take the bait - hook, line and sinker. No surprise.
Computer usage has changed since the birth of IRC but it has nothing to do with "UI/UX". There was a time when people in the civilized world could abstain from using a computer; that time has passed.
The key quote is in the first sentence "Once upon a time FOSS was about Freedom": this simply isn't the case for many users of FOSS (and I mean people who use code that is under an open source license which covers those that are FSF compliant and others). The winning part if landing up with many more users, and many more creators both personal and in a professional context - it feels unarguable to me that there's more active FOSS than at any time before.
The user-base has simply changed, everyone can use FOSS not just the technical elite and/or fringe. And FOSS is active in areas I never considered.
But ... if you care about the values/philosophy behind Free Software then you may dislike the fact that the core philosophy hasn't made it across to a substantial (majority?) of users. But, in terms of providing users with the core freedoms (e.g altering/copying) it's certainly a win.