Live data from Hacker News

Recap of the `funding` experiment

feross.org

11–20 of 72 posts

Re: Recap of the `funding` experiment

#11
Why don't npm/yarn/github/etc have explicit support for premium packages that cost money? It can provide revenue for the registry, too.

Napster and LimeWire were cool because people got something for free and, all else being equal, people prefer free to not free; but all else is not equal because free is not necessarily sustainable. If there were literally no way to monetize music at scale, it would not have worked out well for consumers in the long wrong, because there would be far less to consume.

People pay for software regularly. Package managers are marketplaces for software, so it doesn't seem like a huge leap for them to facilitate the exchange of funds. Then feross can charge money for standard if he wants, and people that don't think it's worth it won't pay him and won't see an ad and won't use the software.

Re: Recap of the `funding` experiment

#12
I applaud your effort. It did raise about quite a bit of unproductive discussion, but there were so many things worth discussing: how funding should happen, the privacy concerns surrounding the proposed format, etc. Though this model didn't quite work, it doesn't mean there aren't undiscovered models waiting out there -- or that there can't be an ongoing discussion about how to improve.

I did want to discuss this sentence from the article. Since it was in bold, it seems worthy of unpacking it a bit.

> Right now, the status quo is that maintainers create massive amounts of value and then for-profit companies and SaaS startups capture almost all of it.

The thing is though, nobody would pay for a service that just left pads. People compose open source projects into novel ways to solve customer problems. A customer problem isn't: "I need to sort this array n log n efficiency". A customer problem might be: "I need to find my most recently updated accounts, and generate a report". To state this in other words: startups create value through their novel use of open source packages, combined in a way to solve a problem painful enough for other people to pay for.

If left pad was that hard to do, people would certainly pay for left pad as a service. But individual open source packages provide minimal economic value. It's how they are combined that creates value. And I think that's what makes it difficult to extract value from individual repositories.

If your primary objective is value extraction --which is totally fine, by the way, many people are coding for paychecks-- why not do it for a company? You clearly have so much skill and would undoubtedly be paid well. There's many remote companies these days, it'd give you the lifestyle you want-- the freedom to travel, etc. It's not as free as being able to say, "I want to work on X and Y and Z open source packages", but it isn't all that terrible. My company gives me bandwidth to contribute to OSS during working hours, too. I think wanting the freedom to 100% control what you work on inevitably comes with the tradeoff of a lower salary. At work, I might occasionally get stuck on a project that I'm not too interested in, but that's why I get paid a premium to do it. I think wanting a FANG salary, but also total control of your workstreams, is honestly asking for a lot. It's wanting the best of both worlds, with none of the drawbacks. If everyone could make six-figures a year working on dozens of open source projects, they'd probably switch to doing that, since it would be (hopefully) more rewarding.

Re: Recap of the `funding` experiment

#13
I'm a maintainer of a 10K+ starred project with 1M+ monthly downloads and I know Feross personally.

I do not agree or support this movement.

Don't do Open Source if you can't afford it.

It is as simple as that.

Framing it as exploitation is misses the point of collaboration.

It has never been about us, it's been about giving value to the world.

We can't play the victim card. Nobody wants a whining Batman or Spiderman.

So what is Open Source about?

Here's an excellent talk on the psychology behind it:

https://youtu.be/u6XAPnuFjJc

Re: Recap of the `funding` experiment

#14

I'm in the early stages of building some tools to automatically lock new issues in my own Open Source repos, and to give Patreon supporters automatic access to comment on locked issues. Anyone will be able to read existing Github/Gitlab issues, but only supporters will be able to join the conversation or file new issues. It's loosely based on some ideas that William Gross[0] and a few other sources have proposed. You…

That attitude is very strange to me.

I care about the quality and usefulness of my software. I give it away to give back, because I have been given much.

There are bugs in my software which I will never discover on my own. When a user offers me a bug report or a patch, that user is also giving back. The bug report is a form of contribution. It gives me information I wouldn't otherwise have, which I can use to improve my software, which can make it more reliable and useful to others.

Most users who encounter a bug don't take the time to report it. Those who do report bugs contribute their time and effort, and the fruits of their contributions help not only myself, but other users of the software.

This applies not only to bug reports, but to suggestions and feature requests as well, because all of them can help make the software more useful to others.

The only interaction that has negative value is to be asked a question that's already answered in the documentation. But even those can be valuable when they indicate a weakness in the documentation that makes the information hard to find or understand, which can be improved, which helps other users. And even the questions which are trivially answered by the documentation can lead to valuable interactions later.

So to charge a user for the privilege of interacting with me would be like asking the user to pay me for the privilege of helping me, for the privilege of giving back. It would be rude, and it would deny many the privilege of contributing through the means at their disposal. It would almost be like keeping a fellow human being in a kind of moral debt, rejecting their contributions out-of-hand, leaving them obliged, with no means to repay (or to "pay it forward").

Re: Recap of the `funding` experiment

#15
> Right now, the status quo is that maintainers create massive amounts of value and then for-profit companies and SaaS startups capture almost all of it.

it's almost like we'd need a license that allows free users and restricts people who profit, or dual licensing. We've had those for a while, haven't we?

Re: Recap of the `funding` experiment

#16

> Right now, the status quo is that maintainers create massive amounts of value and then for-profit companies and SaaS startups capture almost all of it. it's almost like we'd need a license that allows free users and restricts people who profit, or dual licensing. We've had those for a while, haven't we?

The projects would be immensely less valued, less used, and less popular if restricted to non-commercial use. Can you name me a single NPM module that limits to non-commerical use that would be widely known within the JavaScript community? ...Maybe GSAP?

Re: Recap of the `funding` experiment

#17

Some suggestions that may see future attempts better received: 1. Try it on a repo with more substance. There were many comments about this project being a light wrapper around eslint config. It may be popular in GitHub stars, but intuition tells me the type of dev who installs a dependency to generate a JSON file is not the type to want to pay for anything; they're looking for a quick `npm install free-solution` for…

> Anecdotally, devs I know are very sensitive to ads/privacy, much more so than to paying money.

They also tend to be sensitive about arbitrary code execution, especially when running in a build system, which may be near things like deployment keys.

The only thing keeping npm from turning into a minefield are norms around what is socially acceptable, so developers tend to get super angry when this norm is challenged.

Re: Recap of the `funding` experiment

#18

Some suggestions that may see future attempts better received: 1. Try it on a repo with more substance. There were many comments about this project being a light wrapper around eslint config. It may be popular in GitHub stars, but intuition tells me the type of dev who installs a dependency to generate a JSON file is not the type to want to pay for anything; they're looking for a quick `npm install free-solution` for…

> devs I know are very sensitive to ads/privacy, much more so than to paying money

In case it's not clear to other readers: `funding` had no tracking, no data collection, and no code from untrusted third parties. It was a `console.log` with some fancy formatting.

> Despite your good intentions, your ads will involve analytics/tracking, which you ultimately can't control

They certainly would not. I was very clear to the sponsors that there would be no analytics. I even took pains to ensure only plain ASCII (excluding control characters) could be printed out. https://github.com/feross/funding/blob/58b090c51ce94de32107d...

Re: Recap of the `funding` experiment

#19
post #17

Some suggestions that may see future attempts better received: 1. Try it on a repo with more substance. There were many comments about this project being a light wrapper around eslint config. It may be popular in GitHub stars, but intuition tells me the type of dev who installs a dependency to generate a JSON file is not the type to want to pay for anything; they're looking for a quick `npm install free-solution` for…

> Anecdotally, devs I know are very sensitive to ads/privacy, much more so than to paying money. They also tend to be sensitive about arbitrary code execution, especially when running in a build system, which may be near things like deployment keys. The only thing keeping npm from turning into a minefield are norms around what is socially acceptable, so developers tend to get super angry when this norm is challenged.

> They also tend to be sensitive about arbitrary code execution

Presumably, if you're already downloading and executing code that I wrote, you trust me to use `console.log` correctly?

Re: Recap of the `funding` experiment

#20
post #19
post #17

Earlier quoted context omitted.

> Anecdotally, devs I know are very sensitive to ads/privacy, much more so than to paying money. They also tend to be sensitive about arbitrary code execution, especially when running in a build system, which may be near things like deployment keys. The only thing keeping npm from turning into a minefield are norms around what is socially acceptable, so developers tend to get super angry when this norm is challenged.

> They also tend to be sensitive about arbitrary code execution Presumably, if you're already downloading and executing code that I wrote, you trust me to use `console.log` correctly?

It's not you, it's the norms that you were challenging. Developers don't want other people to realize that the only thing stopping them from running "extra" stuff like this on someone else's build machine is convention.

After the leftpad fiasco and the recent purescript installer "malware," people have gotten really sensitive about this sort of thing. Everybody knows that npm is a house of cards, but it's easier to hide the problem than to fix it.

Post reply on HN