The chart is interesting because it misses the important part - it covers time, but not adoption.
For example, adoption of GIMP has not likely materially increased over time (as a relative percent of total addressable market)
IMHO, what the author gets wrong what so many people who claim this (they are not the first, or the last) get wrong - open source as a whole sucks at building products, but is great at building infrastructure.
(and pretty good at infrastructure products).
If you go look at areas where an open source thing is a de-facto market-leader, they are mostly infrastructure. Not all, but the ones that aren't have clear product management of some sort.
That is - the good open source products are often built/driven either by extremely product focused people (This is rare), or by companies driving them with PMs.
Not that the engineering doesn't matter - of course it does, but if you want a good and successful product, engineering is just a part of what is needed. Sometimes not even the main part!
Open source focuses mainly on the engineering part, often creating technical meritocracies that focus on making "The technically best software".
This is totally cool, but also totally orthogonal to building "a good product that people want to use".
Secondarily, you have the issue of survival in marketplace (IE There are a rash of OSS companies achieving near 100% of total addressable market share, and still going bankrupt due to inability to monetize). This, however, is not as big an issue as the first (as people can always still pick it all up when that happens)
Open source could always get better at products, but its historical development models were geared towards exactly the above (IE it does what it says on the tin)
You could still consider this a win for open source, as it stops market abuse and restricts those paying to the people who depend on the software for business reasons and who haven't had their trust sufficiently broken that they switch over to open source to prevent abuse (which is the story in infrastructure, you're basically a sharecropper if you're building on non-open source infra).
I respectfully disagree; I think GIMP is a great example of an open source alternative that is both markedly worse than the corresponding commercial product, and yet good enough to inhibit the creation of new open source projects that would otherwise jeopardise the market share of that commercial product.
If I were an engineer at Adobe, and I was asked to make an open source project that would in no way endanger Photoshop - a product no serious Photoshop pro could ever figure out or be satisfied with - I'd give you something very much like GIMP. The fact that open source devs are generally content with GIMP is fantastic (for Adobe): it reduces the risk they'll create something actually competitive among artists and designers. Plus, Adobe gets to point to the GIMP if they're ever accused of monopolistic or anti-competitive behaviour.
I used Photoshop for 8 years, including for web development, before switching to Gimp.
Gimp is good enough for everything one needs in web dev, is free, and has a vital feature Photoshop lacks: the ability to run on a Linux workstation. When developing software intended for Linux servers the value of having a Linux workstation to easily do local development cannot be understated.
> I used Photoshop for 8 years, including for web development, before switching to Gimp.
> Gimp is good enough for everything one needs in web dev, is free, and has a vital feature Photoshop lacks: the ability to run on a Linux workstation. When developing software intended for Linux servers the value of having a Linux workstation to easily do local development cannot be understated.
Precisely. You're a dev for whom GIMP is "good enough". If you were dissatisfied you might make a new tool, but since GIMP suffices, you happily use it and see no reason for anything else.
Meanwhile, artists and designers who work in Photoshop day in and day out - the people comprising the bulk of Photoshop's actual market - overwhelmingly reject GIMP, and they don't generally have the capability to make a new tool, so they stick with Adobe.
At the risk of making an imperfect analogy, imagine you wrote a French textbook. French teachers overwhelmingly rejected your textbook and didn't use it in their classrooms. But at the same time, other language professionals sometimes found it helpful for small things like double checking the conjugation of some obscure verb, and they'd defend it because they found it useful. Is your French textbook a success? I'd say no. I'd say you're not only failing your primary market, but you're lulling fellow professionals into a false sense that there's sufficient tools out there for that market, which is doubly harmful.
> Meanwhile, artists and designers who work in Photoshop day in and day out - the people comprising the bulk of Photoshop's actual market - overwhelmingly reject GIMP, and they don't generally have the capability to make a new tool, so they stick with Adobe.
That's because Photoshop was early and is an industry standard, so you're going to have to learn it anyway. There's no incentive to learn GIMP because it's not going to cut you out of a job, and there's no incentive to move your shop to GIMP because all it's going to do is eliminate the massive bulk of the labor pool that is unfamiliar with it.
Also, if you do print, the color situation in GIMP is not good.
But the self-congratulation here is silly. The market chose Photoshop because it was the only choice. The market didn't place it in its position, it largely began the market. The reason people choose to use it is because they are choosing to eat, not because they think it's better.
People who think it's intuitive or straightforward are very different to me. The GIMPs feature organization is far superior to PS imo, it's just lacking a couple of very large features that require being woven throughout the implementations of everything in the data model, like proper color management and live filtering. That's to be expected from the nature of the project, because stuff like that would normally be focused on by a team that would consult with every other team to keep systems like that consistent and debugged. Free software has to rely on individual developers to get inspired to create a system themselves, completely married to the current design, that bolts what they're doing to every component. It's hard.
But when we get it, no one can take it away from us. They could start charging by the minute to use Photoshop tomorrow.
Photoshop runs fine on Linux. I pay for it and use it in Wine. Gimp is hot trash and to add insult to injury it's responsible for birthing Gtk; it's a fool me once fool me twice thing.
What is this mutually shared meme-delusion that Gimp is anywhere close to an adequate facsimile of Photoshop?
> What is this mutually shared meme-delusion that Gimp is anywhere close to an adequate facsimile of Photoshop?
It’s not a facsimile of Photoshop but it serves the same purpose.
In my experience the people who come to GIMP expecting it to work exactly like Photoshop are the ones who are disappointed, because it’s not Photoshop. But if you use it and don’t expect to already know how to use it because you know Photoshop, it’s fine.
Precisely. "It's fine" is the problem. It doesn't need to be fine, it needs to compete with Photoshop to be a serious tool in the space it serves. And what the vast, vast majority of artists have said is that it is insufficient for that.
Can you crop a photo in it? Sure, once you figure out the placement of things.
Can you perform serious photo manipulation? Somewhat, although Photoshop takes way less cognitive cost (so more people can be more productive).
To be frank, I'm a regular GIMP user and have only dabbled in Photoshop. However, I empathize with daily drivers of the software.
To address you're question: elements of both.
As a paid service, Photoshop can afford to have developer research users and improve UX. GIMP, as an open source project, is subject to the (often well-placed) whims of its developers, which does not have the same profit motive to keep users as Photoshop.
This in of itself does not guarantee less cognitive load. But certainly it is easier for a GIMP user to adopt Photoshop than it does for a Photoshop user to adopt GIMP.
Further, we could argue the status quo is as it is because GIMP is less productive than Photoshop by at least whatever Photoshop charges per month (and possibly more).
Photoshop is garbage with a randomized interface that is also trying to sell you things. People think it's intuitive because it's the industry standard and stockholm syndrome. GIMP is bad (but improving) on print color, and on non-destructive filters and layers.
The hyperbolic invective hurled at GIMP by Photoshop users is astounding. I often spend all day in Photoshop and Illustrator doing preprint and it makes me want to burn Adobe to the ground every day. I would gladly never look at PS again if GIMP got color right.
For some it apparently is. There are certainly talented designers/artists who really want an open source stack who can produce excellent results using GIMP. Would I encourage using GIMP if someone doesn't care about open source? Almost certainly not, but it can be used to produce excellent results.
I wholeheartedly disagree with the sentiment in your comment. Just because you, or a certain group of people don't like it, doesn't mean it's a bad tool. It may not serve for everyone, but for those for which it does, it works, and it does so well. Also, acting like photoshop is the be-all end-all of photo editing pushes the idea that you must be just like photoshop to even compete, which is actively harmful as it prevents people from innovating, and puts pressure on anyone thinking of even attempting such a daunting task.
Furthermore, even if I were to agree, your argument completely falls apart with the existence of Krita. Writing software like this is hard and time-consuming, which is the primary reason we haven't seen more projects of this scale, as there's been various smaller-scale tools over the years, like Pinta.
I appreciate your thoughts. I do suspect that I speak for the majority of artists and designers on this one, based on the conversations I've had with them on this and the very low popularity of GIMP in those worlds. (I'm coming from a game dev angle, for context, so I interact with artists fairly regularly. I'm also married to one!) But I certainly appreciate that GIMP may be useful for you, and I wouldn't wish to deny you use of that tool.
I love Krita; it's my graphics suite of choice for many tasks. But I can't help but think that if GIMP hadn't been so resistant to input from artists and designers, Krita wouldn't need to exist at all. It is a tool born of the lucky fact that someone wasn't satisfied with GIMP and had the technical skills to do something about it.
With respect to your comment about innovation, I'd be more inclined to agree if, y'know, GIMP had actually done any of that. GIMP is not innovative, nor competitive, and is unable to facilitate even fairly basic tasks for contemporary artists and designers like working with CMYK images. The existence of "good-enough" GIMP is a hindrance to innovation in this space.
...and I guess I should add, I still use Krita as a result of the continued overall baffle-crash of GIMPs UI and general behavior, regardless of the fact that GIMP does have a great feature-set in the abstract.
Your second sentence doesn’t make sense because their post presented a lot of good points that move the argument past a “I don’t like it so it’s bad” argument. To knock it up another notch those same points could be applied to Linux over Windows. Market (user) adoption is the only real metric to measure against. The argument I submit is that a tool like Gimp can’t be considered better if it can’t claim the market to prove it, if it was fundamentally better at its core adoption would pass the non open source leader.
There couldn't be a wrose metric for quality than market share, because it involves many different aspects of marketing and social dynamics, as well as the context of the time in which it was created. You don't need to look further than Internet Explorer for this, or in the programming world, JavaScript. Also the parent comment didn't present any points.
That is not a win for open source because reducing payments is not a goal of open source. Assured continuation of availability and ownership of user's data is the explicit goal of the FOSS movement as stated by RMS. That means that it will continue to run on your hardware, and won't lock your data, and you can fix the bugs and suit it to your purpose.
RMS is on record as supporting BSD style licences for certain things because without them, proprietary software would have an even stronger stranglehold.
So it's not totally black and white, there's tactics and strategy involved. The less money going to Adobe, the less power and control they have. If they can force you to pay, they can force you to do other things. If they can't force you to pay, then they can't force other things as well.
Richard Stallman’s personal philosophy does not define the goals of open source. There are many different people contributing to it for many different reasons, and yes, having free (as in non-paid) alternatives to proprietary software is one of the most prominent ones.
> Richard Stallman’s personal philosophy does not define the goals of open source.
Richard Stallman has nothing do do with open source, and Free software was defined as Richard Stallman's personal philosophy, take it or leave it. He hasn't changed it.
I'm a complete free software advocate, but definitely only for Stallman's reasons. I have no urge to give free things to computer programmers. If I'm going to give away free stuff, I'll give to the poor. I don't have any special sympathy towards the needy computer programmer just because they share my hobby/vocation.
The key example for this is BitKeeper. They signed their own death warrant by ceasing to provide free licenses to open source developers. Unfortunately, one of the projects using it was Linux. Linus was forced to write git and the rest is history
No, it’s really not (unless you mean the literal, holistic user experience and not what the term usually refers to). GIMP is lacking the tools and integrations that make Photoshop seem like magic, while not being more performant or offering much of a benefit beyond being OSS. The lackluster UI is just the cherry on top.
This is also why Google sucks at so many things, despite having the best offering on paper. GCP is honestly great, but a terrible product. Stadia? Zillion chat apps? Google Inbox by Gmail by Google? Google wallet pay Android pay wallet? They all work great and would be best in class if they were decent products and you could figure out how to get them to work at all.
It feels like someone with great ideas started working on Gmail and quit before it was finished. Whatever they are doing to organize emails in a "smart" way is super confusing. I kind of get it but it just doesn't work. They should either finish it or just revert back to organizing emails by date of arrival.
Paul Buchheit was core developer of gmail , who left gmail in 2006 - where its become shitty afterwards. He founded friendfeed and then got acquired by Facebook - and he left facebook to become angel investor / he is also main Partner of YC . he invested in many great startups like Twitch .
On the opensource part , he build tornado web framework which is really important async framework for python ecosystem. Jupyter is built on top of tornado .
He is active in HackerNews .
Gmail quality dropped off a cliff all of a sudden. In particular, many many emails get sent to spam now, including emails sent by Google itself! Notifications about calendar invites regularly get sent to spam at inconvenient times.
I can't tell if this is just some sort of temporary spam filter tweaking error and oversight or an emergent property of a content-based filtering system that they won't revert.
Funny, I have the opposite problem, which could actually explain your problem.
I never used to get spam through GMail's filters, but in the last six-ish months I now get a couple every day. They're almost always the same format, too - frequently just a link, and often coming from an outlook.com email address.
So a possible hypothesis is that spammers got good at evading GMail's filter, so in tweaking it to catch these new spam techniques they could be causing more false positives.
I have observed the same thing. I _never_ saw a single spam message in years. Suddenly I am seeing strikingly obvious ones at the same frequency you are. This must be on Google's plate to fix. Surely they see it.
I'm still surprised by how often people (not necessarily you!) forget about misaligned purposes: your purpose for using Gmail is to have a good email service; Google's purpose for running Gmail is to make money, _not_ necessarily by providing a good email service.
When purposes misalign like that, you get users bewildered about why such a competent company would be “incapable” of providing a less crappy service.
Compare with Thunderbird: they make money to pay the bills but no-one's getting rich. Their only way of getting money is by building a good email client — by building features that companies will pay them to build; or by making a general-purpose email client good enough that users will donate.
(I know Thunderbird is not directly equivalent because it's just a client, not an email server, but the email client part is comparable.)
Ideas from the gmail ads team regularly get shot down by product because it would make gmail suck too much and piss everyone off.
I feel pretty bad for the ads team honestly. Like, their job is to basically just ruin products. Literally no one likes anything they do, ever. Their justification for everything is always just "You have to let us do this because $$$" and no one respects that, even though everyone knows that it's how the world works.
Not just google specifically, but making a product better is good for business. Eg making gmail better means more gmail users who log in more often and see more ads.
Practically speaking, most big (tech) companies probably have split teams for UI/Product and Ads. So there’s most likely a team of product managers and engineers at G who’s entire job is to make Gmail better - regardless of the ad team in the next building over. So those people literally don’t care about making G money per se, as long as they’re not introducing bugs into the ad showing logic or making it worse (see first point).
So interestingly I think "better spam detection" has a relatively straightforward interface (e.g. connect this app to Gmail's servers via SMTP, move emails between folders), but I assume you need almost Google-scale (or at least more than startup-scale) metadata and spam report collection to be able to do half as well.
One of the rare areas where barrier to innovation isn't market access but actually product quality. That being said I wouldn't pay a lot for this as a standalone service, though I would definitely pay for a standalone email client at this point.
I switched to basic HTML gmail the moment it tried to predict what I wanted to type (incorrectly, I should add).
I sometimes accidentally open the 'modern' view and it feels so bloated. Everything is so against intuition, it feels like someone's fresh-out-of-marketing-school design.
I understand that emails can get buried but threaded views are so much better for me (especially at work) than my inbox being buried by conversations/threads that I have zero interest in. My alternative would probably be to more aggressively filter but that would effectively mean I never even saw lots of things I might actually care about.
I switched to basic HTML gmail the moment it tried to predict what I wanted to type (often incorrectly, which worsened my experience)
I sometimes accidentally open the 'modern' view and it feels so bloated. Everything is so against intuition, it feels like someone's fresh-out-of-marketing-school design.
Why would you argue? Selecting only the successes is the literal definition of cherry-picking. I'd say that every one of those cherries is very arguable, though, especially if one's definition of successful has any relation to being profitable.
True, although I feel like none of those products have made positive product-oriented changes in many years now. Gmail at least is spiraling down the product toilet, which makes me really sad.
Google doesn't have an ad-business, it is an ad-business.
You can't separate Google from its ad business. All of their major products exist in service of the ad business, search, inbox, even Chrome. If the services don't exist to help build a profile of you, they exist to help build a profile of web traffic and detect ad-fraud, or to simply shape the landscape into one that isn't hostile to google's ads.
I'd say that Google has these products (really, services) because of its ad business, not the other way round.
Someone more familiar with Google's oeuvre can probably answer this: all those well-liked services that Google unceremoniously cancelled — were they the ones that didn't help (or harmed) Google's ad business?
Uh, they literally paid MILLIONS for the antispam company POSTINI and thats what the original anti-spam features for GMAIL are based on... in the last 18 months or something, google apparently deleted that tech from their stack, I posted about this when I first started having so much spam inbox my gmail....
So yeah - THEY _supported_ the product by paying millions for it...
Personally I'm real suspicious from the time I was on a project using AppEngine, we got sandwiched between Google deciding "1 year" was an appropriate time to declare AppEngine v1 deprecated, but AppEngine v2 was still in "beta" and was removing a bunch of APIs we depended on, while basically saying "oh yeah, setup something completely different if you want something like this" (appengine datastore or whatever vs. "it's gone, um, redis maybe?")
So we were stuck with a product which we were writing against something that the official word was would no longer be supported by the time we launched, while being told to develop against the platform which is "beta" and they don't want to commit to supporting the feature set of - and which plain couldn't be used yet at the time they told us this.
This is just a ridiculous way to run a commercial platform offering (aka: why I always tell people to use boring VMs for as long as possible).
> (aka: why I always tell people to use boring VMs for as long as possible).
Shouldn’t it be the other way around? Take whatever nice features you can “for free” as tech debt, and if that api inevitably disappears… push it down the stack and own a bit more of it.
If you have to build everything from first principles it’ll take way longer to get going.
I think the usual retort is that at any moment and for any inexplicable reason your entire infrastructure can be deleted for some reason you barely know let alone comprehend. This seems to be the case for apps at least.
I neither support nor deny this belief but it's an increasingly common impression.
Source? This comment seems absurd, at best. I am no 'google engineer' (is that supposed to be a bad thing?) and I've been using and loving GCP for well over a decade. Built several extremely successful businesses on it.
What they're saying is that Google is opinionated. They determine that their way is the right way and you will do it their way. As opposed to Microsoft and Amazon, who both ask their customers, "how do you want to solve this problem?" and then build what the customers want.
If the way Google has decided you should build something happens to work for you, great, but for most people, they want a product built around how they like to operate, not get told how to do it.
I work in Google and think I can share: in fact we do ask our users a lot. To the point that I would be very surprised if any major development in GCP is allowed at all without extensive focus groups, or coming out of cooperation with some major customer.
Maybe lately, but certainly not at first. I was one of those early customers, and when I would say, "We want to do it like this", they would say, "Well we think this is how it should be done" and then ignore me. So yeah, they talked to customers, and just told them they were wrong.
But also Google has a trust issue. I think GCP makes a superior product, but I would never use it. I'd be afraid that one of my former employees leaves the company, does something Google doesn't like, and they shut down my entire GCP account because my gmail is associated with the gmail of someone who did something bad, even though they don't work for me anymore. (Yes, this is a real thing that happened)
I can't trust Google not to just shut down my account and then give me no human to talk to to get it fixed.
Just because they disagreed with you doesn't mean they are bad.
> I think GCP makes a superior product
Exactly. They do.
The rest is mostly just conjecture. The loudest wheels get the most notice... there are plenty of other people, like myself, who have been using GCP for a long time without any drama. It just works.
I think that early days they were more opinionated. The design of the datastore is extremely google centric scale. Exposing it to end users was a matter of just "learn to use it, or not".
AppEngine had a lot of limitations, like the version of Java you could use, because they had to basically hack at the JVM to get it secure enough.
These days though, things like Cloud Functions, are effectively just simple containers and http endpoints. I could move them off to another provider with a days work.
This "well over a decade" claim needs some qualification. GCP only became gevnerally available in Nov 2011. Before that, there was App Engine and Cloud Storage, but not GCP.
I jumped onto AppEngine as soon as I saw it announced (probably here on HN). Probably sometime around late 2009.
Quickly convinced my friend Jeff to get onto it... we saw a need for a datastore wrapper and he (and I a tiny bit) wrote Objectify, which is one of the most widely used tools for AppEngine out there.
Look at the license.txt... Feb 6, 2010, 13 years old...
I suspect that if at some point you had an issue with it you would've been frustrated as hell by your inability to do anything about it and would've sworn them off forever. But you were the survivor that didn't have issues and can't seem to comprehend that as a business it is absurd to rely on a company that can kill you off without reason or recourse because you were the unlucky one that pissed off the algorithm.
You're right, it is FUD, but it's not malicious FUD spread by us to spite google, it is actually rational FUD based on real reports that is entirely google's fault
Shrug, seems like an inherent risk with any SaaS provider. I worked for a large porn company and a web analytics product, we were one of the largest customers of, got sold to a Mormon company. Our account was terminated.
I guess I'm lucky that I haven't pissed off the GCP algo yet.
>> seems like an inherent risk with any SaaS provider.
If you see risk as binary, then yes there is risk in any SaaS provider, or indeed any part of your company supply chain. Risk though is not binary, it is measured on a scale of 0 to 1.
There is risk every time you get in a car. But some cars are safer than others. Some are renowned for putting safety first.
The vast majority of people survived their Ford Pinto, no doubt some loved it, but the perceived risk of driving it (rightly or wrongly) was higher than say a Volvo.
Google is the Pinto of SaaS. Whatever the actual risks are, they are perceived as being higher risk than other SaaS providers. Thanks to their "no support" policy, the penalty for failure is total extinction. With most SaaS businesses there are humans in the loop who can make human decisions.
GCP has been extremely performant and reliable for me across several different companies.
I'm not saying that people have definitely run into issues, which we've all read about here on HN, but this sounds more like squeaky wheel than the norm.
> Thanks to their "no support" policy,
Their support has been excellent, when I've needed it, which is rare, since it has just worked for me very well for a decade now. Their documentation is also pretty well done too. Just like with any sort of SaaS solution, you should be building a relationship with an account exec.
I've had CloudFlare start to put in weird restrictions on my account once I hit a certain size. It showed up with requests being oddly denied and zero notification. I contacted my account manager (called their cell phone!) and the problem was resolved in a few hours. I don't even pay for a business plan, but I did make sure to develop a friendly relationship with them when they originally reached out to me.
It's absolutely personal perception. Ford made a couple millions Pintos, I never had one, much less saw one explode in a fireball, but I'm not rushing out to buy one either.
My perception is borne from a long history of reading stories here. Over time they create a perception in me that Google regularly drops products, changes APIs, changes pricing, closes accounts, withholds earnings and so on.
I'm sure millions of people happily use their services. However my perception of risk with Google is high, so as a result I don't use any (paid) Google services and I take my business elsewhere. Obviously I use Google search, and watch YouTube, but I'm happy to not put Google in my supply-chain, nor rely on them for revenue.
Now maybe it's just bad PR. Maybe Google has real lower risk than say someone else. Maybe Pintos were statistically safer than a Volvo. But perception is everything, and my perception is that, given a choice, I'm not going to use GCP.
IME this perception is based on customers using the self service/cc versions of the service.
If what you are doing is important get a sales rep and invoice billing. This is actually tru of any service, but Google is particularly bad. You don't want to be caught up in their automated fight against fraud and abuse
Father lost his Gmail account and his Google Fi account. [0] Which means that he was locked out of a lot of other accounts because he couldn't access his email or SMS messages.
I figure Google knows how to protect against attacks way better than a random email provider. I enrolled in their Advanced Protection Program [1] because I don't want my email taken over. I've used a Google Voice number deliberately because somebody can't walk into Verizon or AT&T and get my number.
The idea that there's absolutely no recourse if Google decides I'm a bad guy. Especially since they sometimes seem to target associated accounts - are all of the family accounts going to be cancelled, too?
I don't think Apple's security is as good but I'm also not qualified to judge that. And at least I can talk to support on the phone or go into a store. So I'm moving my email that way over time.
For me it's partially because the interface is insanely slow and painful to use. Maybe this is a "I'm in Australia" problem but it feels like I'm wading through mud to perform the most basic tasks.
>open source as a whole sucks at building products, but is great at building infrastructure. (and pretty good at infrastructure products).
Oh This is Great. Thank You. Will have to bookmark your comment. Perfectly describe something I have in my mind but couldn't quite put it into precise wordings.
Open Source works, and its desired in infrastructure because everyone relies on them. And its common interest align with everyone.
If we look at the all the success we have in Open Source, most of them are not even on the list. SQLite, MySQL / Postgres, all the Networking Libraries, WebKit / Blink, FFmpeg, GNU Compiler / LLVM, Apache / Nginx etc, etc. Not only are they the dominant position or with substantial market share, they are also all infrastructure related.
It's because open-source favors "those who show up and code" (I recall a blog post about the Apache Foundation saying that was what they valued). If you can't code, but you can make UI/UX suggestions, or come up with a way to productize the raw codebase, you're usually ignored or (worse) mistaken for a coder and people ask you when you'll have a PR ready.
Infrastructure has a bit of a tragedy of the commons thing going on. No one wants to pay for everyone else's infrastructure.
So any software project that is infrastructure tends to suffer from lack of funding, whether it be proprietary software or open source.
There are exceptions, naturally. E.g., PostgreSQL and SQLite, and Linux. To overcome the tragedy of the commons you need tons of interest and community. Everyone who contributes has to feel like they're getting their money's worth and that there's no better way. I.e., mindshare matters. Mindshare matters whether the thing is open source or proprietary.
Is there any place there are actual statistics on this. Say the top 10k most used open source projects across languages where each project has the amount of money spent to maintain it / the number of people hours needed to maintain it and where the maintainers care to be remunerated?
I really don't know which open source projects are under funded. Firefox, Python, LLVM, Clang, .NET, Chromium, Electron, VSCode are certainly adequately funded. There are also projects like some of my own that have a few 100 or 1000 users but I don't need/want funding for them. Maybe if they got 10k or 100k users and I actually got lots of support requests that would change.
I'm sure there are several under funded projects but it'd be nice to see some qualitative data instead of just feeling it must be true.
> For example, adoption of GIMP has not likely materially increased over time (as a relative percent of total addressable market)
This is an interesting question to me because Adobe only recently moved to cloud/subscription fairly recently. Before that, you could get a physical copy of Photoshop and keep it running forever.
As that pathway fades, it will be interesting to see if something will finally supplant Photoshop.
I would not call 9 years ago "recently" (March 2013 is when Adobe announced it would no longer sell boxed copies of the Creative Suite software).
Adobe obviously doesn't care. They treat their customers like crap and actively try to extract as much money out of them as possible. A few years ago (or less) they worded their description of their monthly subscription very carefully, so as to mislead people into thinking they could pay for a month or two when they needed it, and then cancel. The fact was that monthly only allowed you to pay each month, it was still an annual subscription which could not be cancelled without substantial early termination penalty (basically paying the whole remainder of the year if my memory serves me correctly). If they really cared about their customers, they would have made that very clear when you signed up for service. I helped a family member sign up, and there was no explanation, and no warning about cancellation.
I wasn't thrilled about the subscription model in the first place, but this family member needed access to the tool. After the way that went down, I have no intention of doing business with Adobe ever again. I know a lot of other people who feel the same way.
I'm not a fan of Adobe's payment practices. But they do treat us well in one regard. They give us one thing that we can't get anywhere else. The best photo editing software on the market.
Their products havent changed in like a decade. Its actually getting worse, slower and buggier.
Its best photo editing software because people are so used to it its hard to move and everybody new has to learn it because its industry standard.
But photo editing is not some arcane magic like it was in 90s. Freaking photopea.com does what photoshop does often much faster in browser. Not to mention million other affinity/pixelmator/acorn native apps.
GIMP is supposed to be a Photoshop alternative? But is missing so many features which don’t even seem that hard to code? I always thought it was supposed to be some weird middle ground between Paint and Photoshop.
For years, I've looked to GIMP as an alternative to Photoshop but now I've given up the idea. Yes, it's missing many features but my main reason for dropping it is its perverse operation, it's just too awkward and clumsy to use.
I can only conclude the reason that these inherent problems with GIMP have remained uncorrected for so long is that its developers couldn't give a damn whether we use it or not.
It seems only a play toy for its cliquey developers and the only reason it's available at all is that we gullible users act as occasional bug detectors.
Sure, open software has resoure problems hence expected delays but too much water has flowed under the bridge for that now to be a viable excuse.
I forgot to add the last straw for me was the removal of GIMP's 'Fade' feature. I'm aware of the alterative but it's not as convenient.
User ergonomics in software is extremely important and its removal is a big anti-feature. At the time GIMP's developers didn't offer an apology, they just said that's the way it's going to be on 'technical grounds'.
Paint.NET, Inkscape, Krita, CinePaint, ImageMagick (command line - yes, it can be very useful at times), and various others when certain needs dictate.
Also, Photoshop CS3 which is my last paid version (moreover, I can still reinstall it as Adobe temporarily released a general version with an unlocked key when it abolished the CS3 licensing server some years ago).
I even use IrfanView viewer as it has a nice batch converter (although it's no good for 48-bit work).
Frankly, there's no shortage of image editors even after eliminating GIMP and Photoshop.
We have a legit PS install on my wife’s machine and it’s preventing us from making a move to another computer for her. She’s a casual/non-professional user. She knows the app and how to use it. We aren’t interested in renting the app… basically we’re holding out on that machine, but sooner or later it’s going to become a security risk in our network.
At some point it might be worth looking into Affinity Photo, it's a $55 (one-time, with free updates) cross-platform photo manipulation program with surprising feature parity with Photoshop.
This is why I still use Photoshop CS3. It's the newest version Adobe have released as an activation-free offline installer, and it does everything I need and then some.
Engineers continually discount the importance of usability.
The easy applications to convert to open source are those that the developer of the application is the user of the application. The easiest example is Bitkeeper to GIT conversion. The person who wrote GIT is the same person who used Bitkeeper. Therefore he knew what would be usable for a developer.
GIMP vs Blender is the counter example. Both GIMP and Blender are targeted at artists and not developers. The author assumes the awesomeness of Blender is inevitable. But GIMP is pretty bad and shows no evidence that it is getting better. Yet - when major animation studios decided to adopt Blender they dedicated UX resources to Blender to make it more usable for artists.
When the developer is not the user, you need that extra step.
> Engineers continually discount the importance of usability.
The real issue, unfortunately, is worse: It's a lack of empathy for the user.
Usability need no explaining to an engineer. You have your 500$ mechanical keyboard. You your carefully crafted .vscode and you lust for that e-ink monitor.
Unfortunately, you don't understand that you are different to the average user of the thing you are working on and in that thing you are working on, your job is to serve the user.
To be fair, this is not a struggle unique to engineers, far from it. Professions, that is very adamant about conveying this during training are teachers, therapists (and I explicitly don't include physicians, although they can be) and, to a wildly varying degree because of what the job means nowadays, designers.
People working in most other professions default suck at this.
This is also true. I get into arguments all the time with people who start by saying "Oh it's easy" and then after I prove that it's hard, say "I don't care that it's hard for other people". It's just a sort of blindness for your internal shortcutting of "I don't care that it's hard for others, it's easy for me" to "It's easy to everyone that matters" to "It's easy for everyone".
I have this hunch you could break into product management by product managing open source projects. You'd certainly learn some good skills if you could do it. It would be pure influence over authority.
I'd be somewhat skeptical of anyone trying to product manage an open source project, and I think unless you were a truly exceptional product manager, most contributors would perceive your contribution as net negative if you tried that. The point of open source is people work on the things they want to work on (for the most part, obvious exceptions apply) and via a Darwinian process, what survives is the result of the best ideas of the people who stick it out.
Open source contributions I've made have been mostly because I need a certain feature or there's something that doesn't quite work right etc. Eg recently I took up qubes os. I like using the i3 window manager, and it had some problems on qubes, so I made some small contribution (I can't even remember what it was now) to fix that.
The normal PM process wouldn't work, but I think normal PM processes are broken anyway. It also wouldn't cover all the wonderful small features, ports and fixes people like you contribute.
Any notion of "setting priorities" would go right out the window. It would have to entirely be about giving gifts, which is what open source is based on, anyway.
"I talked to 5 of our users about this problem. Here's what they said in summary, with some pull quotes. Here's how 3 other libraries solve this problem. I added 2 more ideas, made a table comparing all of them. Here's the 1 I think is the best, if anyone wants to make it."
Then it gets picked up or not (probably not lol). But no "influencing" past that. The influencing is just doing useful research, idea generation, and sharing it.
Nice analogy. I like that. For the laser you likely need to show an indicator for the distance to the bright red spot, and break it into measurable chunks (like a roadmap) to which actionable steps can be attached. Tbh a cat won't do anything with that, but to the feline breed of FOSS developers it may help to keep (and understand the importance of) product focus. Although you might just focus the bright spot on farther away objectives when the felines get closer to it, to refocus their attention.
Bright light in the distance works for me. A lot of the interest is in the path finding process - dead ends and cycles included. A bright light in the distance that someone else has broken into measurable chunks is totally unappealing.
This sometimes might be true, but there are many counterexamples. If you look at the web content management systems, the market is dominated by well-engineered open source CMS products, e.g., Drupal, ez Publish, typo3... Even for webshops this true: presta shop, opencart, ...
It might seem like domination but its just the biggest field. The pie is huge, everybody needs CMS. So everybody eats and if you focus on one segment it might see like its domination.
I would say if anything every other website now is Webflow. Every shop is Shopify. And highest quality CMSes are commercial products like Craft CMS or Kirby CMS. So serious projects often grab those instead of OSS offerings.
Ok, there is for sure a closed source offering. Although, if you look at the data of the 1 millio top site on builtwith a strong oss share is clearly visible. It goes without saying that wordpress has the overall largest share, which technically might not be considered a fully-fledged CMS...
There‘s a large proprietary CMS market, mostly Adobe Experience Manager, Sitecore, EpiServer/Optimizely. There‘s also the more recently risen headless/SaaS content platforms such as Contentful, Sanity, Contentstack, etc. At the bottom end of the market you got Webflow, Wix, and Squarespace.
Wordpress and Drupal do compete but the market is not dominated by open source if you look at more than just the count of websites.
Similar things are true in commerce. Salesforce Commerce, SAP Commerce, Shopify, BigCommerce, and commercetools are all not open source but very sizable businesses.
None of these are counter-examples to what the OP said
> Not all, but the ones that aren't have clear product management of some sort.
That's effectively all of these except maybe ublock.
If you don't have someone trying to sell some portion of your code base, true community efforts not a commercial effort that happens to be OSS, you're probably an infrastructure project.
Interesting. So all of the examples have salaried design and product folks?
Meanwhile there's thousands of volunteering FOSS projects that are engineers only. Do product & design people not have passion projects? Or they do but are for some reason unable to collaborate with engineers (or vice versa)?
It's a complex problem. Design agencies and individual designers are blighted by the spectre of "spec work" [https://www.nospec.com] [https://creativemornings.com/talks/mike-monteiro--2/1]. The tl;dr of it is that business will approach agencies and demand they work on a product for free, of a a cost lower than the wok is worth in an act of good faith for the promise of fully paid work in the future. Except the work rarely comes. The upshot is designers are taught the value of their worth at college/university.
The other problem is the FOSS community itself. See the concurrent post about GIMP [https://news.ycombinator.com/item?id=32624055]. Opinionated devs that either don't see the value of design or having a designer. I know that this isn't true for all projects, but there a bad apples amongst the bigger, more well known projects (GNOME for example) that will spoil it for everyone else. Again, GIMP is a great example of this. As a result, most 'passion projects' lead to designers working on small projects that inspire them, which are rarely software related, ore they look to create something that can provide an income, either as a small second income or as a new business.
Canonical basically supports Ubuntu. (Over and above the Linux kernel and other components many of which are supported by many different companies (and individuals).
You have a good point that we can start a discussion around but I think you're being overly negative and falling for survivor bias. E.g. Does the success of Photoshop mean proprietary product management is superior? Or does the death of Corel Draw mean it's doomed to failure? And Apple, everyone's favourite product company, has Pages and Numbers which are not better than OO (and Word's incumbency is vaguely illegal).
So let's put that, and FOSS dominance in browsers and IDEs and databases and programming languages and media players to the side.
FOSS could do with better product management: what would it look like? More roadmaps? More figma/inkscape mockups? More user interviews?
I think the correlation of people who don't like paying for things and engineers are because most engineers are people who learned computers at a young age and found piracy, etc as their goto way to learn things because I know I couldn't afford Macromedia Dreamweaver when I was a kid, but I used it...
So now most think "why would I pay when I can pirate or use an alternative that is a pain to setup but once you get over that initial pain, it's smooth sailing" whereas others are like "I don't have time nor desire to do that, just take my $10/mo"
I personally stopped pirating and started paying for stuff for the same reasons you stated, and also because I felt like a hypocrite expecting people to pay me for my work, when I wouldn't pay others for their work.
I use mainly open source software so I don't use pirated stuff in any of my operational systems as it poses too many problems.
So too is licensed commercial software as Adobe's Photoshop licensing scam shows. One of my most annoying examples is UltraEdit a text and code editor originally from IDM Computer Solutions, now Idera, Inc.
Years ago I bought a perpetual upgrade license which at the time was quite expensive when compared to a single-version purchase but along the way IDM introduced a website locking mechanism to stop pirating and it turned out to be a big problem.
If one didn't uninstall
UltraEdit correctly the IDM website deemed it to still be installed. Now, we're all pretty familiar with that except the trouble was that I'd be forever changing the O/S or blue-screening it and I'd often forget to uninstall U/E first - and it was the only instance of server-locked software on my machine (having vowed long before IDM changed the rules never to buy software licensed in this way).
I should note that multiple installed instances were never a problem as the license permitted three copies and I only ever had one installed copy at a time. The problem was continual difficulties in resolving the 'dead' license count on the server as the company just wasn't interested in helping. So the solution was to remain on the last of the non-locked versions (U/E for Windows v16.2).
So I felt cheated and I still do. Moreover, the company lost sales, I didn't buy UltraCompare nor did I put UltraEdit or it on my Linux systems as was my original intention.
Frankly, most commercial software sucks big-time, long live open source.
> If one didn't uninstall UltraEdit correctly the IDM website deemed it to still be installed.
In my experience with this kind of DRM, an email is generally enough to get them to reset the licence at their end. Still an inconvenience though, and you'll need to wait until they've done it.
I don't want to mislead anyone here, 'continally' means that was the case every time and that was quite a few but it was over some years - certainly not every few weeks or even months.
On the other hand, another program I purchased for several hundred dollars reqired activation but was much easier to deal with. Despite my vow, it was one of those situations where I needed a quick solution so I purchased it fully expecting the same trouble (note, there was no indication on the website about the activation process).
So to avoid any inconvenience through downtime, I inquired what happens in such circumstances and the almost immediate reply was 'there's no problem reactivating it so long as you don't do so too often within a given week'. Note, there was no need to inform the company beforehand.
From my experience, that's definitely the exception to the norm, so not all software companies are unreasonable.
I think it comes from being young with no disposable income and carrying that idea for too long. The older I get the more I pay. I have the money, I value my time, I value other people's time, I try to pay them one way or another.
I paid for Sublime Merge when I could have used one of the 10 other free git front ends. I can't say there is any particular feature I use that are not available in the other front ends.
I've been paying $299 up front and $120 a year for a text editor since the 90s and I rarely use it anymore (I use VSCode more) but I still find I go back to it once in a while and while $120 a year might sound like a lot it's less than I'm being paid by the hour so I can spend hours or days searching for alternatives or I can just pay the $120 and keep using the solution I know. I donate to several open source projects monthly and have given $50 or $100 here or there to others.
At the same time, I have to really get a ton of value out of the project. Blender, Kodi, a few large libraries that would take me months to repo I'm happy to donate. People making a 1k-5k line project and asking for funding though kind of seem like bad faith actors. It's like they're ignoring the tons of stuff they get for free and instead of giving back they're being miserly. It'd be like going to a potluck party, everyone brings something for free but one person brings beers and asks $2 per can while at the same time eating from all the free food.
People complain about corps using open source and not paying but I personally don't see it that way. Most tech corps give back in one way or another. Apple gives Clang, LLVM, JSC, WebKit... Google gives Chromium, Go, Dart, Flutter, Core Android, Skia, ... Facebook gives React, React-Native, PyTorch, ... Microsoft gives .NET, C#, F#, VSCode, Electron, Github (free hosting and free CI for open source), and even in if some corp, GM? uses open source I'm sure they give back to society in some way. There are few companies that are all take and no give.
Maybe another way to frame it, I see lots of open source as similar to volunteering. If go volunteer to clean up a park I don't get angry that lots of people come use the park without also volunteering to clean up. Sure, if my volunteering becomes a burden that makes too many demands of my time then I'm either going to stop or it's going to have to become a job but the fact that that threshold exists doesn't mean things below that threshold need to stop existing.
That is why I think most software should have an educational license that allow students to freely use their product. I mean even Steve Jobs said it on stage, no one pays for Adobe Photoshop in college. LOL
Yet we happily buy Macs and IntelliJ licenses and pay for alternatives to Gmail.
Linux, is quite frankly the best dev environment you can get. MacOS is a nice compromise if you need some commercial software too. At least it’s still a Unix.
Open source works when big players decide it's economical to comoditize something and do it in the open to share cost and get testing, also good will, etc.
This is why it's mostly in infrastructure. But it works in product applications - like Epic contributing to Blender because it enables their platform.
The article made me think of LMMS vrs Fruity Loops. I'm pretty sure a group of people sought out to make something like Fruity Loops because the launcher comes up searching for fruit. It has some fairly remarkable limitations and I was pleasantly surprised that the free version of Fruity works perfect for me on Linux and allows unrestricted midi export which is all I needed anyway. It was a little more than a issue of taste because they really did try to replicate it but probably lost interest due to the fact that Fruity isn't too hateful to buy and it doesn't keep abusing customers with subscriptions. They upgrade and people don't always have to get the upgrade.
Lightwave 3D was already not exactly what I call high end software competing with software that was really a lot more advanced but it carved out a niche. When Blender was announced it looked pretty darn close to Lightwave and after playing with it just didn't seem intuitive enough to keep with trying to convert what little I knew already to this. But now decades later, Softimage users are fleeing to Blender. I'm pretty certain now that I will not be buying any more Lightwave upgrades. Besides, Modo is better at being Lightwave than Lightwave is. Blender is the most successful free software art and film tool since we knew what free software is.
Because this is, well, the very purpose of proprietary infrastructure: to lock you in. Today, it seems to exist mostly in places where people have no choice.
And you can't really cover "time" in an objective way before first determining some reasonable threshold for adoption, which is about as hard to objectively define as it gets. This means all the data presented in this article is basically meaningless.
For example, _way_ before Github we already had open source code hosting & collaboration servers. Trac comes to mind, but there's an even better example -- Gitorious, which also came before Github. Why did the author not even consider these two examples and only named Gitlab es the "replacement" for Github ? I could understand the omission of Trac since perhaps it was not primarily Git-based, but Gitorious? Gitorious was even at one point the #1 Git platform, eventually surpassed in popularity by Github (and much, much later by Gitlab).
Is this a "proprietary alternative replacing a open source one" ? How do you even take this into account in your "Time until OSS alternative" metric ? It just shows how meaningless this all is without a subjective definition of "alternative" or "replacement". There is no way to present this objectively as the authors are trying to do. The entire data set is manipulated to fit their point.
The rest of "replacements" are similarly questionable or even ridiculous, because, depending on your definition, they either ignore alternatives that came much earlier (because surprisingly frequently a proprietary "service" replaces a popular open source program) or call a service "an alternative" when it is simply not.
I think the key here is that open source infrastructure is often built and maintained by companies, while open source products are not. It takes time and effort to make things successful and companies have resources to make things useful that motivated groups of volunteers do not.
Thank you for brilliant comment highligthing the OSS issues.
But I believe you're missing the main point that OP is making: OSS will _statistically_ dominate every single niche.
There are just more reasons why non-OSS software would cease to exist - so eventually Inkscape will become a de-facto standard for Illustrator things; Blender will become de-facto standard of all 3D-Max things; OBS will become a de-facto standard of all Macromedia Flash Broadcast ... oh wait ... did that happen already?
> open source as a whole sucks at building products, but is great at building infrastructure.
Yes, but Android? When companies promote OSS products, they become successful.
> totally orthogonal to building "a good product that people want to use"
An OSS product will not end up on shelves with glitzy packaging for people to buy unless some company burns money to do that. It's not a fundamental law and OSS isn't orthogonal to anything.
AOSP is not a product and is not really usable by itself. It needs to be combined with Gapps and Google play services to really be considered a product. And I would argue that combination isn't a consumer facing product either. It's a product aimed at OEMs who combine it with their hardware and a few layers of additional hardware integration in order to create a consumer facing product. I know there are open source alternatives that replace many of these proprietary layers but they aren't very popular with the market.
I was about to write about 80% of what you wrote, so Im glad I parsed the comments first (and GIMP & Krita were going to be my examples, as well as the AWS-ification of things like Elastic) but to me the real crux is "open source as a whole sucks at building products, but is great at building infrastructure".
>All software will be open source, and no one will make money with software.
I'm really not convinced. The chart shows Photoshop having an alternative in with GIMP in 1998. And 24 years later, people are still paying lots of money for Photoshop. Pretty much all of these examples are similar. Yes open source has replaced some categories of paid software like VCS, but in a way it just opened up more paid software in the form of hosts and surrounding tooling like Github and paid git guis.
If anything I think we have moved backwards. We are no longer looking at making copies of grep and dd. If you want to make an actual alternative to Photoshop you'll need thousands of workers spread over a lot of skill sets. You need cloud technology specialists, AI/ML experts, R&D, design experts to do real studies and interviews with users, etc. You need teams of people working on out there new and untested ideas pushing the state of the art for image editing. While the alternatives are still trying to catch up to 2015 UI design patterns.
There's a reliable test for predicting the success of failure of open source software: "Does it directly interact with users?"
If the answer is yes, OSS has mostly been an alternative option but not the first choice. (With all due respect and deference to the work put in by OSS GUI teams!)
If the answer is no, and especially if it's a shared need but not the primary product (e.g. kernel, web server, intermediate processing step), then OSS has taken over the world.
Fair! Although I've never worked with a shop that was not-Oracle and migrating to Oracle. Sadly, there's the long tail of places with existing, business critical Oracle use.
Anyone that wants top tier RDMS, it nice graphical debuggers for stored procedures, integration of Java and .NET into the database, distributed transactions, raw file system accesses, web services on the DB layer, among several other features, besides Oracle, there is only MS SQL Server and the RDMS owned by IBM like DB 2 and Informix.
MySQL and Postgres are kind of nice, but not really the same league at tooling level.
This is completely in line with the premise above.
If the database is primarily a data store, unseen by the end user, then Postgress, Firebird etc are fine. If however the database is an active part of the development stack, being used by lots of "users", writing new code etc, then commercial offerings with better tooling win.
Yes you’re right. But OSS opens up a free market of vendors. Consider how Wordpress powers 40% of all websites in the world. The website owners pay hosts etc. to have full control and they arent locked into a monopoly vendor, but end users just use the stuff.
For making a good GUI, the tech guys need to be ordered around by non-tech guys who think like, or talk to, regular users and know what is needed. Tech guys don't like this, so someone needs to pay for their suffering.
I suspect Dijkstra made the relevant distinction in a different context: the open source process is geared to providing correct software, not pleasant software.
> The pleasantness problem deals with the question how satisfactory a system meeting a given functional specification would be; the correctness problem deals with the question whether a given system meets that functional specification. The correctness problem being an entirely technical one, the functional specification can provide strong heuristic guidance for the system designer.
GIMP is a good alternative to Photoshop for someone like me, who is not a professional designer, just someone who needs to touch up an occasional picture. So what GIMP has done is removing my "need" to run an illegal copy of Photoshop (a practice I really hated and stopped with a long time ago). If I'm a professional user of anything, I should be ready to pay for it. Else hard to claim I'm a professional.
What the article should acknowledge is the difference between an alternative and the shift of which tool is... the gold standard.
> If anything I think we have moved backwards. We are no longer looking at making copies of grep and dd. If you want to make an actual alternative to Photoshop you'll need thousands of workers spread over a lot of skill sets. You need cloud technology specialists, AI/ML experts, R&D, design experts to do real studies and interviews with users, etc. [...]
I'd see that as making progress, not moving backwards!
It means open source has solved the 'easy' cases, and only the harder ones remain.
(It's a bit like after humans have visited the moon, complaining that going to Mars will require more effort; and saying that this means we have moved backwards.)
100%. That the author think it's "backwards" that they can't run a sustainable business by copying what's already been made but need to put in some actual work (and that building profitable software inherently must involves AI/ML experts and cloud specialist) speaks more about OPs bias than about actual requirements. Not meaning to point fingers at them specifically too much; they're most likely in a bubble where these views are implicitly assumed.
As for the specific example of Photoshop, well, yeah.. Adobe has put in at least that much work and resources behind it, so what do you expect is required to get a fair fight? Photoshop was an incredibly complex and refined piece of software with immense work behind it before they moved to the cloud. 99% you wouldn't pull that off in 2008 either. That GIMP is still mostly unheard of outside of enthusiast circles and never posed any threat to Adobe shows that it takes way more than a handful of skilled devs.
I often hear complaints about entitled users but I get some "entitled tech founder" vibes here, as if not being able to sustain on rent-seeking behavior is a defect.
I think it's also worth noting that OSS did not 'make' Blender initially - it was a closed-source application. It's a resounding OSS success these days, but had already been 'productised' before the the release of the source.
And early Blender sucked ass compared to today. While it starting as a commercial product might have helped at start, right now it's no longer the case.
People will use anything instead of gimp to be honest. Haven't tried it in a while but everytime I did in the past I can't help but question if it's developers actually use their own software.
Only under the assumption they're designed for usage without the manual. I understand most things are but they definitely don't have to be. GIMP unfortunately may not be particularly explicit about this but having all users read the manual feels very much intended.
You only have to build the alternative once. Yes, there have been some areas where proprietary software has held its ground, but has done just that- it has not replaced free software in the areas that it has control over.
The takeover of free software may be slow, but it is one-directional.
I wish this were true! But keeping your software current in 2022 is an continuous project. UIs improve, platforms shift, features expand, vulns appear, needs change, server bills need to be paid.
I think this is a self-aggrandizing myth that is common in forums like HN with lots of programmers and designers:
- UI's usually do not improve. They "improve" by making subjective changes for the benefit of the maker (often at the cost of the user).
- Platforms are constantly shifting when they are owned by corporations. At first, businesses will penetrate the market by creating a competitive platform. Once their platform has reached critical market share, they will switch to milking their users who are now trapped due to vendor lock-in. This forces users of proprietary software to constantly jump ship in order to get a good deal.
- Features sometimes expand, but most apps will reach a point where it no longer makes sense to add additional features. In the free-software world, we generally try to make an ecosystem of programs that work together: if a single program is too complex, its features may be divided into several smaller programs. In the corporate world, a single program may be bloated and expanded long past the point at which additional complexity will serve the user- so long as developers can continue to invent new ways to extract money, data, etc from their users.
- New vulnerabilities may be uncovered, but generally vulnerabilities are only added when the complexity of program increases. Vulnerabilities don't just appear out of nowhere. If you write a program, it doesn't just become more vulnerable over time just by merit of being old.
- Server bills usually need to be paid because people have inserted themselves as middlemen. If the internet was designed in a way that did not require paying a racketeering fee for DNS, PKI, etc. then we would see a lot of decentralized alternatives to "essential" services.
It's hard for me to entirely put into words how flawed your statement is. If you have time, you may want to check out a book called "Bullshit Jobs: A Theory" by David Graeber (https://libgen.gs/edition.php?id=5852679). It might give you a new perspective on the software industry.
Man, I couldn't disagree more strongly! Programming is like building a house on shifting sand. How many projects that you haven't touched in the last 5 years still run? If you're anything like me, the percentage is vanishingly small - and my old projects aren't even that complicated. If you find that this is a belief "common in forums like HN with lots of programmers", I suspect that's because engineers are the most likely to have the hard-earned experience!
I mean, just look at HN for examples. Quite literally yesterday it happened again: Heroku decided to turn off all old free apps. That's a whole bunch of my old apps that are about to deprecate and break unless I do some work on them.
> Features sometimes expand, but most apps will reach a point where it no longer makes sense to add additional features.
I think this is overly idealistic, or perhaps limited to too small of a problem space. If your software stops adding features, it will quickly be out-competed by software which does have new features that improve productivity. I suppose you could argue that some apps are "finished", but I tend to see those as a rather small subset of all apps - things like single-use command-line utilities, say, like grep and awk. It's hard for me to fathom Photoshop ever being finished - until you're beaming ideas directly from brain to canvas, there's always the possibility that new features can save more time[1].
> Vulnerabilities don't just appear out of nowhere
But this is exactly what vulnerabilities do. One day, there isn't Heartbleed. The next day there is. One day, your Java dependencies are fine. The next day, log4j is broken for everyone on the internet. If you're not on call to solve problems like these, no one is going to use your app.
I don't really understand how you can say "[a program] doesn't just become more vulnerable over time just by merit of being old". This is exactly what happens to any program with dependencies.
> Server bills usually need to be paid because people have inserted themselves as middlemen
People have inserted themselves as middlemen because servers require upkeep, and upkeeping a server takes the time of an experienced professional. They need to be patched for vulns (again), maybe you need to swap out your SSD because it finally ran out of writes, or any in a litany of other problems.
[1]: Then again, with DALL-E, maybe this is happening sooner than we think - but that's beside the point.
> How many projects that you haven't touched in the last 5 years still run?
The ones which were built like a tank in terms of adherence to standards, minimization of dependencies and of assumptions regarding the platform, non-flakey build system etc.
> If your software stops adding features, it will quickly be out-competed by software which does have new features
Not usually. You're probably thinking of things like web browsers.
> because servers require upkeep
If your software does not require continuously running global server(s) then that is not an issue.
>I mean, just look at HN for examples. Quite literally yesterday it happened again: Heroku decided to turn off all old free apps. That's a whole bunch of my old apps that are about to deprecate and break unless I do some work on them.
Yeah, pretty short-sighted of you to go out of your way to design those systems in a way that is dependent on a single company hosting it.
>I suppose you could argue that some apps are "finished", but I tend to see those as a rather small subset of all apps - things like single-use command-line utilities, say, like grep and awk. It's hard for me to fathom Photoshop ever being finished
In an ideal computing environment, the functionalities of a single bloated program like adobe photoshop are completely encompassed by an environment of general-purpose utilities in a way that is analogous to unix shell programs that can interact to perform a variety of tasks.
Modern operating systems are intentionally designed in a way that promotes the commercialization of software. For example, why is it that all third-party software on iOS or android is packaged into distinct, sandboxed "apps" each with their own accompanying icons and whatnot? It's clear that the ability for these "apps" to perform any real inter-process communication is hampered, because the boundaries of the apps represent the boundaries of different competing commercial entities. It is sort of like conway's law, but in reverse: by enforcing a certain structure on software that is distributed, you are selecting for a particular corporate development structure. This analogy goes much deeper than what I can current find the words for. The whole system is quite insidiously woven together.
It is impossible to run any sort of background process (for example, a daemon) in a way that is transparent to other running processes, but it does allow apps to make outgoing connections. This makes the user dependent on an intermediate to provide inter-app communication as a sort of internet-based service.
So I hear you say that software has to compete with the endless "upgrades" of its competitors. I think we have almost never seen a market in which free software based on the unix philosophy has actually competed on its own terms. What we've seen is a market where free software competes on a commercial basis- in producing a distinct, marketable product (as opposed to an environment of inter-working tools) that is comparable to an existing product such that consumers are familiar with it. The unix shell environment is a rare example of an actually good idea coming out of the commercial software, and it's a major foothold for free software that has continued that legacy.
>But this is exactly what vulnerabilities do. One day, there isn't Heartbleed. The next day there is.
If a tree falls in the middle of a forest and no one hears it, does it make a sound?
If there's a bug in software but no one uncovers it, is it a vulnerability? Apparently not according to you.
There would be no heartbleed if there was no implementation of the mostly-useless heartbeat faculty.
There would be no log4jshell if there was no implementation of the bloated JNDI crap.
You are correct, this is exactly what happens when programmers include many useless, bloated, and unvetted dependencies in their project.
Here is the way I see it: At some point you will reach a point in your work where the utility-to-complexity tradeoff will taper off. There is an ideal version of every program that is bug-free and at the plateu of this utility-to-complexity curve. The purpose of all programming is to get close enough to the ideal system and finish- to make something that works well reliably.
Saying that one must continuously revise a program forever to account for new features or vulnerabilities or service providers is like saying that you should continuously revise a book forever because you need to add another chapter or fix another typo or move to another publisher because Heroku stopped printing your book. The goal of writing is to produce a useful-enough book built on sound knowledge, if you are producing something that you think constantly deserves to be revised then you are incompetent- either because you cannot recognize a finished product or because you cannot produce one.
The reason why commercial software is often updated with useless and inane features (much like a college textbook!) obviously serves a much more sinister motive than what you've described here.
>People have inserted themselves as middlemen because servers require upkeep, and up-keeping a server takes the time of an experienced professional. They need to be patched for vulns (again), maybe you need to swap out your SSD because it finally ran out of writes, or any in a litany of other problems.
I see the fact that a service is critically dependent on a single server or maintainer as a design failure. Software should allow users to be more self-sufficient, not less. These centralized systems make you reliant on some sysadmin or someone who essentially performs a "useless job". Check out that book I linked earlier. It's an interesting read.
"It is difficult to get a man to understand something, when his salary depends on his not understanding it."
>> the fact that a service is critically dependent on a single server or maintainer as a design failure. Software should allow users to be more self-sufficient, not less.
Software allows users to be as self-sufficient or not, depending on their skills and resources. There is room for a whole spectrum of users, and obviously as developers we fall on that spectrum as well.
Self suffiency, in any area, is expensive in time, and money. I can grow my own food by buying the land and devoting all day to farming. I'm self sufficient, but I don't have time for anything else.
Equally I can choose to spend time running my own servers. I can buy hardware, learn many things, make mistakes, but be self sufficient.
However all that time spent is time I'm not focusing on my business. If my cousin runs a school, they want a "system that just works". They aren't interested in being self-sufficient. They don't have the time, or money, to (safely) host their own software. They are too busy adding value to their business elsewhere.
(most) OSS to some extent solves a problem that only very few people have. It caters to those who are time rich but cash poor. Most people though are time poor, and can easily find cash to make problems go away.
Adobe wins over Gimp because it does more, faster, thus saving the user time. Its a lot easier to find money than time, so paying the subscription is trivial. If it saves an hour a month, you're ahead even at minimum wage levels.
Of course there are those who value self-sufficiency, who seek out solutions that reduce, or remove, the supply chain. These folk exist in every part of society, and it is a perfectly good approach.
But it is worth understanding that this is a tiny subset of people. Most buy their food in a shop. Most are just using their computer to perform tasks. They have no more desire to write their own code, or host their own server, than they do to grow their own food.
I question the utility of most features Adobe adds to PS these days; but in any case, the problem is easily solved by building a robust plugin system and distributing the work.
I recently spent some time on reviving an old (FLOSS, all server-side, the only UI being CLI and an HTTP API) nodejs 8 software built mostly according to what was considered best practice at the time. I can confidently say you're missing important nuance here.
A counter-argument to this could be "most people were doing it wrong at the time and those best-practices proved to be not very sustainable so your old software was probably garbage already" but at that point we're entering the realm of dismissing reality.
As a counter-example, the Affinity family of Photo, Designer, and Publisher seem to be doing pretty well as a partial commercial replacement for Abobe CC. I don't know how many Serif employs, but I'd be surprised if it were thousands. It's true that Affinity does a lot less, especially preproduction stuff, but a lot of "light" Adobe users seem happy with it.
As for grep, there are plenty of newer attempts, like ripgrep, ack, and ag, too.
The actual alternative to Photoshop for most people who just need to do simple edits ends up being photopea or another web app (there’s at least one other popular one I forget the name of). Most people don’t have the patience to install GIMP and figure out the interface.
Presence of an alternative ≠ the alternative replacing the incumbent.
Linux has not completely replaced Windows or macOS, it even has not replaced FreeBSD. But having it as an alternative, even back in 1990s when it was not yet mature, was very important.
Firefox has not replaced MSIE or Chrome, but its presence is very, very important for the entire Web, to my mind.
> If you want to make an actual alternative to Photoshop you'll need thousands of workers spread over a lot of skill sets. You need cloud technology specialists, AI/ML experts, R&D, design experts to do real studies and interviews with users, etc.
Photopea is a feature-complete online image editor. It's widely successful. It's not open source, but it's the work of just one guy.
Nothing is ever feature complete, or alternatively, and image editor is feature complete when it reads my mind and spits out the perfect image without me doing any work. Anything short of that is room for improvement. Sure, there are a lot of people who don't need everything photoshop offers, but there are also a lot that do so people will continue paying for proprietary software for as long as that proprietary software gets the closest to spitting out the right image with the least effort.
This is very simple to understand: in the long run, price tends to marginal cost of production. Open source represents the logical endpoint: since marginal cost of software is ~0, the endpoint is something with price ~0. SaaS is a response, but open source is already chipping away at the low end.
As for the general thought about experts, consider web browsers. Advancing the state of the art is extremely expensive, yet the browser vendors are more or less forced to give it away for free. The browsers that either charged money or weren't open source ... for the most part died out.
> in the long run, price tends to marginal cost of production
Ah but this principle applies to commodity markets, where prices rising above the marginal level would prompt an increase in production from competitors or new entrants to the market.
Software is not a commodity though, nobody other than Adobe makes Photoshop, we can’t increase production of Photoshop. People can create competing products, of course, but that’s just a regular competitive market. This is also why movies and ebooks don’t cost $0.
> browser vendors are more or less forced to give it away for free
Yes but that’s not because of the market, the idea of giving it away free was to distort the market. It was done to crush Netscape and it worked. Now it’s done to grab as many eyeballs as possible and keep competitors off your turf. I think it’s possible that we’ll return to paid web browsers when the interests of the vendors and the users are more closely aligned - in a sense Safari and Edge are already there, as they’re both priced-in to their respective OS’s.
> the idea of giving it away free was to distort the market. It was done to crush Netscape
Oh this is interesting:
> [Netscape Navigator] Version 3.0 was also available in a "Gold" version which featured a WYSIWYG HTML editor (later added to Netscape Communicator as a standard feature), and was sold as retail software for profit.
It would have been interesting to see how things would have turned out had Microsoft been able to continue integrating the OS and web browser.
At this point I expect most users expect the OS to include a web browser and would consider it deficient otherwise. I'm not sure if it's even possible to replace Chrome with Firefox on ChromeOS.
You can install Firefox on ChromeOS. (At least I've done it on ChromeOS Flex.) However, just like Windows 98 used Internet Explorer for some of its internals (eg the 'live' Desktop), so does ChromeOS use Chrome for eg tweaking the settings.
There's a heck of a lot of "boring business software" out there, often quite niche, solving problems various businesses have. Anything that survives, just by virtue it has survived, has a positive ROI for everyone involved, including the customer.
Where is the supposed alternative going to come from?
Are people being paid to write that software suddenly going to stop and go build it for free? Are there random people that will suddenly develop an interest in figuring out how to automate filling out a bunch of Mississippi state government permit request forms, or how to convert an obsolete file format that's only used in the gas industry to another obsolete file format and FTP it somewhere, or how to convert customer orders to a cut lists used by a multi-million dollar industrial machine of which less than 100 exist in the world?
Are the customers (businesses) going to suddenly decide to hire up an engineering team and build this themselves, at probably higher cost than they pay today and definitely at way higher risk? Maybe they'll get together with a bunch of businesses with similar needs -- aka their competitors -- and pool their resources to build something?
I think none of this will happen -- or will happen in such exceedingly rare circumstances it's not worth considering.
Which means I'm pretty confident to say there will always be proprietary software.
I completely agree. We operate in a space where we rent out our proprietary software to businesses to solve a mundane business requirement. We wrote our own software.
We compete with other companies, some have their own (or some exclusivity) others make use of a generic package (closed source, but they supply anyone who wants to be in this space.)
Yes, having unique software means we can do things others can't. But really we're selling "the whole package" of which the software is only a tiny part. Mostly our customers are paying for service, support, statutory updates and so on. They are paying us to be around when they need us. That may be tomorrow, or 10 years from now, but our existence ultimately matters to them.
Maybe one day there will be viable OSS in our space, it may already exist. But if it does, no-one here is selling it, or supporting it. If someone does make it we, and any number of our existing compeditors, can happily pivot to it, with our existing sales and support infrastructure.
It turns out that having a unique product helps our sales process. We can differentiate on more than just price. But ultimately customers want support not source code.
Right, my startup work on compliance tech for the construction industry. Pretty gritty work trying to simplify and automate regulations that are constantly changing.
Only a scant handful of the open source alternatives in that table (Linux, git, gitlab, audacity, vlc media player) are compelling, if we use some measure of adoption as compelling. Most of the rest are all but unknown or so sparsely used as to be negligible compared to the software they supposedly displaced or will displace.
My (probably controversial) opinion is that this is because many (most) of these alternatives are developed by people with an ideology as their agenda rather than to meet market demands. The OSS alternatives in almost every case are inferior in terms of features and usability as a result of this.
I don't think the problem is that the development is agenda driven. It's more that the "last 10%" of work takes 99% of the effort. These alternatives look very good on a checkbox list but when you actually try to use them they just don't hold up and the work to get them there is immense. It's why almost relevant software has an army of workers behind them and more than just developers.
A few devs on there own are never going to be able to keep up.
I think our points are aligned. The agenda driven nature of the genesis of these alternatives is part of the reason few developers work on them. Which, as you note, is why the “last 10%” doesn’t get done.
That’s a fair point: but it doesn’t change the underlying narrative. The ideology motivating development of (F)OSS alternatives frequently produces software that is not as good as that produced by a market-demand ideology.
My initial diagnosis is that it's because of limited/nil feedback. Market driven projects at least have some sort of user feedback (e.g. early market research) that drives the development. It is often flawed but it's better than just a bunch of engineers assuming stuff.
I'd argue that LibreOffice, Inkscape, 7zip, Firefox, FileZilla, OBS, bitwarden are also well known, well used and compelling.
Hell, OBS is arguably better than anything out there. There's also Blender.
I think your bias is too strong. It's not so much controversial as misguided. People do things to meet their own needs and pain points and then products evolve. Having paid people behind products would make you think a product will be better but it's not necessarily the case. Also, different products might be better at different things (Firefox, despite some backsteps, is still more customizable than the closed source alternatives).
Yes, it is the hippie culture of the 70's community gardens and such applied to software, eventually everyone went to Wall Street and similar places during the 80's.
Similarly, after the FOSS wave, we are now back at models similar to shareware and demoware, because guess what, money is important.
> all software will be open source, and no one will make money with software.
The first half of that statement doesn't imply the second half at all.
Perhaps, in the future, companies will see the writing on the wall and plan on re-licensing their software under an open licence once they have made a profit from their initial investment (and built a community to maintain the code base going forwards).
Taking that idea to an extreme, companies could use a crowd-funding campaign to provide the initial capital, and make the code available under an open licence even while it is still being written.
The only hurdle to implementing that model is finding a community of people who would value some piece of software that doesn't exist yet, and who don't mind waiting for it to be created, although the crowd-funding could be done on a per-feature basis.
It's amusing that, according to the article, there has been a "compelling open source alternative to" twitter since 2016. Yet, the ending of the article is a request for the reader to share the article on... twitter.
It's not marketing imo, it's the type of social network. What made linkedin and facebook take off was the fact that you follow people in your real social network. Almost all my twitter followers/followees I've never met, so there is not really a viral growth coefficient.
While I am a big proponent of open source, a few are not good enough yet. The most important one being CAD. No CAD is good enough for serious mechanical engineering except commercial ones. The creative software (GIMP, inkscape) can replace Adobe but they are much harder yo use with worse integration between them. In the other direction, some OSS software are just way better than the commercial solution (I'd put OBS in those).
My recent experience with OpenCASCADE is that since the new FUSE algorithm was introduced for Boolean operations with fuzzy values [0] the library itself is definitely up to par for professional use. (Although it’s unfortunate that many API entry points do not advertise their newer versions, and many developers end up using slower, legacy algorithms). Recent development trajectory on OpenCASCADE has been quite impressive.
What’s missing is a compelling user application now, and this is tarnished by the kernels existing reputation. Case in point, shapr (an iOS CAD modelling app) switched away from OpenCASCADE in 2017, before development trajectory really took off [1]
Also, when searching OpenCASCADE in Google, you get hacker news comments like this [2]
Good examples. OBS is definitely superior. As much as I would like open source creative software, I recommend the closed source Affinity Photo and Designer as Adobe alternatives. Very inexpensive and extremely simple to use.
>Open source is coming for your business. It is just a matter of time before there exists a compelling open source alternative to your software.
Are we really taking this seriously in the booming world of proprietary software / SAAS culture? Come on.
"All software will be open source, and no one will make money with software."
What a load of bullshit. First of all, humanity would be nicely off to have a set of open source resources that are at least usable to participate in society. And we've not reached this point, yet.
Second, what about OTHER proprietary alternatives? It's not like closed source is a fun club where they all respect each other's hard work and only original ideas boom. Somehow after the success of Dropbox, Google Drive, Microsoft OneDrive and others become very popular. And no matter how many Syncthings and Open/Nextclouds there are, they still make a good amount of money - even Dropbox still exists.
Why Microsoft office and not Lotus symphony which predated it 6 years? There is plenty of open source typesetting software and editors that goes back to the 70s. Why use OO as the comparator?
You want a GUI? Abiword is 1998. A suite? Koffice is 2000.
Why not compare it with VisiOn or WordStar?
And Word came out in 1983, why not start the clock there? Office was announced in 1988, why not there?
Electric Pencil was 1976, that's where GUI word processing that led to WordStar, WordPerfect and MS Word really started, why not that?
Xerox BravoX was 1972, there was a commercial product called the Xerox 860 with it in 1974, why not that? Here's a commercial from 1977, I think that obviously counts: https://m.youtube.com/watch?v=lQb8hgg2gGs
Nope 1990. It's totally arbitrary
All of these have that same flaw. Before Netscape was Cello in 1993, MacWWW in 1992, both commercial. It was a mix of open source and commercial the whole time.
Besides, in the long history of software, what's open source? Are we talking the cabinets next to the TX-0 at MIT in the 1960s with paper tapes that you could cut copy and modify? The source code published for free in the zines and journals marked public domain in the 1970s through things like flexi-discs? People broadcasting software over CB radio in the 1980s? Only things released after the modern regime of copyrights was collected and cataloged?
It's just sloppy, arbitrary data and therefore invalid conclusions. This is bad science.
It has been about 35 years since Illustrator was released and IMHO it still does a lot of things that Inkscape can't do. "Time Till High Quality Open Source Alternative" for that one is about 12.7k days and counting.
I also don't know a single professional artist who uses Gimp instead of Photoshop. Krita's gotten some traction; Wikipedia says that one was founded on June 21, 2005, which is about 15y after Photoshop.
> It won’t happen overnight, it will start out as a poor alternative, but slowly growing to become the robust and cheap (in fact, free!) solution that everyone uses.
I'm not sure about that: plenty of people/orgs are okay with using software that someone else will be responsible for running and managing and therefore won't be interested in self-hosted offerings (though one could feasibly argue that there could be managed open source offerings).
In my org, I offered to help with self-hosted Mattermost/Rocket.Chat or another chat solution, since that would allow for a centralized platform for all of the company developers to get in touch and organically self-organize into interest groups, thus easing the friction of communication.
And yet, nobody was interested in setting aside the resources for an instance and getting everyone on board, so the plan never materialized, even though I also run my own instances for personal projects etc. So in the end people stuck around on multiple distributed Skype/Slack/Teams and possibly other chat solutions, it all being a bit too fragmented and sometimes there even being message history limits to deal with.
Indeed! Especially big corps seem to prefer software with clear licensing terms and a capability to license software for organization at scale. In that competition the software with better licensing options win, not the cheaper one necessarily.
And the cheaper software is cheaper only if you apply no cost to retraining, taking the product in use in your existing production pipeline and so on.
This writing is not very well put together and ignores several facets of large corporations.
It's an interesting article but I'm not sure that the conclusion is correct. The existence of a similar or superior open source solution does not guarantee that a proprietary solution will lose most of its users to that open source alternative; especially if there are network effects at play.
Also, when it comes to B2B solutions, network effects have a massive effect on the procurement process. The people who decide what software a large company should buy/use are more likely to buy from their friends' companies (or they might get some kind of kickback payment or job offer down the line)... So there is no incentive for insiders to use the free solution no matter how good it is.
I have thought this for a while. Open Source/Free software is like the Jason Voorhees in those old Friday the 13th movies (although with more positive effects). Sure you can outrun him for a while, but he is unstoppable and while you tire, he never will.
The economic factors that can undermine a closed-source project, and that seemingly inevitably will undermine most closed-source projects one day, have little to no effect on an open source one. An open source project just needs developer mind share and users, and it can go on indefinitely. And it doesn't need a lot. Maybe just 5-10 developers and a 100 users or so and it will keep progressing. And with a global developer and userbase to draw from, that is not a hard number to achieve.
That project by all rights should be dead. But 20 years have passed and it is still very much alive. And it keeps getting better. And one day who knows.
I feel like there's one area where open-source cannot universally replace closed-source: complex products that need to be extremely polished. Some people might be able to swap, but not everyone. An example is the desktop: I've used Linux for over a decade and still do but I recently added an M1 Mac and the hardware+software is just so much better for certain kinds of content creation. Video editing is another. I've tried a dozen video editors and while Shotcut is one of the best open-source ones, it's blown away by Davinci Resolve.
Raw photo editing is another area. Open-source has achieved some success here with darktable, and I personally use that, but it certainly can't (easily) replace some closed-source alternatives for everyone, especially in some more commercial photography settings.
I doubt there's a single reason for the staying power of proprietary software, that explains all of the examples. But here are some of my thoughts:
1. Really sweating the details of the UI, and managing the vast number of edge cases that users are uncannily able to discover, takes an army of programmers doing work that they only enjoy well enough to do it for a lot of money.
2. Not knowing what the software is used for gives the incumbent an advantage. They don't need to know -- just keep making the same thing, which is mainly what the user wants. Until they try to design Version 2, god help them. Anybody else is stuck replicating all of the incumbent's features. Programming tools don't have this problem because users can implement their own features.
3. The economics have to make sense. I don't pay for my annual subscription to <specialized technical software>, and it's chump change for my employer. A workshop that tries to cheap out on CAD will lose their designers.
4. A lot of software flies below the radar. I've never seen any of my employer's software products mentioned on HN, yet we're quite a big company.
5. Software tied to other stuff, such as hardware, databases (and data), etc. That stuff is effectively a dongle.
> Two things become clear with this chart... Second, the trend is downward
Um... No. The "trend" is due to the fact we don't know the future.
Seriously, it takes about 7-10 years for a OS project to take off, so you won't be seeing the 10 year replacements for proprietary software from 5 years ago.
The "trend" looks like more of a random distribution which narrows as it gets closer to the present.
There's a graph further down about this point. Both the minimum and the maximum appear to be dropping. Though especially with the minimum there might be recency bias at play here. It's not exactly a random sample of software we're looking at.
Open Cascade is not an (open source) alternative to AutoCAD. Also there is none. (people talk about OpenSCAD and FreeCAD but neither of them are comparable to AutoCAD).
Yes, this comparison is extremely weird. The author did not really do his homework. It's like saying libpng is a replacement for Photoshop.
To clarify: Autocad is a CAD suite used for 2D and 3D drawing production. In addition to that, it is used as an implementation platform for a large number of third party domain specific software for engineering disciplines that need more intelligence on top of the basic Autocad - HVAC planning, civil construction and so on.
OpenCascade is a geometry modeling kernel - a c++ library with no "end user" gui functionality or database. Yes, such a thing is a critical part in a software like Autocad, but only one small part.
True. Came here to say that. QCAD is somewhat of an alternative to AutoCAD. OpenCASCADE is a foss alternative to e.g ACIS or Parasolid.
It's potentially important as there aren't that many projects from the 80s in the list, so maybe has an impact on the trend line.
(a trend line that would look similar if you look at time between proprietary alternatives I guess... a fact of the increasing amount of time spent on software engineering?)
Netscape Navigator -> Mosaic: -692 days
Slack -> IRC: -9102 days
Yeah, I know that there are obvious feature differences but the list also has entries like BitKeeper -> Git and ManyCam -> OBS which are just as skewed.
That graph with the green 'blind spot' deserves some praise. A lot of people might have missed the (in hindsight) obvious censoring problem with the data and just ran with the conclusion that the duration is decreasing rapidly.
Yeah, there is a future that is not represented, so there is no reason to assume any downward trend. Plus he only sampled things for which there were open source alternatives (which are also questionable: e.g., AutoCAD - a full featured CAD tool versus Open Cascade, a C++ lib with no UI? Really?!).
The proper way to do such an analysis if different on almost every choice the author made:
1. Randomly, uniformly sample products/service over all time (somewhat difficult). Or better yet, make a cutoff date far enough the past to hide the fake triangle due to items being release last year.
2. Find OS alternative, it if exists, and most importantly, decide on some level of how much is is actually an alternative. Almost nothing on this list is an actual alternative, any more than a text editor is a MS Word replacement.
3. Analyze more carefully.
Post selecting products that fit a desired outcome, ignoring lots and lots of other products, ignoring the time bias, and calling things replacements that are not, then drawing these conclusions, is really bad analysis.
>it still takes years until it can outright displace the proprietary champion
How many items on even this biased selection list displaced the proprietary champion by killing their market? None? A few proprietary products died well on their own. And in this time frame, how many open source projects died?
I was just talking to another ex-Googler today, and he has a simple explanation for why products keep getting worse (especially Google's, but not just them):
PMs gotta get promoted
New PM inherits a successful product. They can't get promoted if all they do is keep it healthy and growing. No, they have to make a radical change, even if the product doesn't need it, and in fact their radical change makes it worse.
I could present examples of "fixing what isn't broken" but it would probably just be a dive into the deep end.
In any case, though, Mr. Staltz is wrong. Making a product usable is an art, and OSS projects very seldom have it. There is no one (a PM, oddly enough) to say "no, your new feature is stupid and doesn't fit with the rest of the product."
As other people have noted, this applies mainly to user-facing products. The developers do an 80% job and then split, and no one wants to do the shit work that comprises the other 20%.
This is not to defend stupid, greedy companies like Adobe, by the way. But yes, GIMP does suck, as many people have pointed out.
> All software will be open source, and no one will make money with software.
This is simply a very utopian claim and just isn't going to happen. One example is Microsoft Office which has been replaced by Google Docs / Office Online, etc and little to no-one installs LibreOffice directly.
Unfortunately, closed-source software is here to stay and the only absolute here is: There isn't any.
> This is simply a very utopian claim and just isn't going to happen. One example is Microsoft Office which has been replaced by Google Docs / Office Online, etc and little to no-one installs LibreOffice directly.
Well the world changed under LibreOffice's feet when the browser became a strong enough platform for office products. There is a lesson here: open source is slow, so don't just chase the present because it will become the past by the time you are viable. I can remember when some of the FSF's highest priorities were developing free software versions of RealPlayer and Flash.
Someone else on this thread already mentioned that what open source software does best is infrastructure, and I would add libraries to that. It definitely moves too slowly for cutting edge, modern application development unless a corporation is backing it.
This is only a utopian claim if you are a software developer who does not need to make money to live. Otherwise it's utterly dystopian and essentially reduces the developer to a provider of free labour. I sometimes think that open source is the greatest trick that late stage capitalism ever pulled.
How much market share did these alternatives take?
With few exceptions the Desktop OSS apps are simply inferior to commercial options because UX requires consistency requires both an organization that is hard to form in OSS, and it requires extreme amounts of dull repetitive work of specific roles (graphic/interaction designers) that are still rare in OSS.
Few of the larger applications in the commercial column will be significantly replaced by the ones in the OSS column or a future OSS alternative.
> All software will be open source, and no one will make money with software.
Most software is boring niche business software. Most developers work on software that most people will never hear about. And no one would ever create it unless it is to pay their bills.
> Most software is boring niche business software.
That would be enough to call the conclusion bogus; there are millions of software packages that are written in specific niches which would bore anyone to death. They are also often written over years or even decades with input from 10 to 1000s of employees of a company. There is always money in that for software. And you can say; ok, so let’s skip internal software; a lot of software starts as internal and becomes a packaged or saas product after. I know many companies who wrote very niche internal software over the years and then decided to start selling it to competitors.
The first edition of windows came out in 1985.
Since then, 1000s of software developers have
been busy developing new versions and features.
(some hit, some miss)
With a major redesign in 1993
have worked on it and
Still there is no open-source replacement that can match it
as a desktop operating system aimed towards end users.
The same is true of MacOS there is no open-source replacement that can match it
as a desktop operating system aimed towards end users.
MacOS in addition is solely developed for end users
unlike Windows which is also focused on Windows Server
and Linux where the vast majority of developmet is based
on server projects,embeded systems, etc not desktop
Windows allegedly has 1,5 billion -active- users
Mac has 100 million.
Desktop Linux allegedly has 33 million.
(leaving out Android phone users, since that does not match "desktop users"
This will probably be an unpopular view at Hacker News,
and there are plenty of stories of getting your friend, mom, dad, aunt, grandparents, etc etc switched over to Linux and how great it was.
But then Bluetooth, sleep, sometimes graphic cards, networking/wifi
has to be resolved unless you they happen to have a laptop that matches
100% to a Linux distro.
Yes there are good efforts on creating an alternative version of Windows
that is compatble but its not production ready.
I like to think of this as a paradigm shift from businesses focusing on vertical integration where the same entity develops and maintains client- and server-side software and infrastructure and acts as the sole service provider, to a separation of service providers and software maintainers. It's a natural consequence of specialization and commoditization. We're already seeing this in cloud computing and databases. Case in point from OP: Dokku/Heroku. There is no reason why Dokku should have been a threat to Heroku. Ideally open-source tooling should only serve to strengthen someone like Heroku (whether they would have continued as a PaaS or pivoted to selling their software or other services around it). For a more recent example, I think the window for introducing another Netlify under the same model on the same scale is closing.
This is not bad news for business per se, it just requires a different strategy. If your service is solid, you should just be grateful that someone else can provide client software accommodating for users needs you may be neglecting or lacking the resources to accommodate. If you're a software builder it's a win to have a flourishing ecosystem of service providers for users to choose from, increasing the usefulness of your software and widening your market through the efforts of others.
If you have a proprietary API (openly documented or not) time is ticking.
Rent-seekers will struggle as their capabilities to hold customers hostage weaken. Businesses focusing on providing customer value (actual experienced value) should do well as long as they match their niche with their strengths.
The analysis has a gap when it comes to products vs. solutions. A lot of problems these days are not solved by a big product but by integrating smaller often open source building blocks. Solutions that preempt products (or are never turned into products). The products of old and the market they lived in were different. It is not just that open source grew with respect to capabilities - the other side shrank too.
It is unsurprising to me that any software that was launched within the last couple years that also has an open source alternative would have had that open source alternative developed in less than a couple years time...
(I know the article mentions thr "blind spot" in the chart further down, but that's such a glaringly obvious issue that just acknowledging it as an issue doesn't make the conclusion any less absurd)
I can’t help feeling like we engineers are shooting ourselves in the foot with the open source culture: Most challenging and interesting work is turning into unpaid (open source) hobby projects. Professional software engineering is more and more about cobbling together various open source software, fiddling with configuration files and other menial tasks. Also, where is my “open source lawyer” or “open source doctor” whose work I can download from GitHub for free and file my issues / complaints with there?
I guess this benefits the mediocre software engineer (who can now accomplish things by cobbling together open source that they would never be able to accomplish from scratch), and perhaps it’s also a plus for the top 0.001% who are good hustlers too and can make a career out of touring around conferences as some kind of nerd celebrities. But for the skilled and professional engineer (say top 5-25%) I’m starting to feel it’s a trap.
(Open source is great for basic infrastructure though, like operating systems, compilers, interpreters, frameworks like TensorFlow or PyTorch, etc. I’m definitely not against it in general.)
Many law firms and lawyers offer pro-bono services to those that qualify. There are even lawyers and law firms that contribute to open-source organizations on legal matters regarding lawsuits and licensing. Many court motions and filings are accessible to the public if you visit the courthouse and there are organizations that make case proceedings publicly available on their public websites.
There are also medical clinics that offer medical services across the United States to those that qualify. Many medical studies and patents are publicly accessible on the web. There are organizations that offer compensation and health-care for those willing to volunteer for medical studies, questionnaires or clinal trials.
Additional lawyers and doctors offer “free” work that grow their business. Why do you think some lawyers offer free consolations. Why do some dental offices offer free cleanings or free consultations and exams when patients are looking for braces?
When folks equate “free” and “opensource” and mention “doctors” or “lawyers”, they imagine the lawyer working on their probate and wills for free or representing them on traffic accidents for “free” and in reality, that’s never going to happen.
> It is just a matter of time before there exists a compelling open source alternative to your software
The word "just" doesn't fit that sentence. Most commercial companies offer products and services for which it's "just" a matter of time before they become obsolete, irrelevant or unavailable. This may be due to technological reasons (propeller passenger aircraft which gave way to jets, sailing ships which gave way to steamers etc.) or social reasons (e.g. rigid-structured wide dresses - or for that matter, last year's fashion lines).
I believe in Open-Source - and Libre-licensed - software. But that argument is rather weak.
Also - it seems to me like most software which runs "closed-source" hardware - be it cars, household electric appliances, etc. is likely to stay closed, since such hardware is developed and released routinely so there is always a reverse-engineering challenge before that can be opened up. And usually, there are not enough people with enough interest to reverse-engineer "all the things".
> In the future – and maybe it’ll take a couple more decades – all software will be open source, and no one will make money with software. And I think that’s a good thing.
Ignoring open source "alternatives" with UX so poor I'm still glad to pay for the proprietary thing. Ignoring all the web-based stuff for which a large part of the code is behind a closed source API.
Interestingly, this list mostly covers desktop applications and social media. There's a couple of outliers, like Linux, the Siri and Google translate alternatives, but I noticed many missing categories. Relational databases, accounting & tax preparation, CRM, document management, and so on.
If you look at the list something becomes obvious: it’s mostly software used by other programmers. If the software isn’t directly targeted at software developers like gimp is, there will be less success.
If you look a B2B Software software developers never will use, often there exist no open source solutions.
What exactly is "software" though? Is it just the code, or does it include the whole tech infrastructure that runs it, or even all the business agreements that makes the service possible and makes it all available to the end user? For the average user, the perception of software is increasingly shifting towards the third definition.
I agree the first definition can be cloned fairly quickly, but the second is tougher, and the third requires cloning of practically the entire company operations. Imagine how hard it would be to, say, make an open source clone of something like Netflix, INCLUDING the vast majority of the video content provided -- all legally, of course!
I think this hinges a great deal on how strict the definition of OSS is.
There’s a (generally positive IMHO) trend towards more SOTA stuff being source available over time, but if it’s part of your business you’re paying someone to maintain and support it (even if it’s yourself). And a vibrant range of options from elite proprietary niche stuff to radically-licensed free software is a great thing!
Compilers are a great case-in-point: for ages ‘GCC’ was knocking the stuffing out of much/most commercial stuff, at the moment the pendulum has swung almost completely over to LLVM which is like, way more tied into industry, and maybe it swings back at some point.
There is a reverse transition to monetize the open-source versions with a hosted-service also. Lot more products being built "in the open" these days.
Anyway, it is kinda interesting to see that it doesn't take long for copies of a new tech to show up. Zero-to-one seems sporadic, but immediately we see the market replicate it.
Recently seen with something seemingly complex like DALL-E. Didn't take long for the comparables to crop up. Some of them must be open-source, I am not aware of that aspect.
Apple Airpods was another one. Almost within a year, there were other earphones available in that form-factor.
There are no rows in the table for proprietary software that hasn’t been OSA’d, and the rows that are there take no head of market size or adoption rates of the alternative.
Therefore the chart can only possibly trend downwards because the X axis is a date from the past until ‘today’ and the y axis is the number of days since that date that something pretty arbitrary happened.
Think of the X axis as “Days Since 1970” (0 - ~11,500). The maximum Y value is bounded by y = 11,500 - x.
Being an alternative does not mean one product will replace another. GIMP will never replace or kill Photoshop. It will be an alternative sure, like tea, coffee, beer are alternatives/substitutes for water.
GIMP has sort of similar functionality but nowhere near the same polish or community or marketing or simply $$$ behind it.
OSS can only kill and replace closed/paid products where it can match the factors I mentioned above that goes beyond functional parity.
There could be an open source alternative to our software, yet it will be much harder to have an economically competitive open source alternative to systems or workflows. Amazon's Open Search Service, for instance, is just a control plane on top of Open Search (and Elasticsearch some time ago), yet so many companies flock to the service because they simply do not want to be bothered with manning a search service.
I think open source is a kind of compensation for the fact that our political economy doesn't create meritocracies, analogous to how when one part of your body is injured some other part compensates. The compensation isn't "good" in the sense that it's bad to be injured and therefore to need it, but without the compensation things would be even worse.
Assertion 1: "All software will be open source, "
Assertion 2: "and no one will make money with software."
The data on the page only demonstrates the first assertion, at best. Even that should come with a caveat of distinction between the software itself and the business model around it that makes it sticky.
There is absolutely no reason why open source software couldn't make money.
Very good question. The answer doesn't exist today, unless somehow billions of dollars pours into ReactOS for it to be compatible with Windows 11, but another utopian and unrealistic chance of that happening.
We are looking for a full desktop open source to Windows so GNU/Linux doesn't count as an alternative, and neither does Wine. But the closest to answering that is ReactOS despite it not being a realistic alternative for the end user today.
I meant a modern GUI oriented OS that's stable (see glibc 2.36 breaking EAC and other apps*) and nice to develop for.
Compatibility with Windows or POSIX would be amazing but not required.
* Yeah, I get it. Changing from `DT_HASH` to `DT_GNU_HASH` had to happen at some point. Backwards compatibility is a real chore, and not what glibc maintainers bound themselves to.
Whilst it's not particular nice to develop for, Android sits on the Linux kernel. I haven't heard any convincing argument not to consider Android a "Linux for the desktop", in the sense of mass adoption and people using it as their everyday device.
Yeah. I've been hearing about Linux Desktop for the last 20 years. It's 31 year old.
I think either desktops will disappear (replaced by commodified computers like Androids/Chromebooks);
Or a large company will set some kind of standard what Linux OS is; Or some other OSS OS will not make same mistakes Linux did and guarantee a saner target for app development than current Linux.
I want (3) to happen (e.g. Serenity OS blows up and just devours Linux marketshare). I suspect (1) will happen - Microsoft/Google/Apple just make their locked down garden and Desktop computers go the way of the Dodo.
In many cases I use opensource. In a few instances I want a company that supports their products, makes bug-fixes, and is responsive to the concerns and needs of my company. In yet other cases, I need to prove the utility and deterministic longevity of software without philosophical arguments. Yes, much software that is opensource is not as good as for-profit software.
I don't understand what you want to explain in the monetization part. For example, things like hasura, supabase are open source. but they can make money by selling their own services. and there are other examples like this. I think the author's point of view is too romantic
This rings true for all my personal products. Last one I built and soft launched quietly. Then within a year there was a FOSS project covering the same killer feature, that none of my commercial competitors had (or have yet). Previous product had a FOSS alternative within six months.
The first example in that doc is Sublime Text. "Unfortunately the only thing going for Sublime was that it was first-to-market with a few novel ideas, most notably multiple cursor editing." That was clearly written by someone who hadn't used Sublime.
Then Github is mentioned as making money from the data they collect. You need to understand Github is Microsoft. From our perspective they make money from the enterprise agreements for security and code analysis they offer through Github. That is what pays for people's free use.
Finally, the article closes with Word and Excel being useless. As much as I dislike those programs, they work. None of the free alternatives can share files without there eventually being unfixable file format problems. When working with your boss, you need to use the same program in order to share files. None of the alternatives work.
Why would it be wrong to earn money selling software ?
Or why is it good that you earn less and less money for writing and publishing software ?
I don’t get it.
It's perhaps wrong because there is no limit on supply, infinite copies can be made. To charge for such a thing doesn't reflect the cost to make or acquire the software.
However, usually people are talking about free as in freedom, and cost is simply irrelevant. There's proprietary freeware as well as free software that is sold. It's about what rights the copyright holder grants the users via a license. You can sell your friend a CD with Emacs on it for $5. It is not forbidden.
There is a limit to supply: the number of hardware unit able to run it.
Cost isn’t irrelevant. Either you burn software on floppy, cd or make it available over internet and download, all those have a cost. Also between cost or RD and development, documentation writing, there cost after sales with customer support and product patching.
Open source is like blogging. You bear the cost (hidden or not) to publish you work for which you are very rarely paid (directly or indirectly).
Once published, you lost control of potential benefit over your work,
I clearly remember the gpg développer calling for financial help after more Than 20years developing almost alone this crucial piece of software with almost 20k euros yearly income from standard job. I was working in paiement industry where this piece of software is the key element of the business protecting file transfert containing millions of euros. The company benefit was around 6billions euros a year and all this would not have been possible without a pci-dad certification based on gpg. Is it normal ? When I inform them that the author of their key piece of code so important to their business was struggling with just basic living, they didn’t move a finger. While myself as a self employed was. One of the first to send several hundred euros to this poor guy.
Once the new hit major info website, then Google or Facebook transférés some money, in an public relation initiative.
So this case is typical of why OSS is a financial failure.
When I patched ansible, I worked, I spent time and done intellectual work for this project, adding value , easing and solving problem users faced and extended the possibility of the software. When it was bought by redhat, I didn’t get a penny for my work. My family didn’t benefited from my work, as a father I failed to feed them from my work. So who can rejoice of such situation where work isn’t rewarded ? (Beside getting a little Github medal for having a PR accepted)
Having heard this kind of argument since the late 90s, I’m amused that it’s three HN links up from GIMP finally getting some CMYK support after ~25 years.
it happens the other way too. I used to contribute to a small ssl VPN project (adito) that was 'aquired' by barracuda networks. It was forked and picked up by OpenVPN (as openvpn-als) but development stopped. I believe it's still updated internally and forms part of Barracudas firewall offering.
weird, most of the web alternatives there are not noscript/basic (x)html friendly. For instance, I cannot even browse the directory of owncast! Peertube gives me a blank page. Google financed blink/geeko or apple financed webkit only for those alternatives... :(
Whoever the eff wrote this is an effing genius. I have been thinking about this for sometime how majority of the saas businesses will be taken over by oss. Saw this first hand in server software. But the analysis done and the tabulated view and chart blew my mind.
All power to the author and the passion for open source is admirable, I just don't think we'll be seeing a world in "a couple more decades" where all software will be open source.
The assertions in the opening sentences seem flawed due to selection bias in the supporting data. Out of the entire universe of software, the subset of examples are hand-picked pairings of commercial + open source software. There is little consideration given to the abundance of software without an open source alternative, whether the selected alternatives had meaningful impact on market share, products that started out as open source only to be outcompeted by a commercial clone of the work, etc.
Anecdotally I've seen many commercial products copy innovations from open source alternatives. Could it be possible that having an open source alternative provides a risk-free and cost-free testbed for innovation? Open source software could in fact be a boon to an established product. Anyone considering starting an open source product would want to be aware of this threat to their success. Definitely a more in-depth study would be required to establish any sort of certainty.
I've worked on projects across many industries and am no longer surprised by the abundance of niche proprietary use-cases where the established product is deeply ingrained in the very culture of the job, where an open-source alternative would require extremely deep domain knowledge and years of development (in many industries where having development skills is rare). For someone to come along and attempt to make an open source alternative, they would need to be dissatisfied with the commercial product, have the domain expertise, and be a competent developer with time and resources to build an open source alternative, and then have to battle against the momentum of literally everyone being trained and used to using the existing toolchain. That's not even considering that many algorithms are proprietary so simply building an open source replacement runs the risk of infringing IP.
Whatever the use-case, and aside from academic or passion projects, all software development arises out of necessity. In these niches, it's usually a desire to improve accuracy, reduce time spent on repetitive and arduous tasks, and generally just de-risk and improve efficiency. These needs generally arise in-house, and where no solution exists, companies will contract a developer or outsource to an agency and subsequently retain the IP for competitive advantage or license out its use.
In order for open source to truly replace all commercial software, the entire culture surrounding this would need to change, and this is not a software problem but a social and economic one, and without a paradigm shift I think the status quo is more likely to continue - as long as there are businesses competing in diverse and niche technical fields, proprietary software will continue to be built.
For example, adoption of GIMP has not likely materially increased over time (as a relative percent of total addressable market)
IMHO, what the author gets wrong what so many people who claim this (they are not the first, or the last) get wrong - open source as a whole sucks at building products, but is great at building infrastructure. (and pretty good at infrastructure products).
If you go look at areas where an open source thing is a de-facto market-leader, they are mostly infrastructure. Not all, but the ones that aren't have clear product management of some sort.
That is - the good open source products are often built/driven either by extremely product focused people (This is rare), or by companies driving them with PMs.
Not that the engineering doesn't matter - of course it does, but if you want a good and successful product, engineering is just a part of what is needed. Sometimes not even the main part!
Open source focuses mainly on the engineering part, often creating technical meritocracies that focus on making "The technically best software".
This is totally cool, but also totally orthogonal to building "a good product that people want to use".
Secondarily, you have the issue of survival in marketplace (IE There are a rash of OSS companies achieving near 100% of total addressable market share, and still going bankrupt due to inability to monetize). This, however, is not as big an issue as the first (as people can always still pick it all up when that happens)
Open source could always get better at products, but its historical development models were geared towards exactly the above (IE it does what it says on the tin)