Hacker News new | past | comments | ask | show | jobs | submit login
No More Free Work from Marak: Pay Me or Fork This (github.com/marak)
1070 points by ingve 11 months ago | hide | past | favorite | 938 comments

So you've made something cool and it's time to release it. These seem to be the options at hand:

1. Release under a permissive license (MIT, BSD) and:

  - Have everyone and their grandma use it.

  - Die poor

2. Release under a copyleft license (GPL) and:

  - No company is going to use or contribute to it, unless they can somehow clearly separate it from what they see as their intellectual property. Or just hide it where nobody sees it.

  - Die poor

3. Release it under a commercial license and:

  - Get bashed on HN for doing so

  - Nobody uses it

  - Probably die poor

4. Dual license it as GPL and commercial and:

  - Sue everybody as they are just taking the GPL version and never looking back. Especially if they can hide it somewhere.

  - Die poor
Pick your poison.

That's because you need to understand the difference between a project and a product.

If you want your product to succeed, it must target decision-makers with a budget to buy your license, and it must make enough difference to them to justify the costs.

Most software libraries aren't products. They target other software developers who are not responsible for allocating funds. Furthermore, if there wasn't a library, most devs would absolutely love writing one ad hoc. Their salary would remain the same, had they been solving the problem from scratch (which most of us love doing) or adopting an existing one. It's the business people that would feel the difference, but business people don't understand the specifics of libraries. And they hate integrating closed-source parts into their codebase because it comes with tremendous risks should the vendor go belly up.

What could sell is a higher-level product that would automate boring/repetitive tasks that everyone hates. Like a GUI designer for some boilerplate stuff that everyone codes by hand (mind you many people like coding by hand, but some hate it and they will buy your GUI).

Your product can also be your consulting business. Don't add stuff based on everybody's requests for free. Make it open-source, welcome contributions, but if someone wants some specific stuff, give them a quote. From time to time, add commonly requested parts and write articles explaining how they work to gain visibility. You will have to deal with lots of entitled assholes, but you will also find people willing to pay you.

You're right, of course. But I am so, so tired of having to "sell" over and over just to have the value of my contributions recognized. And I think gp would agree.

The poster, marak, is a founder [0]. They definitely understand product-ization. Yet two weeks ago they suffered an apartment fire and have been struggling to keep a roof over their head [1].

I can definitely understand the kind of bitterness that comes out of going through something like that only to realize how little the fellow humans around you really value you. Realizing that for all the positive signals (such as "popularity") you received before, precious few are willing to actually put resources on the line for you.

So, I think gp and marak aren't coming from a place of misunderstanding the world as it is, but rather a depressing understanding of our world.

Imagine, if you can, a much different world. A world where helping or recognizing the efforts of others meaningfully didn't put you worse off. A world where your quality of life wasn't determined by your ability to take more than you give (or to have started off with enough resources that you can afford to give more than you take).

Once you really see what could be, I think it's difficult to suffer what is.

[0] https://twitter.com/marak

[1] "I lost all my stuff in an apartment fire and am barely staying unhomeless." https://twitter.com/marak/status/1320465599319990272

I wonder if this is advoidable by realizing what the popularity is actually for? It's not like it's for them personally it's for the fact that it's free and available. I feel like these values will always tend to conflict. I.e open source / free software and making money. They are opposed ideas in many ways.

I highly recommend not letting your personal happiness and feelings of success being controlled by random strangers on the internet. Getting approval from random strangers on the internet is fast food not real food.

"take more than you give" is not an accurate description. free exchange is a positive sum game.

Free exchange is a positive sum game when it is truly free. But if one party has significantly more leverage (like an employer or a landlord), that is no longer guaranteed.

Surely home insurance is going to make it whole?

That's assuming he could pay for a plan that covered his assets. I'm guessing that since he said "apartment" that he is renting, and the owners probably only cover the structure with their insurance and not the contents of said apartment.

This comment is golden! Most qualms on indie hackers and similar sites could be quickly settled with this line of reasoning. Not growing fast enough? -> buy ads -> "but I don't make enough money to spend on ads" -> is it really a product then? -> etc...

It's always blown me away (as a person of average intelligence relative to many on HN) that brilliant people who can actually conjure up entire libraries, frameworks etc fall short when it comes to understanding how to convert code into $$$ or anticipating how users will see the same concepts.

Creating a software program is only 10% of the work. The rest is marketing, promotion, sales, support, accounting, paying taxes, attending conferences, creating manuals and videos, etc.

Most developers fail because they stop after getting the program to work.

"Build it and they will come" is a stupid Hollywood myth.

There's a lot of the mentality of OSS where the project creator releases it permissively, and is fine with many little guys (who otherwise wouldn't have paid for an equivalent library) using it. Then as they get traction, a big company who _could_ afford to pay also benefits from said project, and the creator is whinging that they don't get paid by the big company - with the reason that the company _could_ pay, that's why they should.

yet, that's an entirely fair stance. The little guys, not having created the mechanism for value capture that the company has, are likely contributing to the ecosystem (or at least are active components of the ecosystem). the corporation, on the other hand, has ensured that they capture and process value such that they enjoy exclusive benefit from their output.

it's not unreasonable for an individual to decide that contributions to other open source developers are good, and contributions to a black hole are bad.

if you decide you don't want me to benefit from your work without profiting you, then you have to pay me for mine. if you want to play nice, then I'm willing to play nice, too.

Which is exactly what dual licensing with (A)GPL and commercial license is.

And yet, this is more rare than common.

Exactly. It's astonishing how little people understand this and just go post a rant about the big evil corporation not paying the little open source coder for their work.

It's all in the license(s). Make one that's fine for trials and other open source hackers, but draconian for proprietary commercialization, and another one for productization so that big corp pays you. That's it.

And if you don't care about the money aspect since open sourcing was never a way for you to make money anyway, then go with a single permissive license and be happy that your code gets widely used and hopefully contributed to.

If that scheme of dual-licensing with (A)GPL and commercial did actually work out in reality, we probably wouldn't have the precedent of MongoDB dropping AGPL in favor of their own SSPL.

You are explaining how a person can deal with the world as it is. But if you think of yourself as a builder, then you really ought to know better than to accept the world as it is.

Are there probably choices available to a skilled software developer where they could make more money than just working on something that they love and that provides value to the world? Sure. But why is that an acceptable world to live in?

If a work adds value to the world, shouldn't the worker rightly feel entitled to just compensation? Sure, not everything in the world is as it should be, and as a responsible adult the worker may have to deal with that, they can't just sit around whining about not getting their fair share and expect everyone else to solve their problems for them.

But are YOU someone who sees problems in the world and says "yep, that's how it is, deal with it, not my problem"? Or are you someone who sees problems in the world as something to be fixed?

I am a pragmatist that is accustomed to the physical, mathematical and social constraints of the world. One big constraint is the average attention span of your target audience. Do you have time to care whether a guy designing/manufacturing that USB cable on your desk got compensated well? Or the one making your clothes? Or cleaning the corporate toilet? You know, unless you have sewed your shirt yourself, it was probably made a by a person in a less developed country earning about $1 per hour [0].

The thing is, we physically don't have time to look at every situation from every stakeholder's perspective. There are just not enough hours in the day. Like it or not, that's a pretty hard constraint and there's no better way around it than understanding marketing and product management.

So ultimately, it boils down to:

* Strategy A that gives you a 10% chance of outperforming your corporate salary and 90% chance of getting bored and getting back to your 9-to-5.

* Strategy B that gives you a 0.2% chance of changing the world, 49.9% chance of giving up and another 49.9% chance of seriously burning out and getting into depression. The actual world-changing chance is likely even lower. You can guesstimate it by dividing the number of Linus Tordvaldses by the number of Github users with 1 or more repository.

Mind you, strategy A requires a lot of trial-and-error while learning how to do business (and getting burned multiple times), while the strategy B is about just doing what you like do and hoping that it will somehow bring the desired outcome. So please, please, please, be honest with yourself about wanting to change the world vs. just wanting to keep is as a stress-free hobby vs getting face-in-the-mud while learning an orthogonal skillset.

[0] https://www.salaryexpert.com/salary/job/sewing-machine-opera...

Sure, there aren't enough hours in the day for every person to fix every problem in the world. There are also not enough hours in the day to say everything worth saying about every topic on every forum on the Internet.

But you took time out of your busy day to comment on this thread, out of all the threads on the Internet, about this problem, out of all the problems in the world. You even came back and replied to me.

I am not suggesting you spend every waking moment of your life trying to solve every problem in the world. I am suggesting you divert a portion of the time that you're currently spending on advising people on how to live in this world, and instead spend just a little of it on thinking about how to build a better one.

while the strategy B is about just doing what you like do and hoping that it will somehow bring the desired outcome

Really? The only other option besides accepting the world as it is, is to do what you like and hope that the world changes to your liking, entirely on its own? You can't think of any other options?

social constraints are only as strong as the amount of people who treat them as constraints. culture is recursively developed.

I would say a lot of the constraints are more based on the incentives given by our economic system, which naturally aren't necessarily fixed either, but pretty hard to change

The problem is 'feeling entitled to just compensation'; it is not a good concept. Lets imagine you favourite fast-food joint offers all menu items for 1cent. Then one week later they ask for more money, because:'If a work adds value to the world, shouldn't the worker rightly feel entitled to just compensation". And lets not make it about the company, lets say it has to close down and leave the workers unemployed if people dont chip in. Do you really think they should be entitled? What about if they gave away the stuff for 0 cents, any difference?

I have no idea what you're saying. Surely you're not saying "we all agree fast food workers don't deserve to be paid, therefore software developers don't deserve to be paid either"?

Of course fast food workers should feel entitled to be paid for their work, and fast food joints should feel entitled to charge money for the items on their menu. What?

No I an saying, if people or companies give away stuff for (almost) free and other people take that, the entities which gave that away are in no way entitled to get more compensation afterwards. I think it is so obvious that it might be confusing.

If you make bad business decisions it is your decision. Because the only way to do price finding is to make an offer and have customers accept it. If the price is low more customers accept it. This doesnt mean at a higher price they would have done the same. So selling with a low (or free) price does not give you any moral rights later to say it was too low, give me more.

Thank you for clarifying, makes much more sense.

Because the only way to do price finding is to make an offer and have customers accept it. [...] So selling with a low (or free) price does not give you any moral rights later to say it was too low, give me more.

You're thinking of this in a very narrow way.

If I tell you "here, have this for free, no strings attached", and then after you use it, I jump out of the bushes and say "hey! That thing had value! You're morally obligated to pay me!", of course you are under no such obligation. That seems to be the situation you're thinking of.

What if you open your imagination a bit? What if I say, "if I tried to maximize the amount of money I made, I would have to price out people who wouldn't be able to pay anyway and their lives would be better off being able to use what I built. I don't care about maximizing the amount of money I can make, I'd just like fair compensation, so instead of setting a specific price I just ask you to 'tip' a fair amount if you can."

Am I "morally entitled" to any specific amount of money, if I didn't set a specific price? Not really, no. But it's not like I'm saying "please, have this for free, I don't want anything back, seriously", instead I'm saying "I would like something back, but I'm trusting you to decide on a fair amount".

Here's the more interesting question: if you're not obligated to pay a specific amount, can such a "trust" system work? Can I get fair compensation, and still allow anyone who wants to be able to use my work?

As it stands today, in most cases, probably not. But open your imagination a little. Can it be made to work? Can there be public pressure on major companies to contribute to TideLift and/or OpenCollective? Maybe non-commercial source-available licenses, which still contribute to The Commons, even if they're not the traditional understanding of "open source"?

I fully agree. Yes, I read the post like the situation you described I am thinking of. Was it different, actually?

About if the first approach can work: maybe. For the companies I know it would be very difficult to donate money. First from what budget, then I am not sure if such donations can be tax deducted, then there is always the thing if you give money to a person how do you distinguish this from hiring the person (oral employment contracts are legal), so authorities might be interested if you circumvent labor laws. So this support has to come from the top of the company. I think paying for bugfixes/features might be much easier and cleaner for companies (still takes 6 month to get him as a contractor into the ERP system)

There seems to be working examples for 'pay what you like' restaurant, but there might be much bigger social pressure.

Well, the README's footer has prominently displayed OpenCollective badges and avatars and a request for donations for >4 years: https://github.com/Marak/faker.js/commit/58aa94a99d6161418c4...

There is room for debate about how clear or strong the expectation of compensation was, but at least we can agree it wasn't 100% on the far extreme of "here, have this for free, I'm not expecting anything at all in return", and then going back on their word afterwards.

can donations be tax deducted ... labor laws ...

Interesting points. I think one of the ideas of the Open Source Collective as a 501(c)(6) non-profit is to provide more of that kind of legal certainty (donations aren't deductible as a charitable contribution, but may be deductible as a business expense). I wonder if it works?

Yeah, it's possible social pressure has the potential to be effective, although I think it would have to be well-organized, with someone like OpenCollective (or maybe it would be better if it was an independent organization?) that monitors and publicizes which companies are "leeches" making a lot of money off of open source, and which are "good citizens", or something.

The difference with software is, for many reasons users most often need to know the recipe (code), but knowing the recipe is enough to trivially replicate the software for free. And incidentally, that's also the expected mode of acquisition (vs. feature films for instance, which are almost as trivial to copy for free but discouraged culturally).

With physical goods or services, knowing the recipe or at least composition is also often desirable, but the actual product/service itself is hard to replicate and brand inertia is heavier.

I believe some small changes in the delivery methods associated with a decent cultural shift could bring open-source software development into a position more similar to older creative professions. For instance, stronger security concerns could incentivize users to subscribe to privileged, paid update channels directly from the developers (like done by Unreal Engine or the TradingView charting library).

This is how we framed it at browserless.io. Libraries generally aren't a product, and even though some of them do a lot, it's hard to charge folks for an `npm i`-style product. I tried a lot to look into this and it just didn't pan out. I think there's an opportunity for a library marketplace that does all of the curation, security checks, and other validation as it would provide a lot of value to organizations so they don't have to build all this themselves. Seems like all of this already exists, just not in a concise package.

On that, I feel like docker could provide a much much better storefront, and charge folks for their packages, but just hasn't. Did you even know they had a store? That's what their hub is supposed to be, but they don't charge for anything! How great would it be if they built out a marketplace?! This has even more potential, IMO, since images are generally a whole service and not just a library.

The opportunity and value definitely are there, and the need is there, it's just not something that anyone has tackled in a way that makes sense with software.

> Libraries generally aren't a product

That's not true - look at the games industry, the vfx/cinematic rendering industry and all that ; their middleware libraries are all paid products.

You are correct but so is the parent of your post, the key term they used is "generally" and I would say that is a correct observation. General problem libraries tend to not sell. There are specialty markets where one can make money from licencing libraries or frameworks as you highlighted game/cinematic there is also some areas in medical and legal but for the most part if one is building a general purpose library or one that appeals to a broad market, they tend to not be commercially viable. Those that provide specific solutions for a vertical tend to have more success in commercial licencing.

> Most software libraries aren't products

This is the rationale for https://tidelift.com

> Most software libraries aren't products. They target other software developers who are not responsible for allocating funds.

Perhaps devs and engineers should manage the funds. Like AMD's current CEO.

The other option is: Pick any of the above licenses and don't tie your entire financial identity to this thing.

I think its a legitimately weird thing specific to software where people release something interesting as open source and free, it gets used, they feel an obligation to make building it their job, and then they feel anger when they don't make money from it. I understand the feeling of being slighted when there are billion dollar corporations using your software, but it was also a situation you opted in-to in the first place, with no expectation of reciprocity until now.

I support the idea of asking people to pay for your time. That's totally fair. I think its also a little icky to say "pay me six figures or fork it"; so, is there no intention to actually make this an open source project? One where people contribute code instead of money and its supported by its users in that way? This project has over 100 contributors.

It's an interesting situation. I've often pondered what I would do in this scenario.

I have some hobby projects that I do purely for fun. Feeling an obligation to work on them because other people find them useful would really drain me. The point is to get away from work and rediscover the joy of programming, not add more work on top of work.

I guess I can just keep them private. But if someone really happens to find them useful, I would be happy if they forked them for themselves. Maybe a giant disclaimer at the top of the readme so I'm clear and upfront how the projects will be managed (they won't be).

Regardless, I'm sure it's a problem I'll never have.

> One where people contribute code instead of money and its supported by its users in that way?

I suspect this is really hard to do. You can get contributions now and then, but to get someone to take long term ownership is hard.

5: Don't release the code and sell your product. Taking pride in your work also means valueing it properly.

- 95% chance you die poor. 4.999% chance you make a decent living out of it. 0.0001% chance Facebook buys it for enough money that you can buy your own island on Mars.

The problem here is that selling your closed source project requires a significantly distinct skill set from writing good code. I wouldn’t be surprised if the Venn diagram of a good project and being able to sell the project for a decent living is much smaller than 5%.

> The problem here is that selling your closed source project requires a significantly distinct skill set from writing good code.

Similar skill set as required to make money via open source code.

1. Write awesome code!!!111

2. ...


isn't a business plan, regardless of whether you're writing open or closed code.

You're not making code for the sake of writing 'good code', whatever that means. You're writing code to perform some sort of function. Otherwise it's not something to earn money with, but a nerdy art project.

Sounds like providing that skill set would a good business opportunity.

Make it a SaaS!

Already done:


By the same team behind Elixir/Phoenix no less

They're talking sales and marketing, not software packaging and delivery (which most software devs can do just fine).

I should add that I got excited for a moment at the thought of some one-stop shop for sales and marketing for software devs building a product.

But no, just packaging and delivery. Which is cool, and probably useful for some people. But it doesn't help address the biggest weak spot for solo devs, or small teams: sales and marketing.

Back in the days before the internet became a distribution platform, there actually used to be software distributors that acted like this, they would publish in hobbyist magazines as well as send out their own catalogs. Some were better than others and would get the small shops they represented to collaborate to make complementary products work better together. In those days you could be a one person shop and just write the software. I don't know how one would recreate that model in todays realities.

> I don't know how one would recreate that model in todays realities

Seems like a good opportunity for innovation.

That looks pretty cool! I'm surprised they only have enterprise level contact us pricing though, it'd be an interesting SAAS self-service product.

JetBrains Marketplace is like this. It's a store for plugins to their IDEs but they also say they'll do co-branding and marketing with you, you get access to their reseller network, they handle a lot of the accounting etc.

But it's just for IDE plugins. Not the rest.

6: release parts of your closed product as open source (saying it was sponsored by the company that sells the moneymaker, so not some dual licensing of the entire product)

- 5% chance you make a living etc + fame and glory

If you release under MIT and you don't have a plan for public speaking, or consulting then you have no way to profit financially from that work. Used to be that you could offer hosted solutions, but if you become too high profile the Cloud providers will have a 'better' offering.

Too many of us still fall into this Calvinistic work ethic that if we just put in the work the rewards will appear through some ineffable mechanism we don't (think we) need to understand. I am currently fighting this battle with myself on several fronts. That shit is hard, especially when you don't have a lot of role models.

This. The other fallacy is that a work is not yet good enough to charge for it.

How often is that true though?

almost always true. The creator tends to be biased when judging value (of their own work).

Just because it was used a lot by many people because it's free, doesn't mean there's economic value. Charging for it is the only way to find out the economic value people assign to it.

The work is the reward.

We don't talk about the people who agree with you, because it doesn't come up.

Enjoyment of something can be substantially reduced when you find out someone else is taking all the credit for your work, however. And the transition can be a bit shocking. In many cases these are probably the people we are talking about, in other cases it's someone discovering that they don't have the luxury of doing this passion project for free anymore.

5. Use https://commonsclause.com or another commercial use restriction with an open source license.

  - Get bashed for not being a real open source by fellow nerds

  - Get licensing fees from larger companies

Just say it is commons clause, not ordinary open source.

I've even become convinced (based on someone digging out enough references) that the term ipen source was being used before OSI, but for the rest of the HN, just say "commons clause" without saying "open source" and I guess most bashing disappears.

There will always be that person annoyed that it isn't AGPL - or MIT for that matter - but for most if us we just want to know what the license actually is.

>I've even become convinced (based on someone digging out enough references) that the term ipen source was being used before OSI

Basically at the same time. Christine Peterson seems to have coined it in 1998, the same year the OSI was founded. https://opensource.com/article/18/2/coining-term-open-source...

As far as I'm concerned, people can use whatever license they want. I just think it's borderline deceptive to claim something is an open source license even if it clearly doesn't meet the OSI (or FSF) definition.

This is just a special case of option 3. Why would this get you licensing fees when it wouldn't?

> commercial use restriction with an open source license

Any licence which explicitly forbids commercial use is by definition not a Free Software licence or an Open Source licence.

Or do you mean something like the AGPLv3, which isn't explicitly anti-commercial but which has strong terms that scare off many companies?

Isn't the situation somewhat akin to what modern musicians face? i.e. very little money from selling music, but a lot of money from performances, merch, etc?

If I were hoping to make money off my OSS work, I would try to sell services related to the product. Consulting services, hosted instances, commercial forks, feature bounties, etc.

Complaining about compensation for OSS work is like musicians pining for the days where you could create an album and sit back while the money rolled in. You can vent your frustrations, but the world is what it is and complaining is only going to make you and your work less popular.

If you release software under a commercial license, you're essentially forming a software company. It's hard work and not guaranteed to succeed, but isn't that legit and well-traveled path to wealth? Also not mentioned is using your coding skills to land a decent tech job, which seems like a much better shot at financial stability than what many have.

> 4. Dual license it as GPL and commercial and:

This works if your product can target big corporations. They are unlikely to intentionally misuse the license; and would pay licensing fees for something that can be freely available online. There are several companies doing this already.

You just need a few contracts to cover a software engineer salary. So unless you are after maximizing profits, you don't really care about the dudes who are using it commercially for free.

Who has ever been bashed for releasing a commercial product on HN? It is a startup forum after all.

This place seems like venting outlet for random people working in tech - the startup tone was drowned out years ago.

Even Dropbox got bashed here for asking money just for linking some hard drives together.

I remember Stripe getting bashed on HN for releasing a commercial feature that took months to develop, by someone saying they could do it "in a weekend"...

Apple and NVIDIA are excruciatingly unpopular amount the "techie" crowd precisely for choosing proprietary licenses and closed, proprietary environments. Every single time they are brought up you can be guaranteed a screed about how Linus gave NVIDIA the finger that one time, or people don't like the extent to which NVIDIA supports Wayland (which is not zero!).

People absolutely do not accept the explanation that these companies are businesses that spend R&D money developing novel hardware and software and won't immediately race to interoperate with copycat standards from competitors who want to leech off that R&D once it's proven commercially viable. Nor do they have to expand the scope of their work to implement that one feature 0.1% of users want, nor are they obligated to open things up to allow you to implement the things they won't. And nor are you obligated to use their product if you don't find it satisfactory.

I guess it really goes to show how much Copyleft has won the war that people are immediately hostile to proprietary licenses today, particularly in consumer-facing technology. Oddly this does not seem to apply to more industrial or embedded use-cases, you don't see anyone ranting about the awful proprietary Xilinx toolchain or Broadcom's awful binary SOC blobs any time those products are brought up. But then again it does apply to software APIs and such?

It's probably not unfair to say that "anything I use should be free and open but also enough people should pay me that I should be able to make a living" is not an unfair characterization here. Everyone wants nice things, they don't want to pay for them. That's why gmail and Windows 10 and other spyware-funded services are so popular.

5. Do nothing.

  - Die poor

6. Get a job that pays the bills, write code in your spare time for the joy of writing code, publish code as PD to help others learn. Maybe blog about it. Die happy.

7. Get a job that pays the bills, write code in your spare time for the joy of writing code, or not write any code in your spare time at all. Die happy.

Yeah - I write open source code to learn things that I won't get to or be forced to learn from a day job (currently a data platform in Python) - implementing authn/authz, network programming, creating a small framework.

I enjoy it and I expect it to help me become a more well-rounded and therefore more employable developer.

6. Quit IT, buy a farm

  - Get crushed by the market
  - Die poor

At least you don't die poor and hungry. Maybe it's a permaculture farm and you also died knowing you contributed to less carbon emissions and more biodiversity.

This is a interesting topic because it exposes one of the great sins developers commit - we don’t pay each other. I’m not talking about nickel and dimeing your fraternity, but there is certainly a reasonable price for a lot of these packages and plug-ins we install that can create financial autonomy for a lot of people via modest efforts.

Developers are the toughest customers because we all think: "that's just a small script and a cron job" done in a weekend and basically worth $0. All the while staying each day in a meeting costing a cumulative $xx(x) just to announce what the job for today is.

I agree that is part of the problem, but I think the real problem is that even if you accept the premise that it would take just a weekend it is still the wrong analysis for the company. Even a job that you can complete in an hour is easily $100-200 worth of direct engineering costs.

I think the real problem is that most developers naturally plug in the value of their time on a hobby project/in school (which is ~$0/hr) when deciding if a time-cost tradeoff is worthwhile. Since the answer is almost always no if you incorrectly value time at $0/hr and management usually can not do the analysis themselves, management pattern matches and determines that spending money on developer tooling is essentially never worthwhile and that sums like $5k (which few people would spend on personal projects) are outrageous. If the correct time-value analysis was done, you would get outcomes more like electrical engineers (who generally make less than high-end software developers) where companies will spend literally $50k/yr/engineer on tooling to make them 50% more productive since that actually makes perfect business sense based on the amount they are being paid. In contrast, if you went to management in a software company pushing for a $50k/yr/developer expense they would probably laugh you out of the room or require some totally outrageous improvement like 10x for everybody.

Indeed, this is visible at personal and corporate level. I've seen companies balk at a Total Commander license which is negligible.

I've also had corporate procurement waste my time on a project for a potential $200 sale which never materialized.

On the other hand devs in corporation usualy have no spending budget. Going thru official management ask and procurement process is a real PITA. The last thing a dev wants is drowning in a red tape swamp.

I do sometimes pay for software with my own cash. However that is mostly limited to personal productivity tools because I can't transfer licenses to the company.

It’ll have to be cultural shift. The same way you get free food and beer, or a budget to buy your own gear, we need to start allocating a no-nonsense dev budget to get licenses.

Of course, we’d have to create a marketplace that has modest price points. The marketplace isn’t supposed to be filled with enterprise grade Jira solutions that cost - I can’t even imagine what it costs.

I’m not above paying a few bucks for all these things that I’ve used in my project if it was as seamless as npm install. But it’s not. Some take donations, some take bitcoin, some have a enterprise version with their own payment portal, some require you to call their sales staff, etc. There is a ton of friction here.

For these things to become profitable means we as developers have more places to generate income, it’s a win win.

> It’ll have to be cultural shift. The same way you get free food and beer, or a budget to buy your own gear, we need to start allocating a no-nonsense dev budget to get licenses.

+1 insightful. I wonder when we'll see the first company do that.

(I must admit, though, I've never worked at a company that offered me free food, beer, budget for gear, books, or anything else. They might as well be silicon valley myths. I have worked a few places with an on-site vending machine, where you pay for the snacks.)

It’s a tough one for sure. We recently had a whole debate about whether we should buy a solution that charges about $450. This is a company with a lot of revenue. No point in being cheap about this. I attributed it to the friction involved, which will require a mindset change.

Society, in general, is oddly cheap when it really doesn’t have to be. You won’t become millionaires by saving a few thousand bucks (at the company level) by forgoing decent things. No way to live.

I think the Tailwind css model seems the most sustainable right now - build an open source project until it reaches a suitable level of success and then build commercial support/other projects around it.

Think of Red Hat employees. Most of them are paid to contribute continually to Open Source (linux kernel, numerous libraries, etc), then they sell product and support licenses. The problem is that few developers are helping to maintain Open Source libraries. In what universe is it feasible for an large Open Source project maintainer to make a living without patrons?? For-profit orgs should be the driver for maintaining Open Source.

I'm a big promoter of open source software. However, I do see a fine line between getting open source and charging. In general if something is generic enough like Kernel of an OS or MVC framework for web dev, then yes open sources it.

However, it if it becomes specific and company clearly are benefiting and/profiting from it, then yeah charge for it!!

My personal preference would be more like:

5. Make something cool and release it under any license which I feel like. Ruthlessly limit the project scope so I can finish it while still having fun and learning interesting things. (This means completely finished; documented, optimized for performance, and exhaustively tested with close to zero bugs remaining.) Then:

- Be very clear on the project page about what people can expect in terms of support and timely bugfixes. Let people make their decision to use the project or not, with knowledge of how much time and energy I am ready to give. Politely refuse to go beyond what has been stated.

- Make whatever amount of money I need through other means.

- Use the knowledge I gained from making said "cool thing" to make other cool things (whether for fun or for money).

- With a glint in my eye, reminisce about the great times spent hacking on computer code and all the fascinating discoveries made.

5. Refactor your SW, release a basic functional FOSS version and license ($$$) the full-featured version

I see some open source authors having success with Patreon. I’ve been trying off and on since 2017, I think what I’ve lacked is production quality and consistent updates. Getting crowd funding is a job ontop of just developping, no doubt.

And let's not forget corporations actively suppressing open source developers by going out of their way to not award them support contract.

Your insight and the comments in the Github thread all back up the same point - the current economic model is not set up to empower or distribute wealth to the little guy.

I think it was phk who many years ago pointed out that Free Software is really anti-capitalist at heart; it makes sense that it would come from America (and MIT!) because of how the economic system works there.

The licenses are a distraction. The bigger issues are structural in terms of how the economy is set up. Our current free market system is predicated on folks at the bottom of the pyramid getting squeezed for their labor. It is only when it starts happening to us and not folks somewhere else that we begin to do something about it.

i could be wrong here but I'm sensing a theme


    - release it under a permissive license

    - wait until it reaches reaches a significant level of popularity for your purposes (see below)

    - flex it to get a good job at a good company

    - abandon the original project altogether or find new maintainers

    - focus on your new job, build skills and connections

    - invest most of your income in bonds and experiment with profitable side ventures which don't require much economic contribution from your side

    - most probably die relatively well-off

No interviewer has demonstrated anything but perfunctory interest in my open source work, popular or not.

It's a myth, like 'nobody cares where you went to school so long as you can do the work'.

That's fascinating, I had the opposite experience.

Never once have I been asked which school I went to or anything about my CS degree. I had multiple people contacting me after finding me on Github (and my OSS work is very unpopular and mostly unmaintained) and one of them was a C-Suite who offered me a job.

I never found a job with a recruiter - just networking, so it may be a form of self selection for more personal interactions.

Seems to me, if a project is successful enough, one could leverage that network to get a job if they needed it. In many companies developers have an outsized influence on which other developers get hired. If I were in this gentlemens shoes that is the angle I would have taken (and maybe he tried). I would have posted a message to the fellow contributors that basically stated:

I had an apartment fire, I am in a jam and am looking for employment as such my contributions to this project may diminish while I focus on my finances, if anyone has any leads at their company please let me know.

Unless one is looking to only work at a FAANG, I suspect something to that effect would net leads for a top developer of a successful project.

I mean, I guess. On the other hand, if you have a niche side project (I have several in a rather niche language), then you become known in the community.

Most people's 'side projects' don't shine on their resume because the side project is just a replica of one hundred other projects that do the same thing. In order to be known for a side project, you have to make sure the audience is small enough for it to make a difference, but large enough that there is commercial interest.

> No interviewer has demonstrated anything but perfunctory interest in my open source work, popular or not.

In he past when I did candidate screening I used floss work extensively to evaluate a candidate. To me, personal projects are an excellent way to assess skillsets at multiple levels.

Perhaps you've been interviewed by people who place a greater focus on soft skills, or HR headhunters who can only read CVs?

I've been a software developer for 15+ years now. It's been the same, every place I've ever interviewed. People place a lower priority on things they can't easily quantify.

I'm proud of the fact that many volunteer collaborators on the D project have, as a direct result, landed very well-paying jobs.

I know it's not the point here, but do those jobs often involve D directly?

Yes, they do. I also get the impression that many employers are looking for people who are more broadly interested in programming beyond C/C++/Java and are willing to pay.

I think it's a part of a bigger problem I see. People are hung up on where they want to work. If you HAVE TO work for certain companies, and you want your finances in order, you're doing it wrong. Priorities!

Also, you don't need most companies or all companies to value your open source project. You need one.

I think that's true for contributions to existing projects or other hard to notice stuff.

On the other hand, I got my current job exclusively via my open source work. But I created a project from scratch.

There's an article that makes the rounds now and again on HN about a engineer who wrote a widely used opensource tool and then didn't get past the Google interview process. FAANGs are still more interested in seeing if you can solve the Knapsack Problem then seeing that you can write good, maintainable code.

It was the developer behind the macOS package manager Homebrew https://twitter.com/mxcl/status/608682016205344768

Sheesh I'd forgotten - he's right, everyone does use that tool. He backed off on a bit but the point still remains, I'm sure he's a better engineer than half of google.

I wonder if they asked Pike and Thompson to invert a binary tree.


I'm not so sure. By his own admission homebrew is not that great a piece of software. There's a lot more that goes into popularity than being good. Being first, marketing and network effects are as or more important than being good.


- acknowledges and understands the problems and

- could certainly fix them if paid a Google-sized salary

But he won't dance to the tune of the "Cracking the Coding Interview" juggernaut so to heck with him. Better to spend time memorizing the Floyd Cycle Detection algorithm than produce useful code.

( OK, I may be a bit bitter )

I mean he says he doesn't really know what a b-tree is. That's a pretty basic data structure and kind of table stakes for being a software engineer. Even then, Google gave him a good look with 7 interviews. Just speculating here, but they probably would have given him a chance if he wasn't "often a dick" and "often difficult".

> That's a pretty basic data structure and kind of table stakes for being a software engineer.

It really isn't. You don't need to know what a b-tree is to do most modern software engineering.

> Even then, Google gave him a good look with 7 interviews. Just speculating here, but they probably would have given him a chance if he wasn't "often a dick" and "often difficult".

I think you're right on this one.

> It really isn't. You don't need to know what a b-tree is to do most modern software engineering.

if you're hiring a car driver, then yes, the driver doesn't need to know the innards of how an engine would work.

But if you're hiring a car mechanic, surely you expect them to understand the innards of the engine.

This is not a good analogy. Most cars work in roughly the same way. Most software does not.

Software engineering is a diverse enough topic that you can have two "software engineers" who, aside from very broad general concepts like control flow and modularity, have very little overlap in their areas of expertise. Developing microcontroller firmware requires a very different set of skills and knowledge to building an ML model in R.

Most pieces of software require zero knowledge of the inner workings of, different implementations of, or even existence of a b-tree structure in order to be able to successfully create, understand and maintain them. Let's not gatekeep by telling people they're not real software engineers unless they understand and can recite an arbitrary set of mostly useless topics.

It's actually not a good analogy because most mechanics nowadays specialize. You don't have an engine guy do an automatic transmission rebuild and you don't have your local car dealer do a coil-over 4 link suspension upgrade on your Jeep.

This is exactly analogous to software in that you don't need to know deep algorithms to build CRUD web apps. They are a different part of the machine and closer to the business domain. Looking for deep CS over skills like requirement gathering, collaboration, information theory gives false signals on competency for the task at hand.

The reality is front end, backend, embedded, desktop etc. etc. all have different requirements on the skill sets they need to be successful. People gain the skills they need via the process of working, then we have this ritual of interviewing where we act like all these things that never get used in their trade are so so important to know.

The direct analogy is I am hiring an engine guy,he will never touch a transmission. The guy knows fuel maps, timing and compression ratios like the back of his hand, but I keep insisting that he tell me how the sun gear of the transmission engages the planetaries and in what sequence because he has to know this to be any good as an engine guy and come to the conclusion in my head that if he does not know transmissions it is a signal that he is not fit to be an engine guy.

>The guy knows fuel maps, timing and compression ratios like the back of his hand, but I keep insisting that he tell me how the sun gear of the transmission engages the planetaries and in what sequence because he has to know this to be any good as an engine guy and come to the conclusion in my head that if he does not know transmissions it is a signal that he is not fit to be an engine guy.

Sure, but that's not what happened. The real story, in contrast to the tweet, is that he didn't really know what a b-tree was. And if you're hiring an engine mechanic and they tell you they don't really know what a transmission is, well, that's a pretty big red flag.

Agreed and I don't know what he was applying for, I was just highlighting that this happens a lot in our industry where we misapply (not saying everyone in the tech industry) what we do with the ritual of insisting that applicants are worthy via a cargo cult process of ensuring that they too have the smartest guy in the room mentality.

I hate to entertain this bad analogy further than necessary, but knowing what a gearbox is in the field of cars is not even remotely near the same level as knowing what a b-tree is in the field of software engineering.

I guess we'll just have to disagree. They're a pretty basic data structure that's used quite often to solve a class of problems. And they're not that hard to learn. How they work is pretty simple and the reason to use them is pretty easy to grasp. I would say that there are few good software engineers out there that aren't clear on what they are at a basic level.

I am curious. Which one do you think is more difficult to understand? (I couldnt tell)

You don't need to know what a b- tree is, just a binary tree. The question was about a simple binary tree, which is really trivial, even you have no idea of b-tree's and you never inverted a binary tree yet.

The dick part might be true, esp. after getting 7 interviews.

the only interaction with b-tree's i had was:

CREATE INDEX index ON table (column);

so I doubt the knowledge of b-tree's are that important for 90% of the users/people/developers. heck I know how to write a multipart parser/formatter, which I doubt that many people do. especially people who know how a b-tree works. well most people which do know how a b-tree works, do not know when to use it.

Actually writting good software (from an engineering perspective) is easier than coming up with a popular software. If you dont like the 'easier' statement, I can replace it with 'more important' or 'different'. So maybe he shouldnt work as a programmer for FAANG, but more like a product manager (and let the other people write code for him)

> I wonder if they asked Pike and Thompson to invert a binary tree.

Would surprise me if they couldn't. Writing compilers include lots of working with trees. Pike has literally written a book with a chapter on Algorithms & Data Structures, including trees.

OK I concede that they'd pass it, I suppose I'm just amused at picturing the scene.

"Can you invert a binary tree?"

"I wrote a book on binary trees!"

"That's very nice. The clock is ticking, you now 19 minutes left... "

I picture the scene as:

"...and that's the answer."

"Sorry...you're wrong. That's not how we solve it."

"I wrote the book on it. I just solved it for you starting from first principles. It can be used as a proof."

"Sorry...if you can't think the way we do you just won't fit in."

"I asked you to write an algorithm, not a bunch of Greek letters. Is that your fraternity or something?"

If that's the answer you get, be glad. Dodged a bullet. Go find a job somewhere else where they value your skills. There was no good fit to begin with.

So the plan is to abandon the project? It will work some individuals, but we need something more sustainable for the industry.

If the project is valuable, someone will step in to maintain it.

If nobody does, its value didn't justify the cost of maintenance.

Perhaps all the people using it value it enough that they might pay (if they had no other choice to keep it), but might not be able to maintain it.

In that situation, it's valued but it only gets maintained if someone offers to do the maintenance for pay.

If the current maintainer is stepping down from the project if they aren't paid, but willing to continue for pay, it makes sense for them to let everyone else know they are willing to continue if paid, doesn't it?

If your finances are not in order, you can't be worrying about sustainability of some library or tool, or the industry for that matter. The industry is made out of people. If there are individuals who have to slave away to maintain an important tool or library, it's not going to be sustainable either.

Human existence is Venn diagrams of desperate efforts for attention.


Why would I bother publishing it or creating it?

I'm well fed and I don't need to sell myself.

Your only motivation in life is making enough money to meet your basic needs?

Not only my basic needs, I also had a strong urge to reproduce - but that would be irresponsible without being able to support the offspring.

When I was younger I always had an insane drive for making money, which translated into tons of business ideas and a true passion for working.

After having kids and after having enough money to buy a house in cash, a lot of that business drive disappeared. I definitely feel like I completed a part of my life. There is still some drive - and it's focused at creating enough value to pay all my expenses: food, entertainment, private school for the kids.

After that is done, I will spend my days working out, growing my kids, cooking, gardening, travelling.

I know society sells the lie you should be working yourself off (possibly for some giant evil corporation), hoarding as much money as possible until you die - but I couldn't care less.

Removing economic incentives would see a steady decline of value creation in society. Stakhanovism was most likely Stalin propaganda.

The ridiculous treadmill of people saying UBI is going to work despite all evidence to the contrary, apparently a long, long time..

Citizens of rich oil sheikhdoms in the Gulf have had de-facto UBI, and a high one, for a long time, even though the formalities were a bit muddled. In practice, if you were lucky enough to be born as a Saudi or Qatari citizen, your needs would be covered.

It did not lead to any explosion of creativity, arts and science there. People are morbidly obese and spend their money on gambling, drugs and sex.

I am not very optimistic about human nature when exposed to easy life.

My question and this truly is a question as I am not well read on UBI concepts and social theories is:

So it did not bring about nirvana and human nature is well human nature but did it eliminate suffering to a noticeable degree i.e homelessness, poverty, food security, healthcare?

It seems to me the two are not directly tied, people are always going to seek out the vices because they are the roots of pleasure but that does not mean that the other side of the equation is negative, if it does eliminate suffering then it would be a net positive. I am not advocating for UBI, I am completely ignorant on the subject, just trying to understand if it did produce positive results against suffering.

I definitely do not want to diss a concept that hasn't been tried out extensively, though I am more skeptical about it than many others - not least because people tend to discriminate "good" neighbourhoods from "bad" using rent level, so we might just see a general jump in rents and property prices that eats the entire UBI and a new unhappy equilibrium is reached.

That said, I think that rich Gulf states show us that it can be overdone, that a completely sheltered life of plenty sucks. It sucks in a very different way than hunger or homelessness, but it gnaws on human psyche too.

Capitalism + UBI = still capitalism. Of course people are fat and lazy, there's an entire economic apparatus convincing them to be. This is why I prefaced the entire point with "abolish capitalism."

If you were financially independent, what would you do or build? I know I'd never stop producing useful things.

I don't know whether you should be so sure that you're not mixing up cause and effect here. It might as well be that we have the economic apparatus because people naturally gravitate towards becoming fat and lazy. Or, most likely, both options are true to some degree.

> I know I'd never stop producing useful things.

I think few people are this driven.

I'm sure you believe this in good faith, but most human beings are not as driven and are not as good natured as you.

This is also why governments or any form or redistribution is inferior to a perfect market without human interference: you will always have bad apples stealing resources or being as inefficient as they can be. I know this because I'm a psychopath, I feel zero guilt or empathy and the thought that someone like me could be in a position of power is downright scary.

> despite all evidence to the contrary

Do you happen to have some of this evidence on hand? Everything I've read on it suggests the exact opposite: that (at least here in the US) it'll not only work better than existing welfare systems, but would end up being cheaper.

It's hard to claim something is evidence or counter-evidence of anything in social science. Once you add one or more brains, the complexity skyrockets quite quickly.

I think it's a terrible idea for (at least) three reasons: - More money is being forcefully redistributed from people that produce work to people who don't produce. This will make people lazier and less entrepreneurial. Yes, I'm against any form of taxation for the same principle and I think the terrible corporate lifecycle is caused primarily by people not being entrepreneurial enough. - Taxes will increase, pushing businesses even more outside of here. - The more money you give to bureaucrats the more they will keep for themselves, the more they will waste, the more will not go to the economy.

> More money is being forcefully redistributed from people that produce work to people who don't produce.

I think it's a bit presumptuous to declare that the people footing the bill are even most of the time (let alone all of the time) producing more work than the people receiving a net income from UBI. I would, indeed, argue the exact opposite: your average warehouse or restaurant or farm worker is almost certainly putting in significantly more labor than your average landlord or C-level executive or Bitcoin hodler while receiving a fraction of the income. This might not be the most popular opinion on a website that revolves specifically around the worship of venture-capital-backed get-rich-quick schemes, but I really have close to zero sympathy for those in the latter category; "won't you please think of the poor billionaires" is, frankly, insulting to those actually working for their money.

In any case:

> Yes, I'm against any form of taxation for the same principle

A land value tax wouldn't have this "problem"; it's arguably the one form of taxation that ain't "theft", since it's actually a service payment (i.e. you pay rent to the government that actually owns land - that is, the basis of a "fee simple" title system as used in e.g. the US and other common-law jurisdictions - in exchange for said government recognizing and enforcing your claim on that land). Even if it came from income taxes (which I'd agree would be a worst-case scenario), I've yet to see a single proposal that taxes anyone other than people who can readily afford those taxes. Taking things to an extreme, a billionaire with a 99% income tax is still overwhelmingly richer than (I suspect) the both of us combined.

But this all assumes we'd be pursuing UBI in addition to other welfare systems; I'd argue that ain't necessary. That is:

> Taxes will increase, pushing businesses even more outside of here.

There's every indication that the overall tax burden for all but the absolute wealthiest Americans would decrease substantially by replacing existing welfare programs with UBI.

> The more money you give to bureaucrats the more they will keep for themselves, the more they will waste, the more will not go to the economy.

By replacing existing welfare programs with UBI, you eliminate a considerable amount of that bureaucracy. Most of that bureaucracy revolves specifically around determining eligibility; if literally every US citizen is unconditionally eligible for a fixed income, we can immediately replace those bureaucrats with a pretty simple system:

    def redistribute_tax_as_ubi(amount):
        for c in citizens:
            c.send_check(amount / citizens.count)
And from there it's just a matter of tuning how much tax needs collected in order to ensure every American can afford basic needs. And at that point, with that UBI flowing, it then becomes entirely unambiguous whether or not someone's poor due to circumstance or bad choices - that is, UBI eliminates that variable, and achieves actual equality of opportunity.

As an added bonus:

> I think the terrible corporate lifecycle is caused primarily by people not being entrepreneurial enough

UBI would directly enable all Americans to pursue entrepreneurial ventures without putting themselves in danger of starvation. People would be more entrepreneurial than ever when they know that even if their startups flop (because let's face it: the vast majority of startups crash and burn) they still have food on the table and roofs (rooves?) over their heads.

Hi yellowapple, thanks for taking the time to reply, really appreciated!

> on poor billionaires

I'm not talking about poor billionaires, they pay (almost) zero taxes through loopholes that their friends in the government allow to exist. I'm talking about middle class who can't setup a foreign entity to pay zero taxes. The problem with taxation (and progressive taxation in particular) is that it applies only to people who are too poor to meddle with the government.

I think middle class people are probably creating more value for society than poor people, which is way they're rewarded with more money.

> on land value tax

I would consider a land tax immoral as well, why is the land owned by the government? We're talking about a group of people who got everyone to agree they decide for everyone and they decide everyone needs to pay some money or they'll end up in jail.

> UBI would reduce burden for all but wealthiest

Does that account for wealthy people structuring their wealth in a different matter to avoid that? When progressive income tax in the 60-70s reached 90% (for high tax rate payers), rich people just started getting loopholes added to the law to exempt specific cases.

> UBI would reduce bureaucracy

That sounds like an improvement Given how much the government managed to grow in the last 2 centuries, I'm not very optimistic on this being the case for a long time.

> UBI would make people more entrepreneurial

Something I personally found in my entrepreneurial journey, is that living on passive money (MRR in my case, but a passive business nonetheless) doesn't affect positively my willingness to do much. When I was a broke engineer counting how much proteins I could buy and living in a basement after having spent all my money on a startup that failed, I definitely had a different grit.

I think need is a powerful motivator, but I don't really have a cross population study on the subject.

> Hi yellowapple, thanks for taking the time to reply, really appreciated!

No problem :) Geolibertarianism is something I've become pretty passionate about over the last couple years.

> I'm not talking about poor billionaires, they pay (almost) zero taxes through loopholes that their friends in the government allow to exist. [...] Does that account for wealthy people structuring their wealth in a different matter to avoid that?

Well that's the great thing about LVT: you can't exactly move land overseas, so there's no room for loopholes there. If you hold land, you pay tax on its value; if you don't, you don't.

Wealthy people could certainly end up getting rid of their land holdings (particularly vacant or otherwise-unused ones), and I'd argue that's a good thing, since it opens up that land for use by others (provided they're willing to pay LVT on it), thus better achieving equality of opportunity than the current system. LVT, in other words, would promote land ownership as a means to an end rather than as an investment in and of itself, thus discouraging the sorts of speculation that promote NIMBYism and housing crises and all that jazz.

That is, indeed, the crux of why those billionaires are unjust in their holding of wealth: it's specifically around their ability to hoard finite resources - like land - without justly compensating the other members of society prevented from having that same opportunity to claim those resources.

> I think middle class people are probably creating more value for society than poor people, which is way they're rewarded with more money.

I disagree, at least in a general sense. There are certainly people in both groups creating a lot of value for society; the difference is usually whether they're adequately compensated for that value. This is a big reason why corporations tend to be hostile to unionization: because workers have an easier time negotiating for fair wages and treatment as a group than as an individual, especially when they work for large corporations.

And likewise, there are certainly people in both groups who don't create much value at all. One nice thing about UBI is that it makes it a lot easier to tell the difference between those who are just lazy and those who are victims of circumstance. That is: it maximizes equality of opportunity, and better ensures that the people who deserve to move from the lower to middle class actually get to do so.

> I would consider a land tax immoral as well, why is the land owned by the government?

Because it's within the territory of that government. All land "ownership" derives from a government granting someone a title to that land, be it indefinite (e.g. with a "fee simple" title) or limited-duration (e.g. the 99-year leases some countries use). This is, indeed, exactly why things like eminent domain are legally permissible in the US and other nations: land is really owned by the state, and leased to landholders.

That is: unless you have an allodial title (hint: if your land is in the US, you almost certainly don't), your land is already de jure leased to you by a superior landlord (that is: the state), and the recognition and enforcement of your claim to that land is a service provided to you by that government. Without that service, "land ownership" would be limited to what you can physically defend against trespass yourself (since land titles would be worthless pieces of paper without some authority backing them - much like paper currency, come to think of it).

> and they decide everyone needs to pay some money or they'll end up in jail.

Who said anything about jail? If you stop paying rent on something you're leasing, you don't go to jail (at least not for that reason); you simply lose access to that thing being leased. Land would be no different: a land value tax is simply the fair rent to lease that land ("fair" due to it being a tax on the land's value).

And indeed, the goal of Georgism and derived philosophies (like geolibertarianism) is to ensure that a land value tax is a "single tax" - i.e. the tax anyone ever pays, replacing taxes on sales, income, capital gains, payroll, inheritance, you name it. Therefore, the only possible punishment for tax evasion in a Georgist single-tax system would be eviction.

(Sometimes Pigovian and severance taxes (i.e. taxes on pollution and natural resource extraction, respectively) get thrown in by Georgist/geolibertarians, too; I'd argue pollution should be a criminal or civil court matter (i.e. treating it as reckless endangerment and property damage, and fining/suing accordingly) rather than a taxation matter, and that natural resources are an extension of land and thus would be included in LVT)

> I think need is a powerful motivator

That's definitely a fair assessment, and I agree with it. However, that raises a question: if the only reason you're doing something is because the alternative is to starve or freeze to death, are you really doing that thing voluntarily? This question is what underlies the socialist concept of "wage slavery", and socialists' perception of capitalism as inherently reliant on coercion (namely: by threatening risk of starvation or homelessness unless you submit to a corporation's terms, regardless of whether or not those terms are actually in your best interests). Seems to me the best way to address that concern (without abolishing capitalism entirely) is to make sure nobody has to do things just to survive.

That is: the only just motivator, in my opinion, is one's own happiness - which is consistent with the pursuit thereof being one of the three inalienable rights specified in the very rationale for this country's existence. People should do things because they actually want to do them - either because they enjoy doing that thing or because they're (fairly) compensated for it and using it as a means to achieve things they want.

And that's the other thing, too: since UBI would provide an option besides "work myself to death", you'd see interesting dynamics on wages. On one hand, jobs that few people want to do would command higher wages (or other benefits) to make it worth folks' while to take on those jobs. On the other hand, workers would be more willing to work for low or nonexistent wages (e.g. as volunteers) if the work itself is interesting. The free software movement, as one example relevant to this post, would flourish; so would the arts, education, and numerous other fields where people would be participating if it weren't for such activities not exactly paying the rent.

You're right! Let's keep doing what we're doing. It's working great.

I know you're being sarcastic but I disagree.

I think capitalism is fine and we need more of it. We need to get rid of governments and minimise centralisation of power instead. I don't want any more wars, jailing of people committing victimless crimes or people being forced to give up half of their economic output to bureaucrats.

Every service offered by the government should be offered by multiple private companies. People in need should get money through voluntary donations, not through taxes forcefully stolen from people.

Just because you made something cool doesn't mean you are entitled to make any amount of money from it. The world doesn't owe you anything. Even if you make something useful to people, that doesn't mean you are entitled to live rich. More than likely your solution is just good enough that people don't feel the need to make their own, but not good enough that no one can't compete with you.

Not limited to software but modern society has a REALLY serious entitlement problem. (To the point where if I see a video on Reddit of someone screaming at a retail employee, it is not even surprising anymore.)

I’ve had free and open projects for years, with evidence of thousands of users. Yet I could count on one hand the number of times anyone has bothered to thank me, much less donate. I do occasionally get E-mail requests for support but sadly at least half of them have had a complaining/entitled tone as if I am not doing every last bit of this for free. I have had zero offers to help with development, documentation, or really anything else. And interestingly, some of those E-mails have come from some pretty well-known large entities, be they government departments or large companies — organizations that should have more than enough resources to give a damn.

Sadly, it is not better in the for-pay universe. After publishing apps, I have found that essentially no one will outright “pay once” for something anymore, no matter how cheap (leaving things at the insultingly-low price of $0.99 for weeks does nothing). Similarly, people usually will not contribute even a rating to help you out, much less a review. The E-mail/web info links on the store have never been used by anyone to reach me. And App Stores make it impossible to know who your customers even are, otherwise. So a silent relationship is maintained, where random unknown people update their apps over time, continuing to benefit and all I can assume is that they are still happy or something.

So my conclusion after decades is this: you do the projects you like to do for your own benefit, and no one else’s. They are résumé builders so you have something to show when looking for a corporate job that actually pays. If anyone doesn’t like what you’ve built, you are 1000% allowed to ignore them. If someone happens to appreciate it, that is a bonus but not a certainty. And you must be prepared to receive no money at all from these projects, much less enough to live on.

I think one of the problems is the interface through which we access these tools. I know when I walk into a Walmart that I'm dealing with a huge organization and if I accidentally break something while I'm walking through an aisle, I don't necessarily feel that bad. If instead I was walking around in a mom-and-pop store and broke something, I would apologize profusely and demand that I pay them for their troubles.

When accessing open source projects, there's no visual trigger that makes me subconsciously distinguish between downloading tensor flow that's being developed by Google or some small personal project. It all looks the same.

The same thing goes for music, graphics (e.g. iconography, fonts, ...), and even things like physical products on Amazon - it all feels the same.

I wonder how one rectifies this. I feel like small open source developers have conflicting incentives here. If an open source project was clearly prefaced with "While this is professional and fully featured, it's also the effort of one human working 10 hours a week on the weeks he doesn't have the kids", would you use it?

Developers who want their open source projects used have incentive to make their project look serious and long term, and being a one man operation makes the thing have a large point of failure.

You could imagine a "smallware" movement, e.g. some centralized body that certified that a particular piece of OSS was written by a single person/team (a.k.a. I set up a website and list anyone that asks), and brand their libraries accordingly - it would be an implicit appeal for funds. But have I just reinvented a bootleg apache software foundation?

My personal take, maybe not suitable for everyone. Don't use github. Github is that big faceless storefront. Use your own personal site, make it really simple. Now you don't have random "drive-throughs", who really don't care about your project, but are ready to give unsolicited advice. No point to have public issue tracker, when developers are known and small group. I like Drew DeVault projects, like sourcehut - doing things simple and off from big corp infra.

The main difference between tensorflow and some small personal project is that the small personal project is likely to work

Very interesting take.

In the past I've found that very low prices attract loud and obnoxious customers that complain left and right, while much higher prices attract very quiet customers who never complain.

My conclusion is that when your software is new you price it low and sift through the feedback to get the gems. When the software matures you increase the price and enjoy the passive income.

Another thing I've found helpful is to publish my email on the start page of the app, so it's impossible to miss. Again, this is something you can dial up and down depending on how much feedback you want at any point.

I just released an app in Apple's app store a week ago and am seeing this attitude as well. I'm charging for it and don't provide a trial since I think it's worth the price for what you get (maybe even priced too low). A few people immediately ask if I'm planning on open sourcing it or else act disappointed that it's not open source/free.

It's frustrating to work on something and have somebody just come along and say, "Hey, that looks nice. Could I get it for free?" I think it's akin to artists who get requests for free art. The people asking generally think that it takes zero effort to create the art and that they should be entitled to a drawing.

It's also kind of amazing that someone will easily spend a few dollars on games (often upwards of $60-70) or food + drinks, but they see software as something that absolutely has to justify its $5 or $10 price tag.

It should not upset you any more than the rain outside. It's a force of nature, get a raincoat and go where you wanted to go.

I obviously don't know what your users were thinking, or even what your application does, but for my part I use open source stuff because that means I know if I become dependent on it, and the original author drops it (or goes in a direction I don't like) I have options. The price is pretty much orthogonal. Just saying it's not necessarily just about entitlement and getting stuff for free.

Source availability and pricing are orthogonal. The most famous example is Doom: it's open source but the game is shareware.

Many people believe that modern software places too many unreasonable restrictions on end-users. I should be able to modify any of the software running on personal devices for my own purposes, at the very least. It's frustrating that I would typically have to use a disassembler instead of getting to directly tweak the source code.

Going back to the artist example: it's akin to buying a poster which says that it must be placed on a wall facing a specific direction, at a specific height, with a specific axial tilt, and that it only be illuminated by natural sunlight. But I just want the poster because I really love a specific section. Once I get home, my scissors go to town on the poster, allowing me to only retain the parts I loved. Then I glue it to a circular sheet of metal and I hang it from the ceiling! I'm quite content to recognize the artist's work in crafting the poster and compensate him fairly. But find his list of restrictions on how it should be used to be utterly absurd, and since it's my poster I do whatever I want with it at home.

Here's the thing: given all the restrictions which you place on your app, it absolutely has to justify its price tag because, even if they have the knowledge and skills to do so, the end-user can't fix the bugs you missed nor tweak it to suit their specific needs. Even if you manage to get 95% of the way there with your app, if that final 5% is really crucial and the end-user has no way of closing the gap, then it doesn't make much sense to invest one's limited capital on something that leaves their problem unresolved.

I've bought open source software in the past and will continue to do so in the future.

Unless your app target gamers, comparing to how gamers spend is apples to oranges. Gamers brag about how much they spend and buy more then they can play.

But that is specific subculture, majority of people are not behaving that way. Even majority of people who play games don't spend much money on them or have someone gift them.

I was seriously thinking of contributing to open source this past week when I started going over all the articles I've read from open source authors about entitled users and wealthy companies that don't donate but make profits off the projects. It's beco0me clear to me that large corporations like Microsoft have jumped into open source whole heartedly in a big part because they get tons of free labor. Not only that, I had a bad experience contributing to an open source project in which the author snidely told me I should have searched the code base because the bug was fixed when it wasn't, closed my bug report out and denied my pull request. So it seems to me a negative deal situation on both fronts. I'm know there are great open source projects, but I'll need to be very selective about them.

It pleases me when corporations use D to make money with, even if they don't contribute. After all, D is licensed to specifically allow this - I have no business complaining about it.

I imagine you would feel differently, if you were right at the threshold where doing a good job requires all your efforts, where people rely on your work, but where you can't pay your bills that way.

A lot of good projects are getting stuck in that rut, and it behooves us to find ways to get them through it.

If people are relying on your work, it is perfectly reasonable to ask them for a contribution. There are other options like kickstarter, too.

I know more than one open source project developer who made a nice program, but it never caught on and the developer wound up discouraged and embittered. A common thread, though, is they simply put it up on a bare bones web site. They actively refused to do any sort of marketing, promotion, outreach, evangelism, read any books on sales and advertising, etc., which pretty much guaranteed failure.

BTW, in Apple's early days, Steve Jobs was a master at getting attention focused on Apple's computers. No successful outfit neglects that.

Thanks for the D lang. My younger brother used it for his final year project. He got an A. He has nothing, but praise for it. Fast, small executable size, etc.

Glad to have helped him!

That's what I meant when I said there were great open source projects like yours. Rust is another one. The energy, spirit of cooperation and welcoming community is a big plus for me. It would be nice if corporations kicked you a few bucks. For the life of me, I can't understand why the 100 millionaires and billionaires at the top of some of these corporations don't donate more.

There are a number of generous corporations and individuals helping us out in various ways, including cash contributions to the D Foundation.

As a positive example, I was able to raise CAD $30,000 to add Android support to the Slate editor through a Kickstarter that was successful and most (maybe all?) the users were thankful: https://www.kickstarter.com/projects/sunnyhirai/add-android-...

To put that into context, it was a lot of work to set it up (and message it properly) and there was no guarantee it would have worked.

I think your conclusion that you should do this for your own benefit stands in either case. I believe in alignment of interests. All parties should get something positive out of a relationship.

One of the problems with large companies using these free libraries and tools is that the people who are choosing to use these free resources are just developers themselves -- they usually have little power to allocate the much deserved resources to the shoulders that they're standing on.

Because of this, there is a huge untapped opportunity to allocate resources better to pay open source contributors for their hard work.

It would be useful if there was a github (or whatever) license type that required payment above a certain threshold. A student might get free use, but a commercial endeavor might pay a little or a lot depending on the value they're getting.

Then, any libraries that you use with that license type would draw on the monthly deposit for your license level (more of your budget would go toward the libraries that you get more value from). For example, if your company pays $100/month, 50% of that may go to one library that provides a lot of value, while 1% might go to a library that provides less. Proper allocation would require the user to guage this, and it might be a little unfair but it's more fair than the 0% they're getting now.

Any resource you're using would have to get at least 1% of your allocation. If you're only using two libraries and you don't allocate value manually, each library would automatically get 50% of your monthly budget.

Repos could also choose to allocate a percentage of their draw to go toward bounties to resolve bugs, make improvements, etc. To help pay and incentivize others to contribute.

Is there anything like this out there?

At some point it becomes operationally risky for a company to freeload when they get to a certain size so you see things like enterprise support or hiring dedicated engineers to support the software.

I think you will find examples of this at lots of large tech companies (Google, Facebook, Amazon). Linux kernel is a good example here and key features like cgroups were started at Google

I agree with you, but I also feel the entitlement problem goes both ways. Just because you choose to work on an open source project and it becomes popular, it does not mean you are entitled to be paid by the people who use it. If you ultimately want to be paid, don’t spend thousands of hours of your life working on something that has no guarantee of you being paid.

I agree with your conclusions, but I disagree with your choice of calling it “entitlement”. Software is a non-scarce, non-rivalrous good. Once you create it and give it away, you should have no further expectations.

It’s a little bit like a live performance. Once you’ve performed, you can’t expect anything more coming from what people do based on watching your performance. Your pay, if you want to get paid, must be up front.

I refer to an older comment of mine: https://news.ycombinator.com/item?id=8746130

I would agree to most of those conclusions. If a project is created as a recreational activity, as something a person is doing because they enjoy programming and is filling a personal need, then that is the payment in itself. Recreational activities may be identical with professional activity in terms of code, and some people can turn an recreational project into their way of earning a living. If it however stop being recreational then forcing yourself to do it would just be working for free unless you convert into getting paid as an professional.

I agree with you, I would argue that free software/open source developers are the ones who feel entitled to an income based sorely on the size of the audience they amass.

Something of incredible value was lost when Free Software was corporatized into Open Source, and instead of "True believers", we had more open-source-as-marketing. I am a frequent user of libre software, and I do it without paying (how many have donated to VLC, yet directly or indirectly depend on it or FFMPEG? Even closed-source applications remotely related to video likely depend on it one way or another). I pay it pack by contributing to open projects and making them better - granted, I have a day job that gives me this flexibility.

It would be a dark day (IMHO), if all open projects were to depend on the benevolence of F500s.

Most people are living either in poverty conditions, or can see themselves living in poverty if anything goes wrong. Consequently people are understandably very reluctant to give up any of their precious limited resources. And yet, despite that, everyone is expected to get things done, to show they're interesting and creative, and to build social capital by being useful members of society. These antagonistic forces end up making many, many people very unhappy, and that comes over as entitlement.

Society is broken. It might not be fixable.

When it comes to spending money, I can sympathize and I do not expect people to shell out cash that they don’t have. (Indeed, when working on a free software project I hope that occasionally it finds its way to someone that literally could not get it any other way.)

On the other hand, 2-minute acts of appreciation (that cost practically nothing) are also extremely rare. Why should thank-you E-mails, app ratings, etc. come from a vanishingly small fraction of a user base, instead of almost everyone?

Because majority of people have no idea you want email with thanks and figures that best thing they can do is to not bother you. Like celebrities complain about people recognizing them all the time.

Sending mails to strangers is awkward.

Anyone who feels entitled to this or that is going to be very, very disappointed. And no, that isn't fixable.

I recently set up a pihole at home with the whole Covid situation and as soon as I noticed the donate link threw them £5 thinking "the least I can do is buy a London priced pub pint - I'm not exactly spending it elsewhere". I don't know why it's so different with software - I should really know better but even to this day my gut reaction is to, initially, balk at an app charging £5 - yet I'll walk into a pub (well, used to) and have no problem spending that and more on one beverage... I've since managed to snap out of that and will, if I think I'm going to enjoy it, spend the £1, £5, £20 or whatever it is within reason.

This may be partly due to seeing in my day job customer feedback which in answer to "what would stop you using <essentially their business account + invoicing + tax reporting>?" - "if you charged me money". We basically run for businesses and even that cohort to a non-trivial proportion isn't prepared to spend (<£10 monthly) on software. We have other avenues and mechanisms to work work around that but it's a little demoralising when you see it so black and white. Makes me feel like I personally should at least be less inactive in my supporting of projects I like or just buying an app or subscriptions. I think the whole industry needs a reality check on how much "free" really costs.

I know a successful CEO who started a business making business software. He gives it away for free. But he also sells support contracts for it. He says 90% of the users just take the free version. The rest buy support contracts.

Enough to have made him a wealthy man.

The business model is essentially give away the razors, sell the blades.

The only unhappy people are the ones who use the product but expect free support :-)

I wonder how much of the software pricing side is people not seeing the person working on the software? Maybe we assume all this good software we use is built by some large corporation and so are more likely to not toss them some coin, whereas with buying a coffee or a beer, we actually interact with a human being. (That said, obviously they may themselves work for a big multi-national like Starbucks.)

I wonder if we could ever get to the model where when you pay for an app or service, it's somehow clear that you're funding a individual or small team, to make it more personal.

So my conclusion after decades is this: you do the projects you like to do for your own benefit, and no one else’s.

100x this. If people only understood this right from day one, a lot of frustration would be saved. And with it all the expressed entitlement on which this frustration is built.

You write some code because you need and want it, be it for your learning experience or to make a tool that you need or because to get paid for it. You open source something because you want to get the community engaged in it, to help you find or fix bugs or add features.

Conflating these two is a recipe for frustration and the type of post that has prompted this article and the 500+ thread contributions, 90% of which demonstrate that they don't understand the difference either. Which is the real sad aspect here.

This is par for the course with open source, and I knew that when I switched to doing all open source. On the other hand, it does attract collaborators, and D would not have been possible without the great people who have joined in an volunteered their time.

You reached a very stoic conclusion. Love it.

I believe that entitled people simply haven't reached your wisdom, yet.

All the same, people have no fault on their own, they're just the product of this particular society. If we improve our society, the percentage of people who behave nicely will likely increase. And if we don't, well, at least we'll have a model not to follow on the road to bettering ourselves.

Of course people feel entitled to get your work for nothing when you give it away for nothing. People’s perception of value depends on how valuable it is (how much it cost). People do not have an entitlement problem. Open source programmers are the people with a serious entitlement problem. Of their own creation.

Dear sir or madam,

Thank you very much for your interest in ${PROJECT_NAME}; we’re so happy to hear you find it useful! We offer a variety of extended support options that provide customer support, prioritized bug fixes, and preferential scheduling features on our product roadmap. Below please find our pricing schedule along with links to our store:



Why go socialist when freemium doesn't raise your taxes? If advertisers would pay for tattoos, we probably wouldn't have to worry about healthcare anymore.

I think this is fair for him to do, and well within his rights. He’s clearly frustrated.

I wish there was a better way for open source projects to solicit donations. It’s hard to get your boss to pay for software; it’s extra hard when you get no additional value.

I feel like open source would have more luck if Issues could have attached bounties. I may not think to donate to faker.js, however as someone with access to a company credit card, I’d definitely attach $100-$500 (or more!) to certain Issues. (Tobi from Shopify recently did a $10k bounty to get OBS working with Zoom, and someone claimed it.)

I do wonder why GitHub hasn’t done more here (I know sponsorships exist). It feels like they have the opportunity to build an open source Upwork... an army of people who create software and get paid a living, except in this case they also contribute to good. GitHub already changed how people work, and now they could do it again.

EDIT: after reading his Twitter, it seems something is going on with him. https://twitter.com/marak

Looks like they lost all their possessions in an apartment fire: https://twitter.com/marak/status/1320465599319990272

Additionally the FBI were called and Marak was charged with reckless endangerment for the potentially explosive bomb making materials found on the premise, including potassium nitrate, magnesium powder, sulfur powder, copper powder, aluminum powder, hobby fuse and mixing cups, and books about military explosives, booby traps. (https://abc7ny.com/suspicious-package-queens-astoria-fire/64...)

So yeah "seems something is going on with him"

I was acquainted with Marak many years ago and he was an awful person then and probably still is. He put out some very well circulated revenge porn of his ex-girlfriend when she broke up with him long before that term was being used. He's a shitty person who seems to still be.

Has there been any coverage on the revenge porn incident? It sounds plausible given the circumstances but it's a pretty heavy claim.

It was a pretty well known incident when it happened. This was back in the Kazaa days (p2p file sharing). He clipped the whole thing together and made it like one of those old mastercard commercials. The file was called "master card revenge." He's in the video himself and it's clear he made it because it was an explicit fuck you to her. He even put her email address and physical college address in it. I'm not sure what came of the incident. This was about 15 years ago.

>Next-door neighbor Debbie Riga said the box was suspicious, and so they decided to open it.

>"Obviously the man is sick," Riga said.

I guess that must be sick in the "pyrotechnics are fun" way, not sick in the neighborhood cat lady prying into other's possessions and then running their mouth about it to the news, sort of way.

If someone chooses to endanger their neighbors by bringing dangerous, explosive materials into a densely populated living area that shows a very bad decision making process at minimum, and at worst malicious intent. That's something that others need to know about, in order to protect themselves and their families.

What you are calling "running their mouth" is the community protecting itself from someone who has already considerably disrespected the safety and lives of the community.

Establish an industry standard with the programmer union that you will send any project they are using some agreed upon amount based on size per year. Distributed programming, distributed payment. Doesn't have to be a trick to it, just the slightest effort.

I ran out of TV to watch months ago and have been working my way down Youtube videos.

Several people I follow have a call in their video to "donate to help protect our independence," and I think maybe we need to call that out more.

If you don't pay for this video, then either there is no video, or advertisers pay, and advertisers want something in return that is probably not in your best interests.

I'm not sure whether the same goad works for open source, but given the boldness of forkers, perhaps it does.

We have new leadership in our engineering organization, I should bring up the idea of having a budget for open source donations that the developers vote/nominate and the company cuts a check based on how many votes each tool gets. Everyone writing a check for $5 is a lot of work on both ends. It's simpler if an org cuts 10 checks for $100-500.

> been working my way down Youtube videos. ... If you don't pay for this video, then either there is no video, or advertisers pay

Youtube Premium which helps pay for videos is right here:


> I wish there was a better way for open source projects to solicit donations. It’s hard to get your boss to pay for software; it’s extra hard when you get no additional value.

That’s the big issue IMO. It’s easy for one developer to say "if you make money you can pay me a tip". When you have hundreds of dependencies, tracking developers wanting donations is almost a full time job…

If I were npm CEO, I would :

1. Propose the users (the ones using npm install/ci without publishing packages) to create accounts

2. You can put any amount of money on your account ; it will be monthly used to finance the packages you have downloaded that month

3. Developers (the one publishing packages) can flag their packages to be downloadable either publicly, only by registered users or only by paying users

4. Take a small fee

5. Profit

Then do the same with composer, apt, yum, and you have a pretty good coverage of the FLOSS ecosystem and potential monetary contributors just have to monthly fund 4 accounts.

I don’t understand how it hasn’t happened yet.

Besides the fact that this would limit access to those projects for those unable to pay, there are the issues of multiple contributors and transient dependencies.

Say a project is started by one person, made open source, and becomes popular. They start accepting contributions from the public, including substantial features and bug fixes. They later move on and someone else becomes the lead maintainer. Who would receive the money in your scheme? The original author? The current maintainer? Divvied up among anyone who has ever touched the code? If the Digital Ocean tshirt giveaway is anything to go by, popular paid projects would be overwhelmed by "contributors" hoping to snag a slice for changing around a few words. It gets really complicated pretty quickly.

Say a project depends on one or more of these paid projects - does it now require payment of at least as much as the sum of its dependencies, and their dependencies, etc? That could add up quickly unless there's some scaling factor and you hope those projects make it up in volume. Surely there will be typosquatting projects which are (at best) wrappers for real ones and siphon off some of the fees.

And so on. All this is just to say that it's complicated and the details matter.

Also, if we extended this idea of paying for all the software people use, the whole thing would fall over very quickly. I don't think most developers here have ever sent Jean-loup Gailly and Mark Adler any money for zlib/gzip? And how many have sent checks to the people who've been contributing to the linux kernel? And gnu file utils and bin utils and compilers? And the openssl project? And OpenBSD for openssh? And any of the other hundreds of bits of code that they rely on on a daily basis to get their work done.

At the end of the day if you want to get paid for your work, don't give it away under a free license. This is the second major story -- that I've seen anyway -- in the last couple of weeks about people wanting to be paid for the software that they freely give away. It reminds me of the time I went to Rome and a man came up to me and slipped a string bracelet around my wrist. When I told him I didn't want it, he said "no, no, it's free. just a friendly gift." and when I said thanks and turned to walk away he got mad that I didn't give him any money. Apparently it's a typical scam. "Give a gift" but then demand a return donation of money.


> They start accepting contributions from the public, including substantial features and bug fixes.

I spent a considerable amount of weekends helping out with a FS2020 mod. The maintainer now accepts donations and makes a considerable sum. I got none of that. Personally, it left a bad taste in my mouth. I maintain a private fork now, because I don't like the idea of someone profiting off my rare nights and weekend work. It would be one thing if he recognized the work and/or gave back to the contributors in some way, but they don't... so I stopped contributing publically.

Let the maintainer monetize release versions. If new releases have major contributions from others, charge for the new release and dole out funds to the contributors.

Certainly some thought needs to be put into how to monetize this, but we haven’t ever even tried. I’d say something like NPM is sort of like how Uber/Lyft built and validated the ride sharing infrastructure - it works, it’s normalized. Now how do you manage the money between the drivers and riders.

It’s not like software devs and companies are broke and are unwilling to pay modest amounts, and we will always support free for non-commercial.

> it’s extra hard when you get no additional value.

I believe this, the identification and the articulation of additional value, is the problem with FOSS sustainability, and it's urgent that we resolve that.

I hope I am onto something with the idea of crowdfunding specific commitments, as I have sketched there: https://archives.gentoo.org/gentoo-project/message/3735cd917...

The mental model behind this is quite simple, and I hope that once adopted, it will avoid a lot of unproductive behaviours and expectations on both sides, of the producers and the consumers.

It's strange that there's so little crowdfunding happening to deliver free and open source software. One of the very few prominent examples is https://www.kickstarter.com/projects/andrewgodwin/schema-mig...

Basically I believe in offerings which promise specific qualities (timeliness of responses and bugfixes, roadmap features schedule etc) and cover the costs of development (including market rate salary for the developers according to their skills which they use to develop and manage the project).

I am currently developing this with the aim to roll out my first experimental offerings. I am keen to help others to adopt this approach, so everybody is most welcome to reach out to me with any questions.

> I am keen to help others to adopt this approach, so everybody is most welcome to reach out to me with any questions.

I'll take you up on this.

How far have you gotten? What surprises have you uncovered?

Are you blogging or tweeting the project?

Thanks for your interest. Do you maintain something yourself? Do you have some projects on your mind which could adopt such approach?

I am currently just beginning my research of the current state of things in Linux distributions with regard to the distribution (pun not intended) of bugticket time to resolution. I am doing this to get a fine grasp of actual state, and be able to articulate the additional value of such userbase-funded commitments.

I aspire to tracking my commitments up to full deployment in SDLC terms, but it seems this information is too hard to consistently get with the existing bugticket handling practices of Linux distros, so now I am going to start with measuring how much time it takes to mark the ticket "closed" or "resolved", whatever that means (seems to mean mostly "integration completed" in SDLC terms).

I sketch some of my thoughts here, but the notes are somewhat outdated: https://github.com/userbase-funded/wiki/wiki

I have also contacted the current maintainer of one valuable but neglected project, but got no response so far. That project is vdirsyncer, it has been not actively maintained for a year and a bit until recently, but has many consumers, and I think such projects are a good fit for my idea. https://github.com/pimutils/vdirsyncer/issues/790

There are several projects in the low cost, user maintainable, appropriate technology space that I'm currently estimating the feasibility of starting.

I'm biased towards fascination with processes and markets, however, and value mapping and incentives are more strengths of mine than programming.

From my vantage point, there's a massive shortcoming in the mechanisms by which programmers, user programmers, and users are connecting.

Simply, I know several programmers looking for interesting physical world side projects and several craftspeople looking for automation. There's simply not a clear way to meaningfully connect them.

My ideas revolve around defined test, unit based recognition/compensation.

Person A has a specific use case, proposes it, persons B-G have similar use cases and agree on a test specification and deadline and place deposits. When the deadline is reached, the best performing commit is selected and merged, and the developer receives recognition and compensation.

BountySource did this. It failed.

That's because their product sucked, they charged excessive fees, and they were actively hostile to their users.

They also got acquired and the acquiring company tried to take the existing bounty money for themselves.

There’s a ton who have tried variations of adding money to open source! None have managed to stick for some reason.

Issuehunt and bountysource already exist.

Please stop painting open source as a donation-based development model. That's completely distorting what it is about.

Okay? This particular project is soliciting donations:

“Support us with a monthly donation and help us continue our activities.”

I’m not really sure what your point is, because you never actually made one. You just said I was wrong.

There is a difference between one-off bounties and continuous sponsorhips.

- Stable income vs. unplannable amount of bounties

- Bounties generally don't cover general maintenance work for a project (e.g. updating dependencies)

- Bounties (as they are implemented today) generally only pay the contributor, and not the maintainers, which can also have significant cost in reviewing a feature

- Bounties traditionally have been so disproportionally small compared to the work required that they don't come close to provide a reasonable hourly rate for contributors

(I think you'll find enough articles that go into more details on the difference between the two.)

Bounty platforms have been around for ages, and I don't know a single project that is able to finance itself from that. Even for the OBS example you mentioned, it the bounty was a good way to get the ball rolling on a specific issue, but the overall maintenance is still financed by monthly sponsoships.

One-off donations might be a nice supplement, but they don't form a solid foundation.

One issue is that donations implicitly promote a cost-plus pricing model (I'd like to earn 10k a year doing open source, so that's how many donations I need to fund me working on this).

Whereas something like dual-licensing promotes a value-based pricing model (our fortune 500 doesn't need to pay 5 engineers for a year to build and maintain this distributed system; we would happily pay equivalent of an engineer per year for that.)

What's the problem with a cost-plus pricing model? Having a solid ecosystem of cost-plus priced open source software would already be a great step up from the status quo.

No problem per-se, but to give a simple example:

Suppose a developer, let's call him Salvatore, lives in a modest apartment in, say Italy, and would live very comfortably indeed on three hundred thousand euros a year.

And let's say three cloud providers, call them, Jungle, Blue, and Lots, agree to give Salvatore a hundred thousand a year each to keep developing a, I don't know, a high-performance in-memory database. Lucky Salvatore, plenty of money for doing what he loves anyway.

Let's say that this database is quite good, and Jungle, Blue, and Lots each make a cool hundred million a year in pure profit renting out instances that run Salvatore's code.

So, whilst Salvatore has done perhaps better with the cost-plus model than he was before, he is capturing just 0.1% of the economic surplus that is being generated by his code.

And that is the problem in this scenario: if all elements of the value chain are cost-plus except one, that one element captures all of the surplus even though it may not be deserved.

Congratulations! You have just described capitalism! Have a lolly pop.

The problem with this is that Redis isn't used because it is particularly good. It's used because everyone else uses it. And everyone else uses it because it's free.

If you tried to charge for Redis then "everyone else" would stop using it and pretty much all of the value disappears. It becomes a niche product that you shouldn't build on. You're vulnerable to high license fees and experienced developers become harder to find since few get experience with it.

You couldn’t be more out of touch with reality.

Ok, name one building block type piece of software that isn't open source and is a market leader.

I meant you’re wrong about Redis. It was in a unique position for a long time, if you pulled it out there would be nothing to really replace it.

RedisLabs does charge for redis (extensions, and support) and seems to be doing pretty damn well for the matter.

>meant you’re wrong about Redis. It was in a unique position for a long time, if you pulled it out there would be nothing to really replace it.

You haven't really said where I was wrong.

>RedisLabs does charge for redis (extensions, and support) and seems to be doing pretty damn well for the matter.

Charging for extras is not the same thing as charging for the product.


> The problem with this is that Redis isn't used because it is particularly good. It's used because everyone else uses it.

Ok, and why do you think most people use Redis? Is it (1) they did a careful evaluation of the options and selected Redis because it was best or (2) everyone knows you use Redis if you need an in memory cache?

Wasn’t the case until at least 2016. Memcache was the default.

Then you're just indirectly donating money, no? What you described is just proxying the donation through an engineer.

One size does not fit all. It's good that OSS exists, as is the case for public domain work.

But it's only natural that there is only so much goodwill in a person when their work is used by billion dollar companies that enrich a select few and can't even pay their employees fair wages, let alone share their success with those whose work it is built upon.

"Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. Assume good faith."


(Your comment would be better for conversation if it explained more instead of just denouncing what you think is wrong.)

Care to elaborate on what _you_ believe it's about?

Making the source code available for everybody to see and use for derivative works under certain conditions like retaining authorship notices or keeping the same license (copyleft). There are many varieties of this, some are more permissive than others. But this does not directly imply a certain business model.

Some people do donation-based development. And that's fine. And some people do things entirely for free, that's also fine. (But don't be angry that somebody then takes your code and does what the license you put it under permits them to do, e.g. not pay you.)

And others are corporations that have full-time employees write code and publish it as open source. See all the Red Hat work. Or Intels and others contributions to the Linux kernel.

Open source is more than the lone dev in their basement doing selfless acts and sometimes begging for donations.

I've been noticing more push back against the open source bargain lately. Years ago software was fully build on the backs of a multitude of giants within their niche domain.

But for a while now large companies have been adopting a model of taking from open source contributions and raking in billions. The original social bargain of "pay it on" has been broken by the Bezos of the world raking in billions. And yes, as others have pointed out, nobody owes you anything, this has down the line knock on effects of ingraining having to build widgets inhouse for the thousandth time because all the talent went and put it into their day-job instead of the community. Maybe a partial factor because the industry has expanded and matured so much in the past three decades that name recognition is harder to filter out among the noise by merely doing good work.

Whatever the case, developers are starting to believe that voluntary free open source contribution is for smucks. Which will hamper innovation and morph the industry to how, well, every other industry operated before tech came along. Siloed and slow.

> I've been noticing more push back against the open source bargain lately.

Open source is a niche. The vast majority of developers don’t participate in open source. If they do, it’s simple bug fixes that they need for their paid jobs. The number of people creating and releasing significant open source projects is vanishingly small relative to the entire pool of developers.

I think it was a mistake to tell entry-level devs everywhere that open source was some sort of secret cheat code to boost one’s career. On the hiring and recruiting side of things, seeing open source contributions is helpful, but it’s almost never the deciding factor in hiring someone. Meanwhile, Internet forums for juniors are full of anxiety about creating side projects and GitHub profiles because young developers think it will get them to the head of the hiring line. It’s a recipe for a lot of disappointment in open source.

I have seen hiring manager on this site say they wouldn't hire anyone without opensource experience. Sometimes they say something wishy-washy about how contributing to open source is such a specialized skill that they don't have the bandwidth to train someone new. At other times they are more willing to blatantly admit that they just want someone who's capable of spending all their free time writing code.

I tend to wonder about the legality of it all. Since when did judging candidates on what they do off-the-clock become acceptable? To make it easier, if I don't have time to do open source because I am heavily involved in my religion, does that start to toe the line of acceptable work qualifications.

Significant part of open source development is paid for by companies. I don't know why the myth of its being done mostly for free persists, but maybe we should stop pretending it.

Depends on how you define "part". Maybe the visible part like MySQL or the Linux kernel or Android. But I'd say open source has a long tail mostly unpaid. From where I'm staying there is also a myth that companies pay for all the open source I use.

I don't know what open source you use. But yes, the big ones are mostly done by people who are paid for it. They are not after work occasional effort.

The smaller ones are also often done a part of university research or on clock. Not necessary because companies are altruistic, but because they need something and because open source developers need to eat.

A big part of Apache projects are not done by paid employees. Which is why you see the main developer for Maven push his Patreon for donations.

Out of the hundred or so resumes I have worked with at this point the handful that have had their github up that I had time to look at were net-zero or net-negative as an addendum of their resume. There's a difference between an engineer with a history of open source and one that 'did something and pushed to github', and most entry-level engineers haven't had such a strong history of open source that what you see of them would be meaningful anyway. I do try to preach this to what developers I come across but there's only so much that can be done.

If you work with web standard technologies your code is probably inherently open. Even still most developers in that space cannot write any original code to save their lives. They are utterly reliant on mountains of shit that does everything and they string a few build tasks together. As an experiment take NPM, Angular, React, or SpringMVC away and observe the forth coming violence like a zombie apocalypse in a third world nation. The entitlement runs deep.

Take away browser plus html? Sure. Take away React? People would get along just fine imo

I have hired a guy that was applying for his first job at the highest salary we could afford because of his phenomenal open-source contributions. We knew right away that it was a particularly strong candidate. We were right.

Most Github repositories I've seen since then are net negative and it would be better if they hadn't been included at all.

> The vast majority of developers don’t participate in open source.

On the producing side, you mean.

I'd argue that including a package in your code is not participating. It's consuming, but not participating.

Football players participate in a football game. Fans consume that game.

The only reason this ‘bargain’ existed at all in the first place was because of the GPL and other more restrictive licenses which encoded this ‘bargain’ into their verbage.

The current version of the ‘bargain’ - use MIT or BSD and expect more participation as a result - has never been the norm. The norm is corporate programmers taking whatever code they can and using it.

The norm is a cleanroom implementation of open source software written because companies would rather pay for that implementation rather than muck around in open source licensed code (I watched Oracle do this with several MySQL feature/bug fix patches).

And so here we are. Yet Another MIT License Regret.

> But for a while now large companies have been adopting a model of taking from open source contributions and raking in billions.

I've been working at a large corporation for about five years now. I've been on more than a few projects where we wanted to use an open source product/tool to help build an application and it was roundly rejected by the security team. After two back-to-back requests were rejected, we were told corporate policy was 100% against using any open source tools or products in anything we did.

The ironic part is this monolithic, hulking corporation is losing chunks of market to smaller, more nimble companies who can get their product to market in three months. Whereas, it takes us 18 teams and 100 people and two years to get the same product to market. Their solution? Just buy the technology instead. We've had dozens of acquisitions over the past year or so.

Which now creates another new set of problems I'm sure you can already see. . .

>Whatever the case, developers are starting to believe that voluntary free open source contribution is for smucks.

In today's environment, it kind of is for shmucks. How many times have I seen the same tired FreeBSD copypasta about how FreeBSD powers netflix and playstation, and won't I please donate because netflix and sony are parasites who won't pony up the dough to keep FreeBSD solvent.

Why on earth would anyone directly subsidize these CEOs when they could get paid to do it instead?

It's because we could never get users to care about open-source software. Users continue to lap up closed-source software and that's what leads to billions for these companies.

"I've been noticing more push back against the open source bargain lately."

it's open source vs. free software

open source = free labor for private profits.

I think the term "free software" is a marketing failure because you'd always have to add "as in free speech, not free beer".

In German you can differentiate that, "frei" vs. "gratis".

I'd go as far as saying that the term "free software" is a complete an utter fail. In my mind "free speech" is speech that is entirely unrestricted. Almost all FOSS licenses come with "restrictions", such as you must leave the copyright notice in place, you must add the "PROVIDED AS IS" spiel somewhere the end user can read it, you must release your derivative work's source code under the same license etc., so it is by definition no longer "free".

WTFPL is probably the only real "free" license.

the freedom part is not for the software developer, it is for the end user running the software.

I've obviously missed something here, what are the freedoms the end user is afforded?

0. The freedom to run the program as you wish, for any purpose.

1. The freedom to study how the program works, and change it so it does your computing as you wish. Access to the source code is a precondition for this.

2. The freedom to redistribute copies so you can help others.

3. The freedom to distribute copies of your modified versions to others. By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

It's as if open source was invented to make part of free software more palatable to corporations.

Even in 1998 it didn't take a genius to see what a Faustian bargain that Bruce Perens and Eric Raymond were leading us to sign.

Now we have SaaS, PaaS, and AWS. L-O-L. Bigly L-O-L. MySQL and PHP alone probably contributed to half of Zuckerface and Bezos billions.

Imagine writing an npm package that the FAANGs install as a dependency of their giant website and not being able to pass the leetcode gatecheck to even get a job there. Dystopias aren't much fun when you live in one.

Like which npm package? This would be a great tale to hear :p

you mean the good ole days when Microsoft paid 50k for quickdos before making billions from it?

That's 50k more than most open source projects make, also: No one forced the owners of qdos to give Microsoft that license for 50k. Sellers remorse is a thing, but I'm not sure why we should feel sorry for them.

As a really fun thought experiment, imagine that they took the $50,000 and put it into 30-year US Treasury bonds in 1981 and sold them in 1986 to buy Microsoft at the IPO.

It would be worth about $212 million today. And that ignores dividends.

But MS hired Tim Patterson and gave him equity. How is that not fair?

I already realized that during the first .com wave, it is naive to think otherwise, rainbows and happy songs can only last so long.

It is easy to be idealistic when the source of income is not selling software.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact