Hacker News new | ask | show | jobs
by sdiacom 1223 days ago
Yes, if you release something for free, you're not entitled to being paid for it. That's tautological. It's what something being free means, that people don't have to pay for it.

The interesting question here is, what happens when the people who are working on something for free move on, or when their motivation is no longer enough to ensure the quality of the resulting product? What would the millions of people who rely on that thing do then?

Maybe they'll just move on to an alternative, or just do without this particular product. That's fine, at least at an individual level. But collectively, the cost of millions of people moving to an alternative, or figuring out how to go on without it, is surely much higher than the cost of maintaining the original product.

So there's a tragedy of the commons in the making here, right? Millions of people collectively benefit from the existence and maintenance of this project, and would be harmed to some extent by its absence, and yet, because it's "free", no one is willing to put in the time, effort or money needed to ensure its continued existence.

You can plainly see that none of this is about whether it deserves to be paid. Regardless, "you deserve to be paid if people pay you" is as absurd a sentence as "you deserve to be alive if people don't kill you". That's not what "deserve" means, that's just stating what things are.

2 comments

In the specific case of Babel the alternatives are an order of magnitude faster and much less complicated (SWC, esbuild, Sucrase); this comes at the cost of features and of dropping support for older browsers.

Given the excellent alternatives, there may actually be a long-term benefit to switching off Babel, since the end result will be cleaner and faster transpilation tools that don't support increasingly antiquated browsers. This sucks for anyone who needs to support very old browsers, but if you really need Babel presumably you'll be willing to pay for it.

If you really need to support old browsers you might as well just write old JS anyway. It's not like you're going to get anything acceptable running with a modern team writing idiomatic CRA-via-Babel on these browsers, and writing the actual code that will run will be easier overall and at most steps of development.
Dead false.

Last year I was working with a client that still (yes, still) had to support IE11 (this was in healthcare) and was able to do so while writing Vue (v2) and bundling with Webpack all thanks to Babel and a handful of polyfills. We basically got to write the modern JS we’re used to and still support IE11 without having to think about it too much.

Hopefully this becomes less necessary (that client’s IE11 requirement will likely end this year when one of their partners finishes converting their ActiveX app to Electron), but right now it still is, and Babel actually does do what people say it does, and very well.

Not entirely true, I can get reasonable performance on 10 year old smart TVs using Svelte and TypeScript if I use Babel and a few extra polyfills. React would be a terrible idea though, you're right about that.
> So there's a tragedy of the commons in the making here, right? Millions of people collectively benefit from the existence and maintenance of this project, and would be harmed to some extent by its absence, and yet, because it's "free", no one is willing to put in the time, effort or money needed to ensure its continued existence.

The tragedy of the commons happens long before that.

Developers cannot an build and publish a software product like babel for-profit, because someone else would give out a V1 version for free. I suspect that there are many languages, compilers, IDEs, libraries, and build tools that no longer get written because the authors can't make a living from doing it.