Subsistence Programming
blog.licensezero.com
blog.licensezero.com
Where it does break down is with excessive fragmentation. A hundred small libraries each doing one thing will get much less corporate support than a single important library that does the same hundred things.
I think you've nailed it; similar patterns have played out with news/blog sites, or even media like music and indie games. The internet has allowed for rich selections of micro-products to pop up, get created, get distributed. But we have yet to solve the problem of getting the money flowing the other way through the same ever-more-fine-grained tree.
It's not that people refuse to pay for their news, it's that they don't want to sign up for and pay for dozens of different sources which they might follow a link to once a month. It's not (primarily) that people refuse to pay for software, it's that people don't want to spend the energy tracking down how to donate a couple dollars to the 100 different NPM dependencies their project has. In all these cases, unless you're a household name, you're going to get lost in the noise.
Ads have traditionally been the workaround for this. They don't require any involvement from users, and they scale based on traffic. I supported Feross' experiment because I see (non-tracking) ads as a necessary evil until we come up with a better solution to this problem.
Proposed solutions include bundles, Patreon, GitHub Sponsors, and what Brave is doing for web content. None of these have changed the equation yet, though, and it's a really vital problem to solve in today's world of content creation.
It's just something I randomly but cyclically think about, here some old notes about it:
What if GitHub Stars = Money
Problem? I might want to give back to open source, but I’m too ignorant or lazy to actually do it.
Create an indie platform that lets you create a one time or subscription donation to all your GitHub innteractions based on Stars, issues open, etc…
If I have 1000 Stars and donate 100 dollars, each repo would get 10 cents, if 10 more people have starred the same repo than I have, the repo owner would get 1 dollar.
So if she or he has 1000 stars, that’d mean she or he gets 100$
Stars are not so meaningless anymore.
After first donation to a new repo, open an issue encouraging to get to minimum payout amount faster by pushing a badge into readme as a PR.
PS: Original personal note from 23 may 2019, If I recall properly this was pre GhSponsors
Two subspecies of the tip jar rose to public prominence in the last few years.
Crowdfunding sites like Patreon focus on perks. Both legally and practically, they eschew "donation", partly to avoid money transmission issues, partly because people are just more likely to give money for something in return, rather than gratuitously. Open software coders who've done well via these platforms number very few and often offer substantial perks that appeal to "enterprise" customers at high tiers.
Sites like OpenCollective focus on raising for groups, rather than individuals. The amounts committed to groups can sometimes reach significant looking totals in the thousands of dollars, but splitting among contributors often cuts the per-individual number down significantly. The transparency and other groupware features put social pressure on individual developers not to take too much.
npm is very much a business, stuff like pnpm, an yarn exist for a reason!
Parity license looks like a super aggressive and untested version of AGPL. I can't see what benefit using it over AGPL would be.
Prosperity license is at odds with the point of free software and almost certainly untenable.
It doesn't.
https://writing.kemitchell.com/2018/11/04/Copyleft-Bust-Up.h...
If you're interested in network-copyleft more generally, make sure you compare AGPL to OSL:
What does this part mean? Would you please dumb it down for me, perhaps with an example?
Ah, I understand it now! Thank you.
My goal was to remove copyright from my work, but using permissive licenses seemed to instead mean "I'll give up my copyright protection, but you can take my work and receive copyright protection and sue others".
The difference between the food bank and this is that food cannot be consumed by everybody, all at once. It's near impossible to make "free" software that cannot be used by companies that are profitable. Who would police "profitability" when there's no money involved? The best you can hope for is to prevent a profitable company from using your code. Chances are, if the code is useful enough, someone else will write something similar without the same restriction.
My take: If you're writing FOSS, you know what you're getting into. If you need the money to do it, you should plan for that.
Meanwhile, let's say a company makes billions using some piece of software that costs 10,000$ to write. You saved that company at most 10,000$, no matter how much money they will ever make. Most likely, you only saved them the license cost of the next best commercial option.
If you don't like the idea that your software could be used by someone who could profit from it without giving you anything, don't publish free software. Publish commercial software. That's the best test to see how much your software is actually worth.
Personally, I'm getting more paid open source work than I have time for, all based on permissive licensing, but I might be something of an outlier.
It's more like volunteering to pave the road in your neighborhood because you want to help your neighbors out, and also to make it easier for your friends to come visit you at your house.
But eventually, some local small businesses realize that they can use the road to get their commercial goods to the market faster. At first, you don't mind because they're not causing much harm. Why not let them use the road?
But eventually some international megacorps hear about the road and start to tell their trucks to use it too. After a while, some of the truck drivers start to loudly complain about the way the road was designed. "This road doesn't let us drive our trucks as fast as we want to. Please fix!"
Next time you're repaving the road, you spend some extra time to make it less curvy and easier for the truck drivers to drive fast, even though you don't own a truck and this doesn't really help your friends or neighbors.
Eventually, even more huge companies start using the road to bring their goods to market. Their complaints get more frequent. "This road isn't designed for our eighteen-wheeler trucks that we'd like to drive through here! Please fix it or we'll start using another road!" And on and on...
Eventually, you realize that you're working for free and this isn't about helping your friends and neighbors anymore. You start to tell friends in other neighborhoods who are considering building their own free public roads not do it (it's just not worth it). You recommend if they want to do it that they at least charge a toll to use the road. That way the road won't be overused by folks who complain and don't give anything back.
After word gets around and some time passes, the world has fewer public roads and the remaining roads require a toll to use.
Most of the worlds programming population doesn't live in a US tech center (unfortunately - gib visa plz?). As well as people from developing countries, there are students and hobbyists.
News flash: Open source doesn't exist to pay your bills. It exists because you want others to benefit from your work. If you want to pay your own bills you should be selling something or working for someone who does.
Besides the point this person is making is that open source developers should start selling their stuff instead.
I've stopped relying on them entirely, unless they're very simple.
And if you're doing it for any of those reasons, then stop doing it because you're missing the point.
Do it because you care about what you're building. Do it because you want to share your solution with the world. Do it because you want to contribute.
This article is likely referring to mostly permissive open source, which yea allows people to profit.
We build a commons upon which better software can be built. People write open source to improve those commons, not for charity.
For me:
* I profited off free software that could have been sold as well but was not (25 years BSDs and Linux).
* I rather see my code in use because it means it solves a real problem and it does so in a good way. If I wanted to invest time into turning this software into money, I could. If I don't, why shouldn't somebody else be able to invest his/her time to turn that into money for him/her?
Why does that matter at all? What's wrong with others profiting from something that you can't profit from yourself?
Most FOSS software that is commonly used couldn't be sold for a profit by itself. It wouldn't be used if it wasn't free. Yet, it marginally lowers the cost of software development. The compounding effect of that is massive.
Despite what the GP says, developing FOSS can open up opportunities that you wouldn't otherwise have had. It's just not guaranteed.
Baah.. As long as you're doing a good job and writing good software, I don't give a flying fuck why you're doing it. And please don't stop OSSing because of random idealistic gatekeeping bullshit.
Of course it will. I mean, this is like saying 'making beautiful pieces of furniture won't improve your career as a woodworker'. It's always a benefit to have projects in your portfolio in any kind of skilled trade, whether done for free or pay.
Hopefully they can get references out of it, some contacts, and that first 100 hours of professional coding experience. If not a job, at least the tools to get one.
OSS is a little rough for newbies because it can be pretty open ended, and having vague requirements can get us all in trouble, but it worse for people who don't have any coping mechanisms for ambiguity. Being able to close bug reports is an extremely necessary skill. Necessary, but insufficient.
There are other options like https://en.wikipedia.org/wiki/Code_for_America that should feel more like project work.
Have you done much volunteer work, and for long? I've been working off and on with such groups since I was 16, and in some ways the stories don't change for the successful ones (Anna Karenina again, perhaps?).
Volunteer-based organizations tend to end up with a small number of historians, regulars who show up and help glue the whole thing together. You get a few people who contribute intensely for a couple of years and then burn out because they aren't pacing themselves.
Then you get an army of wide-eyed energetic people who will move onto something else quickly. This is a very, very fat 'long tail' and as an organizer you have to get useful and durable work out of these people whenever you can. The names and faces keep changing on you. To do that you have to direct them, steer them into a project that is already thought up or exists but for whom not enough people are participating. Preferably something with some good optics so they feel seen (and so your organization is seen).
Because if they show up and you let them work on whatever, you get pulled in a million directions. There's no cohesiveness, no coherent story, and without those you lose your narrative, you can't recruit more people, you can't hold onto those 'intense' people who do a ton of the big work, and you disappear.
I don't know if volunteerism requires all three of these types, but it certainly gets them, and they all fill an important niche. Most of the people who are going to read your message fall into the short-timers section, and we need those although we sure would like to turn you into one of the other two groups.
It's such a scam, you work hard on something that tons of companies use for free. If you're lucky, you get a couple bucks in donations. Then, if you decide that you're wasting your life doing this, people yell at you because you transferred the project to the wrong person. And don't you dare mess with the license, you evil greedy developer! (Greed is ok for the companies that use your stuff, but not ok for the people whose efforts they build on top of.) The whole time people are giving you shit for not solving their particular issue, not to mention the crappy things people say about the `standard` project itself.
It's signing up to be treated like a donkey, branded as something virtuous and righteous. No thanks.
But somehow feross is the asshole. What a world.
My gut instinct says no. Open source development should be funded by companies paying their developers to work on and maintain open source projects.
Developers are paid because what they write provides value to a business that will utilize that code to make money. This is true or open or closed source; many companies realize you get more value out of sharing coding resources with other companies to create shared, open source projects.
This is how most open source is funded, and that isn't bad.
What you’re describing is a future where open source is driven and controlled solely by corporate interests, and anywhere user needs or desires or freedoms run counter to corporate interests, they go unserved by open source.
That strikes me as a highly undesirable future.
I'd argue that this is one of the most undesirable futures, and we should continue fighting however we can. Both Kyle and Feross are working their asses off trying to manifest sustainable open source funding and I've got nothing but respect and solidarity.
I guess I just feel that the currency for funding open source is developer time.... you either contribute your own time or the time of developers that work for you.
I imagine that is largely because the corporations here bring to mind faang and their ilk who use software to ensnare their users to whatever purposes they need.
But what if the corporations were of wider spectrum, more Fortune 500 and less silicon valley, whose goal is to create a good computing environment for their companies to flourish in. Then I think the scenario should seem much less dystopian.
What are the incentives for these companies to open source their code in this case?
If these creative and brilliant folks could make a decent living writing open source software that benefits the commons instead of frequently seeking out contracts to write proprietary code for a single company, then we'd all have more innovative open source software to use. Everyone wins.