However, it's not a sustainable, fair, or effective foundation for an industry with the responsibility to power modern society. We need the critical role of Open Source maintainer to professionalize. This is most likely to happen through capture by large intermediaries, but I wish to see it happen through the formation of a serious professional role, organized independently or in small firms, like lawyers.
This will require changes both from the maintainers [1] (become legible, get a LLC, send real invoices, offer guarantees) and from companies [2] (pay the maintainers, pay them real money, pay for maintenance, and keep paying them).
Do we? I do open source work and maintainership, and am happy that this is outside the control and influence of industry.
Must even this that "makes the Internet special" also bow to industry needs?
If a company is basing their livelihood on your library, they should (in my opinion) be supporting it somehow -- either by paying you, or paying someone to keep an eye on new versions.
The other choice is they are trusting you to fix bugs and not be malicious, which isn't (in my opinion) reasonable, as you get nothing in return.
Do you like working for free? Do you like people making unreasonable demands?
How would you like spending the weekend like the log4j people trying to solve a Prio 0 bug?
Contrast that to FOSDEM, which is completely different. This isn't just an offspring of early hacker culture. This is as offspring of how "socialist" european university systems were.
A lot of bigger OSS projects were started during peoples university time and what's so fundamentally different between how universities in Europe were before? You didn't have care about graduating. Some people stayed in University for 10 years, it was free and sometimes even had some benefits, like cheaper healthcare.
Now studying forever subsidized isn't always a good thing, but it has some nice side effects, like being able to work on your side project without having to worry about your livelihood(something that is unthinkable in the US).
The European higher ed systems has gotten more and more close to the US system with the Bologna process[1].
Most Americans immediately think about how to monetize things, and don't get me wrong, being able to live off of your open source project is nice, but it wasn't the focus in the past.
If you don't care about control over the downstream of your project, or funding, no one is forcing you to professionalize! I just want that to be available as an option to those who do.
The entrepreneur in me will never understand this problem: "programmer creates world famous software used by Microsoft and NASA and doesn't make any money and is burning out from all the work."
Here are your solutions:
1) If the users want support, charge them for it. Split the proceeds with someone who will actually do the support. If it's still too much work, raise the price.
2) If the users want features, charge them money to put those features on your roadmap. If they're asking for features you don't want to add, just raise the price or say no until they go away.
Here is what will happen when you ask for money: people you don't want to deal with will disappear. Also you'll have more money, and you will work less.
Do you need to think about business a bit somewhere in there, sure, but probably a lot less than most people think. The "business side" for the Grunt guy could probably be "register an LLC online then get an Upwork account and let them handle the other shit like your payments and tax forms for 5%." Yes, fucking Upwork.
I don't see the non-profit model scaling to the whole industry, and the examples we have today of non-profit foundations mostly don't pay maintainers. For example, Log4j is under the Apache Foundation but none of the developers on its committee were being paid.
Companies that heavily rely on one specific FOSS project and have well-defined requests naturally get more invested in them one way or another. But even for these, which tend to be bigger tech companies with more cash, "just pay the maintainer" is a tough sell when they can just either come up with their own project (even FOSS and recoup the "losses" in proprietary IP with hiring marketing) or fork it if PRs from employees are not well-received by the maintainer.
Also "just pay the maintainer" doesn't contribute towards most managers' primary goal of empire-building. In my experience even getting individual contractors paid for work can be a tough sell, managers want headcount and the opportunity to abuse their minions.
A "maintainer" receiving funds somewhere on the internet to play in their sandbox just looks like enabling escape from management's prison.
I think the disconnect is for devs that don't want to do that. But those same devs probably don't want to incorporate and go through the hassle of running their own business either. For them, who really just want to hack around and make software, I don't know if there's any real path. The whole value proposition of full time employment for a company is that someone else takes care of all that nonsense and you get to just do the thing you're trained for. Trying to extract that narrow piece out onto its own doesn't work well, and I honestly don't know if your solution really solves for that.
For the last decades it has been coopted by corporations and especially SaaS.
Now a lot of FOSS is either corporate-driven or... unpaid labor for SaaS companies.
Actually it does have a parallel in most sciences and engineering, academic publishing
In particular the fact that often when a publication turns out to have industry value, a company is formed around it to commercialize it: both to extract profit from it, and to make it accessible and legible by companies. Companies by and large don't take academic papers off arXiv and implement them.
The rest are funded through grants, which have the side effect of directing a sizeable chunk of the academics time to writing grant applications rather than science. I think that would be a regrettable outcome for Open Source.
For example, I'm already a freelance developer with (my countries equivalent of) an LLC and I send invoices to my clients for my work. I'm also in the process of writing a few libraries in the mobile/desktop/web shared-code space that I want to release as open source. Should I just mention this on the projects Github and website properties? A simple "contact me for an invoice" link and process the invoices/payments manually? Is there a platform a la Github sponsors/Patreon that is compatible with this workflow?
Eventually I hope there will be social norms (like how you advertise the option), tools (like payment rails and platforms, hopefully not like Patreon, but more like those lawyers use to invoice clients), resources, and even training. I hope it will become a standard transaction, that companies have processes for approving with no ad-hoc work.
But for now, whoever wants to try this is in uncharted territory, will have to discover what works by trial and error, will have to teach companies how to think about them, and will need some significant leverage to spend (such as personal networks, visible projects, and savings).
I don't quite get the moaning. If you are unhappy with FOSS, don't do it?
Nobody is entitled to a FOSS developers time. But on the other hand, FOSS developers are also not entitled to anything.
But just saying no for many people is still a non-trivial skill.
Also, just saying no in the face of consistent and repeated demands while mixing that with a desire that many creators have to be responsive to the people who use their software and to satisfy those people to some extent, compounds the difficulties creators face.
I definitely think it's an obvious opportunity to bring more order and structure to these currently ambiguously defined exchanges. I believe we can do better than stress and ambiguity on either side of that.
Sure, one solution is creators just saying, "I don't want to do this right now," so just shut it down, close it, block them whatever, heh. I actually think that that's not as much of a general purpose solution as it looks like at first because creators do actually want to help people with their stuff, and they also want to get rewarded for doing so (because you know they need to eat and everything), and doing so actually takes a lot of time, and they also want to control their taskflow to some extent.
> Open Source volunteerism is the result of the early hacking culture
I don't agree with that take. There was not, to my knowledge, a "volunteerism" component of either early open source or early hacking culture (though my roots only go back to about the mid-80s). The "volunteer" part came later, as there was an explicit effort to emphasize open source as free as in free labor. What I used to see was openness in the sense of knowing what the code did and being able to make changes if you want. It was more of scratching your own itch and letting others play with the code if they wanted.
No other industry had a large portion of its R&D done by people scratching their own itch and sharing the results freely. That led to relying on that freely available work, which led to volunteerism.
I would suggest something more distributed, like giving each citizen €100 a month they can allocate to FOSS.
Now, you might have the mistaken idea that science or other R&D funding is easy to access like ticking a box on a tax form. No, you need lots of bureaucratic support and so to work under government funding is to get a job in a university or other research lab that is equipped to chase, win, and collect government funding. Your position is "soft money" and depends on either you (as a principal investigator) or your boss engaging this constant struggle to win the next contract that keeps you from losing funding and your position. Some of this money splashes around to student workers, graduate students, postdocs, or interns. A lot is spent on more permanent, full-time faculty and staff as well as other infrastructure and administration.
The big shift I have seen in my ~25 year career is that the industrial participants in this environment have shifted from being primarily government-contract focused to being consumer-focused. The whole cloud/internet revolution has brought these new corporations who no longer depend first and foremost on government grants from the science or defense research complex. Earlier, we also saw shifts with enterprise, B2B-focused corporations and vendors, but I think they often had more overlap with the traditional government funding sources and also blended in a little more.
Privatised OSes or other platform software is an absurd and insane proposition
One can argue that funds are donations and thus are free from attached strings, but psychology doesn't work that way. Funders will feel entitled to something, but what? You can see this pattern more obviously in Patreon: donors get something in return, such as faster access to content. So even though it's a "donation", people psychologically still experience it as a trade.
With Phusion Passenger, I've commercialized a open source project. The contract is clear: if you pay then we both know exactly what to expect from each other.
Formalizing the expectations to funders of my other open source projects, effectively turns those projects commercial. But to me, the appeal of my other projects is just that I can code on my own leisure, as a hobby, and give a gift to the community at the same time. It sucks that I have very little time for that because I work on those projects in my free time only, but I'm hesitant to turn those projects into "work" where I have to give guarantees in return for money.
I maintain an open source project which is used by a few hundred companies, and I also sell a couple commercial products which enhance the functionality. I don't accept donations since I much prefer to offer well-defined commercial products instead of ill-defined donation benefits.
Despite this, I've still had users who insist I should accept donations, often claiming that I would make some absurdly unrealistic amount of money if I did so. In one case the user kept arguing with me and demanding to know more reasoning as to why I didn't want to accept his donation. Of course these same users are absolutely not interested in the well-defined paid products and always offer weird mental gymnastics as to their thinking.
I just can't relate to or understand this behavior. Do these people burst into random businesses in real life and say "Hello, I love your store but don't want to buy any of your products! I demand to know why don't you have a GoFundMe?"
I might then prefer to just use the open source version, and donate when I can, to avoid accidentally becoming dependent on something that I'm not confident of my ability to afford later.
IMHO the person donating already got something in return which is the free software + the good feeling of having donated.
I don’t offer anything in return for a donation because I also don’t want those strings attached and I feel at that point it’s no longer a donation. If I offer something in return it turns into sponsoring or simply buying services/access.
Couldn't agree more. The scope creep of this term hurts both parties. If there are expectations, call it a sponsorship program and state them clearly what it entails.
I depended on a FOSS project once that was mostly done by one maintainer, and would sometimes send feature or fix patches upstream. Once I sent an e-mail that I could give him hundreds of dollars for some bug bounties - his program would improve and he would make some money out of it. He said thanks but no, he made enough in his day job and only had limited time to maintain the program.
For someone in a stable, salaried job that pays reasonably well (assuming USA level or the better paid parts of Europe), it rarely makes financial sense to accept "hundreds of dollars" for a complex task.
That's due to the amount: "Thousands to tens of thousands" would likely get a different sort of response, assuming it sounded like a reliable offer, not a gamble.
Most FOSS bounties pay terribly if counted by the hour. I'm guessing the bounties came to "hundreds of dollars" for several days (at least) work on the developer's part, because so many other FOSS bounties do? They would have to take formal vacation from their day job to do that work, or extend their working hours to focus exclusively on your issues across many evenings or weekends, at cost to their personal life? They would have to change the way they file taxes to accomodate this payment outside the regular flow of salary? Or, if they work in a job paid by the hour already and with flexible hours, they would be getting less accepting your bounties than they make at work?
The burdens and typically low pay make it a net negative to accept small FOSS bounties, for a reasonably well-paid salaried worker, just on the basis of economic rationality. The psychology of feeling obliged to finish the project after agreeing to do it is just one more burden.
Donations are a thank-you payment for the code as it exists today. If someone finds it useful or includes it in their commercial product, give me a donation to reflect that thankfulness. It doesn't get you anything in the future, it is a payment for what exists today as-is today.
If someone wants a guarantee of future work, whether features, bugfixes or support, that requires a support contract with a much higher payment and more formal terms. In that case, they can influence the future direction but it'll cost orders of magnitude more.
I'm not saying doing this would be trivial (and you'll definitely want to engage lawyers to help do it), but if you do take support contracts it will have to be well-specified in the terms of the contract.
So the answer to all those questions is that it'll be whatever you and the contracting party want them to be as part of negotiating the contract. The more they ask in terms of speed, guarantees, availability, they more you'll make them pay for the support. If there are things you don't want to do, make the price so high nobody will pay it (or if they do, then hire out the work since they paid you so much for it).
And I don't think the donations are subscription model really works for the reasons you enunciate meaning that everything is too unspecified, yet there are definite implicit expectations of some sort of transaction or exchange. The non-specified nature contributes a lot I think to inefficiency as well as to stress for both sides of that marketplace. It's only one of the factors that makes changes in open source currently not ideal.
With current models, even if you do specify it it acts maybe in a sort of way like a patreon model which doesn't really make sense in open source which has almost unlimited number of discrete continuously redefining tiny tasks.
The way I see payments working is more as a formalization of your choice to say yes or no to things so basically like okay here's sort of like my minimum fee or here's what I'm quoting to take a look at this. There's no guarantee that you know the entire issue that is unspecified and that could balloon into multiple future directions is going to be solved by this but here's the amount which I need right now to take a look at the next step.
Some people might view that as a way for them to make money or extract value or get reward for themselves out of their projects that is sort of tied realistically to the actual demand that people are prepared to put their money where their mouths are.
Whereas other people might see it simply as a way ensure they do not get overwhelmed by allowing the market to decide priorities, and provided down regulator or gatekeeper on the amount of incoming work. The filtration function happens before the requester even makes the request ideally because then once the expectation for the transaction occurring sometimes is established requesters may think more about steps they could take themselves other than operating in a more depending on demanding way. Possibly anyway.
For the creator, you can formalize your no by putting a price in front of it saying it'll cost you this much for me to take a look at it. But the thing is the person who made the request isn't the only person looking at that issue presumably and they don't have to be the one that pays that through.
Anyway I just just an experimental idea. The real interesting thing and where the meat is here is like how do you structure these sort of micro transactions, that sells problems on both sides of that marketplace. In other words you're allow developers to exercise more control over their incoming workflow which is a key driver of happiness you provide the opportunity for them to get rewarded for their open source efforts in a way that's actually tied to specific toss rather than a nebulous sort of funders model or sponsors model, and you provide a bit more like clarity and definition for requesters you know to think well is it really worth it to me to to make this request and how much am I prepared to kind of you know put up to have this creator I take a look at the next step for me.
I think there's multiple ways you could configure bringing the ordering and structuring function of transactions to the open source community. The above is just Possibility.
babel say they can't live with 300k a year in funding
but the 1000s of projects used by 1000s of devs to build 1000s of things barely get 10$ a month or even a year
OSS donations should be more fairly distributed, not power law, rock star levels, where 1 project can get more funding than 99% of projects.
Not that I have any insights, but we should never forget, that we stand on the shoulders of Giants. And the giant is overall massively underpaid.
There's plenty of people working the same job for many years with low-ish salary? Sure they could find new one and get the latest high market but they haven't
I mean the project was already being developed before even having full time staff, and some contributors are not in the US and could live less for sure
many OSS projects can go a long way the same way
and that's the point, why should babel take "a big chunk" of OSS donations, while many others take nothing
and looking at another comment below, seems it's becoming irrelevant, so it would make sense to reduce funding further and let staff to move away to other projects or take full time employment at a profit making organization and take market rates.
People should simply stick to the slightly older JS syntax while waiting for new versions of JS to reach mass adoption... Essentially all of the new features add very little value nowadays (mostly cosmetic value)... Surely you can wait 5 years or so... There hasn't been any significant 'must have' feature since async/await anyway. It's not worth adding 100+ Babel tooling dependencies and sub-dependencies to your project and adding a transpilation step just to reduce your project's code size by 2% (that's what cosmetic changes to ECMAScript are about really)... Just use the older feature; this is the most compatible approach.
Sounds more like they were struggling with workload and made what, at the time, seemed like a reasonable decision to offload some of the work to another library.
Quite shady that one of best funded OSS projects come public asking for more money, but when the community start questioning the expenses/the specific contribution from a certain member there's only silence
(I haven't seen any response regarding their post in May last year asking for money)
The project is big enough that it should be a _lot_ more transparent :)
Where’s the problem? People seem hell bent on sticking to core principles until their dying breath, but that’s not healthy.
Edit: and before people start laying into me about free as in speech/beer, this article is about the latter, not the former.
> Where’s the problem?
People will just fork it (e. g. Retro -> Metro with all premium features)
If you don't want your software to be FOSS anymore, then you have to accept that at some point previously the "meat" of your code was already FOSS and you will be effectively competing against yourself.
I still don't understand the problem, it's inherent in the decision to become FOSS in the first place. Or do you mean these folks who are complaining just didn't understand what FOSS meant before they got into it?
...that this does not work for libraries, tools and kernels. Which, together, make the backbone of FLOSS.
1. Let's baseline the usage and spread first. What code is used, where and by whom. It ought to be possible to get complete pictures of this most large orgs scan their whole estate constantly - but publishing it academically?
1.a. A central "phone home" FOSS library that everyone "trusts" will just report the minimum might be a good idea here.
2. So if we know what codebase are critical we can then ask are they supported? Are the top five contributors paid in connection with the code base? Lots of ways of finding this about but email or bug requests is most likely winners.
3. A move I think is a good idea is to have some form of "Foss Tech Support Mesh" Library X is really useful, so several ISVs announce they support it, understand it etc. Maybe if an ISV account gets a commit accepted they get a badge. This will start to bridge the gap between volunteers and paid positions.
while we are at it, what is the proprietary story? I am pretty sure Facebook has funds to keep its codebase updated, but there were MRI Scanner companies that cannot afford to move off windows XP, so there is bound to be a grey area of for profit companies producing code at not much more than subsistence level.
[0]: https://en.wikipedia.org/wiki/American_Society_of_Composers,...
The google magic words you want are "Biden", "Executive Order" and "Software Bill of Material" :)
Feel free to join one of the working group.
You can also look at what Tidelift does.
Treat the FOSS project as your lead funnel, then sell a service to those leads.
Maybe the service is training, maybe it's hosting the project (e.g Wordpress), perhaps it’s just leveraging it to get a lucrative job offer. You need to sell a service though on top of the project itself.
I am yet again still annoyed by how the “problem” here is portrayed. Open source doesn’t need to be “sustainable” for anything in particular. I like open source because I can work on anything I want, and other interested parties can join. I also work for money, and in that case, I don’t get to work on whatever I want to.
The problem of internet entitlement is also not unique to open source devs. I’m sure I am not the only one here who has ran internet communities of various sorts, and that, too, can be quite rough. Possibly even worse sometimes.
I do sympathize with people who can’t mentally deal with the stress, because after all, people are only human and I think they have only good intentions at heart. But if you are feeling overwhelmed by your successful projects, I think it may be necessary to step back and make sure you’re still in it for the right reasons.
Because big tech companies depend on open source, it is often seen as a problem that open source code is mostly unfunded… but frankly, that only matters if you care about the fate of the tech companies more than the open source communities. I say fuck it; Google can fork whatever project if it goes unmaintained. I wouldn’t really want my project to be controlled or influenced by Google, Facebook or Microsoft, but if they get no such influence, exactly what incentive do they have to support the original maintainers instead of forking it for themselves?
Everyone's different. Some people paint as a hobby. Some people are full-time artists and want to be full-time artists so they get paid and make money doing what they want basically. Even full-time artists have got to deal with gallery owners, other artists in exhibitions, marketing publications, buyers, patrons and grant money.
Somehow the way that open source works where it's never just what you want because you got a whole lot of ideas, inspiration, requests from other people so I don't think the traditional models of patronage or sponsorship are going to work for all cases.
And some people like yourself they're not going to be relevant at all because you just like to work on what you want as a hobby and don't care if you get paid for it and that's perfectly fine but there's plenty of other people who will be choosing to be full-time professional creators and I think that's wonderful and I just don't think there's the right options for them to monetize that at this time.
Yet there are tons of developers using Angular, React, and Typescript
On the other hand, having a big corp take over the direction of something I’m writing for fun to fit their needs is a totally different ball game.
After all, many developers also use Windows or macOS, and that can have an impact, too. But for the most part, it’s inconsequential.
The way I see it, open source is not different from freeware in this sort of way. If you release something out to the world under some set of terms, then you shouldn’t be surprised when people adhere to those terms. You also aren’t owed anything for being nice or giving people gifts. If you really care about getting a return on your investment, then I can only say that open source is a strategically shitty choice.
Open source gives me the rare opportunity to work on stuff I actually care about, with other people who also happen to care about those things. Mutual benefit. For corporations that release software, it’s not really about autonomy, but it is still about mutual benefit; Facebook was even honest with this, mentioning that a reason for opening up React was to help make it more general and mature, and help flush out idiosyncrasies that plague the design.
In the end, devs probably need to stop being so easy going. Everyone probably needs to be a little more Linus.
FOSS programming tends to be largely recreational or a labor of love, and a lot of the discipline and organization required to make good software is not fun, and will be actively avoided in recreational projects, especially for people who do the "not fun" parts of projects in their day job.
A really successful project has to have someone (or several someones) at its head who can organize everyone and keep things moving in the right direction. Part of this is being willing and able to say "no" even if it means someone may walk away from the project.
If you want to produce really, really good open source software, provide a stipend for the programmers so they don't need to keep day jobs and pay market rate for a small number of managers with the skill to organize, the charisma to get agreement from the team, and the knowledge of when to tell people "no".
Don’t worry about the bus factor, other people know what I’m doing and I have a backup who can take over. Might delay the project a month or two, but the company can manage without me.
"The free nature of open source also leads to inequity. Open source is dominated by men, and people who don't have as much leisure time or stability might be less likely to contribute to open source when there's no compensation involved."
So an article lamenting the horrible lives of FOSS open source developers who work for almost nothing then turns around and blames the same OS developers for driving women out of tech by working for free.
Never mind that women tend to be paid by their husbands, so they would have lots of spare time for FOSS development.
I'd say calling FOSS a sausage fest is asinine.
People talk about companies "free riding" on FOSS, but the corollary to that is that this allows an individual developer to be massively more productive, justifying the high salaries we see. To obtain value from just about any open source project, companies need to hire developers, individual developers are in a position to benefit as the gatekeepers to all this "free" value.
Everyone is benefiting from this. Free is absolutely essential to making this work. Free is frictionless, free is equalizing. I'm not choosing between Redux over Mobx based on price, I'm choosing purely of intrinsic merits and community.
It is always easy enough to find problems, but looking over the past couple of decades, I don't think you can argue but that things keep getting better.
On the contrary, SaaS company are advantaged at exploiting FOSS and this is creating increasing inequality in access to software, hardware, knowledge/skill, markets and capital.
In short, FAANGs and SaaS take all.
There's a reason why progressive taxation and public funding has been invented: infrastructure that benefits everybody need to be paid according to income.
It has shown that FOSS does not come w/o a cost (open-source does not mean free) and it's advantageous and necessary for companies to support FOSS financially.
> Even more recently, researchers discovered two "critical" security flaws actively being exploited in Mozilla's open-source Firefox browser. Additionally, the open-source Linux operating system was just hit in "its most high-severity vulnerability in years."
OK, but these security flaws are ubiquitous in closed source software as well. The difference in FOSS is the source is there for people to look at and scan for security bugs if wanted, and is there for people to patch when needed as well.
Closed source has these problems as well, it is all just less public.
https://web.archive.org/web/20220320083930/https://www.busin...
And then decide if they do it for fun, or want money. There may be some overlaps, but it should be crystal clear which is the main one. This is 100% their choice. Trying to sit on two chairs usually ends in misery.
And if they treat it as a hobby (fun) and a company, NASA or someone else needs a fix or a feature ASAP, well, they can always do it themselves. You do it if and when it works for you. The software will likely be better that way, too. My 2c.
Open source only works if contribution is of selflessness sharing, as soon as it starts to be an investissement, users have the really legitimate feeling that a weird kind of reciprocity is in play, that tatters confidence and candor.
> many are quick to press him on what's taking so long.
> people are shouting at you that you need to work on something
This is not normal even in a workplace!
Article not necessarily about open source but workplaces in general (not even IT only) only difference is that people in workplaces are getting paid to work in those horrible conditions.
Disclaimer: I'm unemployed, released some open source stuff https://mkws.sh/, https://adi.onl/projects.html and surviving as I can rather then being pressed or shouted at I need to work. I value my mental health, thanks!
Guess us foss programmers are a bunch of phonies
As someone that had similar issues, I would highly suggest everyone to view their job as job. You work on the time you were supposed to, do your best within your capabilities, raise issues when you see them but that is all. Don't overwork and try not to worry so much when things are not going the way you want them to be. You can still enjoy your work, just try not to have personal attachment to it.
But I guess that is harder for FOSS devs, since the reason they work is being too attached to their projects.
This just seems natural and could be followed by one of either
1. productise OSS project and start making money from it 2. allow other top maintainer to take the lead 3. work at some BigCo where they can afford to pay full time working on this OSS project, if that makes sense
My last contribution was $20 to libcurl. Apparently it's used on billions of devices, if only each of those device owners donated $1!
Are Web3 ‘Communities’ Vapid or Authentic? Can we even call this communities? https://news.ycombinator.com/item?id=30741332
https://arstechnica.com/information-technology/2022/03/sabot...
No wonder most people give up.
Mike Monteiro: F*ck You, Pay Me - https://www.youtube.com/watch?v=jVkLVRt6c1U
Traps, noise, abusive environments.
Then the clock. I'll keep saying it unfortunately :(.
If people want to be rewarded, we have invented a mechanism for that thousands of years ago, it's called the market.