Hacker News new | ask | show | jobs
by blip54321 1474 days ago
I think most of us value our freedom more.

Most people don't think of it in terms of freedom, but freedom it is. With proprietary software:

- You don't know when it will disappear or be discontinued. Even your paid-for existing version stops working when the activation servers go down.

- You might be forced into an "upgrade" which breaks something you rely on

- That's not to mention issues like being able to fix bugs yourself, extend it, or understand it. I don't do this often directly, but something like being able to understand a file format my data is in or similar is common

I don't mind paying for things, but things need to be a lot better on other axes before this one becomes the most important.

My experience is that:

- Things I did decades ago are sometimes useful. Nearly 100% of the time, if this was in a proprietary system, it's gone or unusable. My LaTeX files still work.

- Companies switch between growth mode and cash cow mode. When this happens, the cost to me is almost always higher than the initial benefit over free.

- Which is better on other axes goes back-and-forth. An investment I make into a tool now doesn't mean it will be the leading tool in five years.

- Those sorts of long-term considerations are almost always more important than short-term technical stuff.

11 comments

Most of your points also apply to open source software, and aren't strict requirements for proprietary software.

- discontinued: Atom just got discontinued. It's open source. Photoshop on the other hand has withstood the test of time.

- Audacity's 3.0 update removed a feature I relied on. I wasn't forced to update to it, sure, but proprietary software doesn't force updates either.

- Being able to fix your own bugs is a great part of open source! But not something most professional software developers really expect to do for their IDE.

- open source formats are probably more resilient than closed source, but I would argue many proprietary formats are also pretty resilient. Code is also based on plain text at it's core, like latex, so it's always going to be pretty resilient.

- you'll never have a guarantee that a tool you invest time in or money in will be the leading tool in five years.

> discontinued: Atom just got discontinued. It's open source. Photoshop on the other hand has withstood the test of time.

But if I want to use Atom I can fork it, or keep the source around. It doesn't go away from my environment until _I_ say it does. And Photoshop has become more and more user hostile over time.

> Audacity's 3.0 update removed a feature I relied on. I wasn't forced to update to it, sure, but proprietary software doesn't force updates either.

It is impossible for libre software to force updates, and quite possible for proprietary software to do so. It's part of what pushed me away from Windows in the first place, and other apps (especially web, but also other stuff) also do so.

> Being able to fix your own bugs is a great part of open source! But not something most professional software developers really expect to do for their IDE.

While it isn't expected, it's definitely a nice-to-have.

> open source formats are probably more resilient than closed source, but I would argue many proprietary formats are also pretty resilient. Code is also based on plain text at it's core, like latex, so it's always going to be pretty resilient.

But with libre software, I don't have to wonder. Even if a project uses an obtuse, obfuscated binary format I know I'll still be able to read it (with a little prep work). With code this is less of an issue - as you note - but you did mention Photoshop earlier, so I'm assuming we're talking about software in general.

> you'll never have a guarantee that a tool you invest time in or money in will be the leading tool in five years.

I don't need it to he leading, I need it to be around and functional. Pretty confident Emacs/(n)vim will be here a couple decades longer at least. I believe this was GP's point - that it's better to worry about what will work best in 10 years, not what's standard now.

> But if I want to use Atom I can fork it, or keep the source around. It doesn't go away from my environment until _I_ say it does.

This is technically true, but in 99% of the cases is not realistically true. Most developers who use said FOSS external dependency do not want to actively maintain it themselves.

FOSS supporters always say this as if we live in a reality where knowledge and time are infinite. Yes, the licenses say you can legally do things, but they are hardly ever realistic.
Well, you don't do the maintenance yourself, you get some bored person to do it-- the important thing is they're not on a payroll and the result isn't someone's IP. Right now this strategy probably seems insane, because we are all so well compensated that the opportunity cost of working on OSS for free is massive, but sometimes you get 'lucky' and a software downturn frees up some engineering hours for further pro bono work on OSS. Pretty sure that has happened several times already, might happen again soon.
For the atom case, it seems some users are going to continue to maintain it: https://github.com/atom-community/atom/
Might be more interesting to follow the next editor the author is working on.

https://zed.dev/

“It is impossible for libre software to force updates”

This isn’t even close to being true

If it did you'd just build a version with the offensive code removed?
If you have the skills. The large majority of humanity does not
That's like saying that hardware should be only repairable by vendor because majority of humanity doesn't have skills to fix it themselves.
Ah yes. I have the time and the knowledge to "just" remove that code and "just" build that version. When even the simplest libraries can't usually be built using the instructions the authors leave for them (if they even do that)
You don't have to remove the code, you can just pin the version you're using and go for quite some time (sensitive to security context). Most builds are pretty easy to do with 5 minutes of following instructions or whatever build tool. I did this exactly thing with termux (an app I relied on) when they removed sending sms due to a google rule change.

Also, you only have to do it if you're the only one left. Chances are very good that there are others in the community that may step up wholly or in part. Sure the risk is non-zero, but the point of freedom is that you could if it came to that.

Maybe you don't, but somebody else does.
Any evidence to back that up?
I think Gnome / GTK is a good example. Famously, the Budgie Desktop Environment will have to be rewritten on top of Enlightenment because they don't like the GTK 4 changes. So now they're forced to go to a different widget system. [1]

[1] https://joshuastrobl.com/2021/09/14/building-an-alternative-...

Your use of "forced" is interesting, because to me that doesn't sound like "force" at all, rather a "we don't like this thing so we're moving" which is a free choice for technical reasons.

Force to me is like what Amazon does with kindles. If it connects to the internet, it will update to the latest version whether you want it to or not. If you don't connect it to the internet, you can't use it.

Its a technical decision. Nobody is forcing them to do anything.
Sure, that's a good example of something else, but do you have any examples of any forced updates?
> - discontinued: Atom just got discontinued. It's open source. Photoshop on the other hand has withstood the test of time.

If you like Atom and still want to use it, you can fix potential bugs yourself and make it evolve, you can't with a proprietary one. You can also fork if project take a different direction that you would like. When gnome3 came up, some people who preferred the gnome2 desktop metaphor started mate and cinnamon, the former forking gnome 2 to port it to gtk-3 while the later forked gnome3 to adapt it to work more like gnome2.

> - you'll never have a guarantee that a tool you invest time in or money in will be the leading tool in five years.

Nobody has to use the leading tool. My preferred IDE is neovim which is kind of a niche project. While they are the leaders there is no reason for me to use Visual Studio or Visual Studio Code if I am not comfortable on them.

> If you like Atom and still want to use it, you can fix potential bugs yourself and make it evolve...

If "you" is "a company or sponsored non-profit with sufficient development resources to dedicate some to taking over and evolving the editor," sure. If "you" is me, and I suspect 99.99% of Atom users, this seems like a pretty unrealistic ask.

This isn't a criticism of the open source model, to be clear, but this has always struck me as one of the weaker arguments for it having an advantage over closed source models. There are certainly examples of successful forks and revivals, but there are also examples of projects that never got sufficient uptake to continue when the original developer moved on (e.g., the Ted RTF-based word processor), and probably many more projects that just seem to exist in a kind of limbo state, technically still developed but not really seeming to put much effort into keeping up with the world -- off the top of my head, Unix's JOE and JED editors and the famous native Mac editor TextMate, which arguably inspired a raft of later editors including Visual Studio Code. And in practice, closed source projects that get a sufficient level of usage are likely to stick around and keep being developed, too. There are always exceptions, but usually if something continues to be sufficiently popular -- which, in the closed source world, is roughly equivalent to "profitable" -- it's going to keep being supported.

> If "you" is "a company or sponsored non-profit with sufficient development resources to dedicate some to taking over and evolving the editor," sure. If "you" is me, and I suspect 99.99% of Atom users, this seems like a pretty unrealistic ask.

I've used several projects (mostly libraries) that got abandoned, and only two I had to adopt and maintain myself, and those were pretty low maintenance. If there is a community around it, somebody (who isn't you) might step up, so you don't have to do it.

The original point was how much time and effort is spent to save a pittance in the grand scheme of things. You're confirming how much effort is spent by rich engineers not to pay money. I know there is a principle, but in the end it's still so much effort.
There is nowhere mention about money in that article.
> Most of your points also apply to open source software, and aren't strict requirements for proprietary software.

Except I can still use discontinued open source software like Atom.

Try installing an older version of an app on an old iPhone. The app store won't let you. You might be able to jailbreak the phone and track down an older version of the app, but it's a pain and Apple makes it as difficult as they can for you instead of just letting you download the version you want from their store.

> Except I can still use discontinued open source software like Atom.

The same thing can be said about desktop proprietary software, so long as it does not rely on a cloud service to function.

> Try installing an older version of an app on an old iPhone. The app store won't let you. You might be able to jailbreak the phone and track down an older version of the app, but it's a pain and Apple makes it as difficult as they can for you instead of just letting you download the version you want from their store.

iOS is an extreme situation, but we are talking about desktop apps here, desktop OSes don't have these kinds of restrictions.

That said, open source have this edge that if it's just too obsolete for the dependencies, you can hope someone would patch it if it's popular enough. It would be harder to patch a proprietary app. That may not matter as much in the context of Electron apps as the web platform is pretty stable. Not sure about the Java thing Jetbrains IDEs are running on though.

> The same thing can be said about desktop proprietary software, so long as it does not rely on a cloud service to function.

Please, launch 32-bit program on recent versions of Mac OS.

This is why I don’t, nor will ever use a Mac. Backwards compatibility matters.
> That said, open source have this edge that if it's just too obsolete for the dependencies, you can hope someone would patch it if it's popular enough. It would be harder to patch a proprietary app.

IMHO this understates the difference, severely. The open source app can be maintained by the community for as long as it has a community. That includes not just dealing with dependency obsolescence but also new features, redesign, porting to new platforms… anything that would have been handled by the original team.

The proprietary app, on the other hand, will be near-impossible to patch for even the most trivial of changes without the original source code or build environment—and let's not forget that distributing the modified version would be illegal; at best you might get instructions for patching your own copy. And of course there won't be any growth in the user community since there is no (legal) source for new copies. Existing users may be able to struggle along on their own for a while but this is ultimately a dead end without support from the copyright holder.

Surely that's a good point and it would definitely help, but just because something is open source does not necessarily mean that it will stay alive in the way you describe it - especially redesign or new features. Patches is the best the user of an abandoned app could hope for.

My point was mainly in the context of Electron desktop apps, an abandoned, proprietary Electron app would probably run for at least 5 years * without touching it after it's abandoned. Further from that point patching it so it works would not be that hard. On the other hand I imagine an unmaintained C++ desktop app could decay pretty fast if it depends on some external lib so here a proprietary app could indeed be very hard or next to impossible to patch.

* I did not consider security patches though, if an Electron app processes potentially untrusted third party files and / or connects to external services, it may require security patches and that would be also hard / impossible to patch, I agree here - though updating its Electron binary could go a long way with security, which is not that hard.

Edit: Ok, I guess there may be issues with Electron too. If Electron binary is kept up to date, Electron deprecates some APIs regularly and that could break it. So it's either that or running a very old Electron instance - which may or may not be fine, depending on the app and how it's used.

> … just because something is open source does not necessarily mean that it will stay alive in the way you describe it - especially redesign or new features.

True, being open source doesn't guarantee that the app will be maintained. It does, however, provide the legal framework to make it possible. If the app has an active user base then it's likely that someone would step up to take over the development, and the open source nature of the project means that the new maintainers are not starting at a significant disadvantage.

> My point was mainly in the context of Electron desktop apps, an abandoned, proprietary Electron app would probably run for at least 5 years * without touching it after it's abandoned. Further from that point patching it so it works would not be that hard.

Okay, so you're assuming an app distributed mostly in source form to begin with. That's fair, but an Electron app can be minified or obfuscated (and in the case of a proprietary app, probably would be) so it wouldn't necessarily be easier to work with than a compiled binary. You also still have the copyright issues which would make it difficult to collaborate on any patches.

I'll my personal experience as someone who still prefers many proprietary softwares over open source (assuming the price is fair and the features are much much better):

- Photoshop is a market leader so definitely an exception. I personally miss apps like "Made with Mischief" which had unique features that I loved that are still not yet replicated but have completely disappeared and the only way to use them is to find shady places giving out cracked versions (even when I have a license).

- If there's enough demand for a feature, you can fork and bring it back. Waterfox is a popular example of push-back to some of Mozilla decisions (like killing XUL) and is still maintained and loved.

- I love thinkering with formats, but unless you rely on the reverse engineering community at large picking your favorite format apart, you're not gonna get far without a lot of background. I use Affinity Photo/Designer, two popular alternatives to Photoshop/Illustrator, which use their afphoto/afdesign formats and there's no published spec about them. If I ever wanted to do a tool that deals with them I'd have no starting point.

> discontinued: Atom just got discontinued. It's open source. Photoshop on the other hand has withstood the test of time.

Photoshop has not withstood the test of time for me. I did a lot of Photoshop a few decades ago. I can't afford > $1000 per year for a hobby. My old Photoshop files are dead, for all intents and purposes.

I do occasionally use decades-old, unmaintained open-source tools to open old files.

> Audacity's 3.0 update removed a feature I relied on. I wasn't forced to update to it, sure, but proprietary software doesn't force updates either.

Yes, it does. Cloud-based, you have no choice. Installed, increasingly, you have no choice either, since activation servers get taken down.

> Being able to fix your own bugs is a great part of open source! But not something most professional software developers really expect to do for their IDE.

It's a check-and-balance. I fix issues maybe in 0.0001% of the tools I use, but when I do, it's really important. With proprietary, you can work 70 hours per week for five years, and invest your blood and soul into a project, and be left hanging at the end, because you're reliant on someone else.

With open-source, you bite the bullet, fix it yourself, and keep chugging along.

> you'll never have a guarantee that a tool you invest time in or money in will be the leading tool in five years.

My experience is that "leading tool" is way oversold. The difference between JQuery a decade ago and React today is important, but even a huge difference like that won't make-or-break a business or a project. Technology is easy. If I needed to write my stuff in FORTRAN, I'd be less productive, but in the end, I'd learn FORTRAN and get the job done.

It's not a reason I'd pick proprietary over open-source.

What is important is all the other stuff. If you've bought something from Oracle or Google -- who are famous for this -- and they discontinue your product or ramp up licensing costings 100x once you've built your infrastructure around them, that CAN and WILL break a business (or a personal project).

Startups have a short half-life. Big businesses have a longer one ("No one got fired for buying IBM"). Open-source is eternal.

Legacy is important. If you don't believe me, have a look at all the FORTRAN and COBOL code still running on old mainframes. If you don't take long-term into account, you're unlikely to do anything lasting.

> I can't afford > $1000 per year for a hobby.

In the UK a year's license for Photoshop, Lightroom and Bridge is approx £110.

That doesn't help him if he doesn't live in the UK though?
No but I can't believe US prices are almost ten times more expensive. If they are, he has a point
> I did a lot of Photoshop a few decades ago. I can't afford > $1000 per year for a hobby.

Adobe's Photographer Plan, which includes Photoshop and Lightroom, is $9.99 a month, $119 a year. Not sure where "over a thousand dollars per year" comes from.

CS suite subscription. I also do illustrations, edit videos, do page layout, etc.

I used to have Photoshop, PageMaker (then Quark), etc.

Price is $55/mo, which comes out to $660 per year. Apparently, I misrecalled the price.

But I can't afford $660/year either, for a hobby.

lots of modern proprietary software does require a license to to continue to use and cloud version are updated all the time without any input at all for you.
Software like Photoshop exist because of software patents and lawyers, not because they legitimately make the best product. If we stripped their parents and any ability to enforce IP we would have an OS replacement tomorrow.
To piggyback off this, another reason that I think software freedom is valuable is community support. Things like LSPs, syntax highlighters, and that sort of support doesn't have to wait on JetBrains to integrate it into their IDE. I think there is real value to the community being able to hack on a tool and not being at the whim of a single developer's priorities
Except for core functionality, everything in JetBrains' IDEs is written as plugins (grammar checking, themes, support for Go/PHP/Ruby/Python/Android/framework of the month, the list goes on). You just don't notice it because of good integration with the rest of the editor (unlike how it's done in Eclipse).

Those can be (and are) developed by anybody. For example, IDEA has had absolutely the best Rust story for many years, and the Rust plugin became official only recently. It was created and developed for years before that by a single developer not affiliated with JB (and still blew all other editors out of the water).

I just adapted the intellij-rust plugin from https://github.com/intellij-rust/intellij-rust to syntax highlight Rust slightly better. It works just fine, and I had to coordinate with nobody. Just edit file, build plugin, install plugin to the IDE (using the menu in the GUI interface). That's it.

Most of the stuff of Jetbrains is open source (under Apache Software License) and is available on github.

I know what you mean though: I would never again use a closed-source IDE, or a language with closed-source standard library. Microsoft Visual Studio made me learn that, decades ago.

You can write and publish your own plugins for JetBrains IDEs.

https://plugins.jetbrains.com/

You can also sell your plugins, but it does feel less "good" to be adding value to a commercial product that you're not a part of. By that, I mean there is somewhat of a sense of community around OSS that you can't replicate within a commercial space.
I feel sentiments like these are straight paranoia. Nothing is forever. And I actually don't think I have experienced a paid piece of software suddenly changing or disappearing or causing headache. Yet, this happens all the time with free, open source software. The person developing it stops, it gets forked, now there's two versions with one the popular one but not developed and a forked one being developed but not popular, and the whole thing is difficult to contribute to because it's a big ball of mud.

I will absolutely pay for software. What's more likely to cause issues? A company getting paid to develop useful software or some free, open source software where the developers have their own little fiefdom? Issues get closed all the time or ignored and then when you push the issue you just get told "that's not the way I do it" or "we're all volunteers and not paid, contributions welcome". Well yea, I would contribute if it wasn't impenetrable and I had confidence the contribution would actually be accepted. I have successfully contributed to larger projects where these things are taken more seriously, but they are the outlier.

- You can keep your editor with Jetbrains even after the license expires, you just don't get updates. - They never force you into updates. - Many of my LaTeX files from 20 years ago don't work anymore unless I go back and go use old versions. - Your IDE does not modify your source code so your source code stays in an interpretable format.

I agree that you loose the ability to modify and adapt your editor (beyond plugins but that's still pretty limited compared to what you can do with emacs for example)

Using an editor doesn't force you to stay in a relation for life. if Jetbrains turns into a cash cow, I can go use any editor I want. Outside of muscle memory and preference, I have 0 dependency on them.

> You don't know when it will disappear or be discontinued.

I've been using Visual Studio pretty much every working day for over twenty years. I have zero worries that is will disappear any time soon. I still think its the best IDE out there, and I've never felt that my freedom was being compromised by using it.

You are so incredibly wrong. Visual Studio was a horrible IDE for most of the past 20 years, relative to competitors. Quite literally the only reason it picked up marketshare was that it supported new Windows features before Borland could. Borland was miles ahead in every other respect.

Microsoft continued to suck, in virtually all respects, relative to competition, until around 2015.

I don't quite understand how Microsoft suddenly became competent, and released an awesome IDE, but that's a very new phenomenon.

With proprietary software:

- You might be forced into an "upgrade" which breaks something you rely on

GNOME devs are laughing at this very hard right now while they look at your maximize icon. As of today, half baked decisions are still being made and forced to users all around.

Like Gnome Terminal, where if you Select All, then Copy, it only copies the currently visible text, not the "All" you just selected. A conscious decision that was first made to work around some memory issue, and was later left as permanent behavior with no resort for users to revert back and absolutely no way to select and copy all text of a terminal. And it shipped for everybody to enjoy on the latest Ubuntu LTS. Nice.

EDIT to mention that indeed it's nice that Ubuntu themselves would be in a position where the change could be reverted for their users, if they wanted. So that's indeed a very positive property of Open Source. Albeit assuming everybody has the means, the time, or even the ability to make such changes is kind of naive. But the possibility, yeah, it is there after all, and that's a good thing.

Devs don't pay for tooling because it might be discontinued or have a paid upgrade? That seems short-sighted and perhaps an argument in search of a proponent.
The parent post argues that if you invest in learning or tweaking open source tools, they're useful to you over a longer period of time than the commercial counterparts in general. I don't read it as absolute. Just an explanation of their preference.
Along with your other points, you're not making any sense.

> - That's not to mention issues like being able to fix bugs yourself, extend it, or understand it. I don't do this often directly

That's just saying it's better for paid products because there's always someone paid to fix stuff instead of relying on volunteers.

I care to get the work done in the easiest way possible. And I hardly believe JetBrains will go away anytime soon, besides, using less productive tools until you see the paid competitors leave is really a dumb idea. If JetBrains were to disappear tomorrow and somehow they disabled my perpetual license along with them, I'll have to switch to Vscode but why let go of the benefit with your hypothetical concerns that may not materialize for years to come?

Sounds like you're just trying to create excuses to stay on your free apps.

Sorry, but developers don't care about freedom, they just want things that are free == gratis == zero cost.
that's not true. Sure the majority may not care but a sizeable and talented core do or we would have nothing but proprietary software to use right now.
Nothing to do with freedom. People are naturally cheap.

Which is why free tiers are so popular.

> Nothing to do with freedom. People are naturally cheap.

I don't think this is true. Look at bars. I can go to a liquor store and buy alcohol at a fraction of what it costs in a bar and invite my friends over to drink together. Yet, bars which charge a massive markup on the same exact alcohol, do not seem to be in danger of going out of business.

Or look at coffee. You can buy a bag of Starbucks coffee in the grocery store for $10 and it will make many pots of coffee, providing a single individual a cup of coffee a day for 2 weeks or more. Yet, on any given morning you can spot long lines of people eagerly waiting to pay 3 or 4 dollars for a single cup of the exact same coffee they could have made at home for one tenth the cost, that probably would have required less time and effort than going to Starbucks.

That's paying for convenience which is a different behavior.
When exactly would paying for an IDE extension NOT be paying for convenience?
What is the convenience?
- you don’t have to learn how to make all the variations of drinks each of your friends like

- you don’t have to stock ingredients for food/drinks you may not like or prepare often

- you can’t make a din without annoying the neighbours

- you don’t have to rent a space just to play loud music or dance

- you don’t have to make a music selection

- you don’t have to invite large numbers of people who don’t know each other to help make new connections

- you don’t have to clean up every time anyone pukes

Cheapness is freedom, from expending resources.
I'm not rich and a lot of paid tiers are targeting 5+ seat enterprise companies instead of individuals.
So do you only work for companies who have 100% open source and whose business model or product is a public benefit? Eg, "I value my freedom" is a perfectly acceptable position, until Mark Zuckerberg starts signing your checks, you know?
Facebook/Meta are huge contributors to open source, so I'm not sure what your comment is supposed to mean.
Their products are proprietary. Honestly open sourcing their stuff just nets free labor.
Are you trying to claim that something like React/React Native/Jest weren't mostly done by Meta, but by the open source community, and Meta was just riding the coattails of their free work? You count VSCode to be in the same category as well (swap Meta for Microsoft instead)?

That's quite a claim, and I dont believe it is substantiated.

No, I'm saying any benefit by open sourcing it vs. just keeping it in house (the difference) would be free labor. Not the entire project of course!