Looking at the Middle Ages, there were basically three ways for "artists" to earn a living.
There were the traveling artists who moved from noble court to noble court. And there were the artists who were employed (at least temporarily) at a court.
Especially later, in large cities, there were also artists whose reputation made it possible to have their own workshop and work from there.
The medieval, especially the early and high medieval nobles considered patronage as an essential element of their own status presentation. One was someone if one could afford to patronize/pay for art.
The benefit of patronizing art was both in the present (I show what I can afford) and in the future (I secure the memory of myself after my death).
And much of that, perhaps unfortunately not as a general value in entrepreneurship today, I find structurally in dealing with open source funding.
There are the "traveling artists" who live on the hope of (irregular) donations. There are the "employed artists" at court and there are those with their own place of work.
So open source projects/maintainers that have to live from many (small and large) donors. Projects/Maintainers that are sponsored/paid by (big) companies. And there are the projects that have a second (often hosted versions and services around the OS project) as a source of income.
Translated with www.DeepL.com/Translator (free version)
And of course there were artists who didn’t earn a living from their art, but still made art.
Wonderfully, there is now technology that makes it near zero cost to replicate their art and make infinite copies. Thus allowing great art to be created outside of commercial models.
Imagine if all the shower singing in the world could mix together and self arrange into symphonies that anyone could search and listen to for free. From shower singers who choose to share their songs, of course.
No thank you, I don't need any shower singing art.
Art costs. Great art costs a lot. You might not be willing to pay the price for great art, but somebody is paying that price. Even if it is just the artist.
Not all Great art costs a lot. Some does, but it’s not exclusive.
Take a look at spontaneous graffiti murals. I’ve seen some amazing ones that were made with stolen paint. The artist used their time because they love the art.
Just like many open source developers donate their time and there are many great projects that don’t cost. But, of course, some do.
No, what I mean is that producing great art usually has a high cost. A particular work of art might have been created just in the spur of a moment, but the artist getting to that point usually had a cost, too.
Consuming art often is free indeed, but this should not be confused with the cost of producing it, and I had the feeling that the comment I originally answered to did just that.
> Users need open source projects, but open source projects do not need users.
I get what’s the author is trying to say, but, as a maintainer of a small, free, open source project [1], I’m really happy to get more users:
- having more users helps to keep motivation
- it helps also with the credibility: we work in a large telco, and popularity can justify us working on it on our work hours
- we get more feedbacks, more bug reports and so we improve our tools. As we use it intensively, it’s benefit for us
When your project reach a certain level of popularity, maybe you don’t « need users » any more but I think the majority of GitHub projets are small, relatively obscure, and can benefit from feedbacks, usage etc…
+1 I agree that user feedback/ideas on improvements and simply knowing what other people value is a key thing, at least for me.
My open source projects consist of about 70 GitHub repos for things that interested me. For things that really interest me, I work them into my free (optionally people can pay me) eBooks[1]. Sometimes readers make really good suggestions for improvements which I very much appreciate. I also use the fraction of books voluntarily paid for as a key signal of what people value so I tend to expand those books with new examples and material. BTW, off topic, but I am starting a long process of converting all of my eBooks to a very permissive Creative Commons license so the material can be re-purposed, even commercially, by other people of companies.
This is a good point. The long tail of not that popular or active GitHub projects, would like to get more active or more users it's definitely not causing any problems for anybody.
The creators are not overwhelmed by too many demands. And the requesters are absent.
The whole issue of controlling your work the amount of work you have and making money out of that, really only applies to projects that get a certain level of attention, for the people in the situation where they want to make money out of it. If you're a student or otherwise don't need the money of course you don't have to care about that
For the casual browser, most helpful would be a "Why Hurl?" paragraph. Hurl is no doubt a play on haxx.se's famous curl -- but how are they different, what problems are best addressed with one or the other, or some other tool?
The title leads one to believe that it's another rant about underpaid open source developers. I almost didn't click it, but decided to blow a few minutes for the hell of it.
Excellent article. It needs a more descriptive title.
Personally I'm not interested in monetizing anything I work on, providing support for companies, or even maintaining software. If I were sent a PR from some company that I didn't really care to have merged, I'd tell them to fork and merge to their branch and they can pull upstream changes to their codebase if they like. This way they're responsible for maintaining their own infrastructure but they can still use my work. If they're not willing to do that, they're trying to externalize their workload onto me. And I deny feature requests if they're out of scope of what I want to build, which is 99% of feature requests.
I am obviously a hobbyist. I prefer personal donations. I have really considered the idea of not maintaining anything and just telling people "here's this thing I made, use it if you want, fork it and maintain it if you want." I don't even care about credit, I link to forks of my own code. I like it better that way. I like to solve problems and make cool things, I don't like to maintain codebases. I do, but I don't like to, and this approach might be a valid one for people like me.
>> [from the article] Many people view funding open source as a moral or ethical problem at its core: essentially, companies should pay for what they use (if a project accepts payment) because not doing so is exploitation. I sympathise with this perspective, but I believe a more helpful one is of economics and incentives, because we can reason about money more objectively and constructively this way.
I strongly agree with this sentiment. Many (although not all) Open Source authors feel aggrieved when their work is used by a for-profit-company, or when they work becomes a direct source of profit to another company. There's some group of developers who believe charging _consumers_ for Open Source programs is somehow unethical or unfair. There are some who believe and Open Source license forces user to "give something back".
This disconnect between "work" and "pay" is a somewhat foreign concept to (especially Western, and inexperienced) programmers - and so this disconnect, which is specifically built-into OSS licenses feels "wrong".
In this sense writing OSS is not for everyone. Lots of people take a lot of pleasure (and find personal significance) in writing code, and distributing it freely. Others need to be paid for their work, and for them a off-the-shelf OSS license may not be the best model.
For example a source-available model may be a good compromise - where the user has the ability to change and use, but not distribute.
I think though it's generally a good idea for programmers to figure out their goals, and what they need from a project. Then there will be a better license fit for that, and ultimately happier programmers in the bargain.
> Many (although not all) Open Source authors feel aggrieved when their work is used by a for-profit-company
I don’t think that’s fair to say. There are hundreds of thousands (millions?) if open source projects with many creators. There are very few authors complaining about this. Perhaps many feel this way, but without some evidence of these feelings, I don’t think it’s accurate to attribute a feeling to millions of people. Even if there are a thousand, and that’s considered many, context is needed so it doesn’t sound like this feeling is generalized to an entire group.
You are right, it was a sweeping generalisation. But I would say it is a common lament, perhaps by a vocal minority, which is regularly expressed here.
But yes, for each one who posts there maybe 1000 who don't.
or they want the marketing benefit of open source, without the loss of revenue when inevitably someone makes profit off their open source code in a way that the original authors cannot.
I think it depends a bit on the real intention. If the author intends to grow their project to a business and is upfront about it, there is nothing wrong with that. After all a sustainable business would imply sustainable project.
The misfortune happens when the concealed and public intentions are not aligned.
there's intent, and then there's action. I personally don't care for intent. I care about action. The actions of some open source projects are in line with the intent that they want to use the PR generated to gain revenue. When the open source license fails to achieve such goals, they complain (like elastic search did).
It's a good post. I wrote something similar a while back about my experiences. Inevitably I ended up on the VC funded path which I don't think Matt really touches on. I think the issue with open source is just expectations, on both sides. You don't build open source in a silo, it's because you want people to use the software and ultimately that means you have to deal with the good and bad parts of that. My most successful project is a Go framework that has 18k stars on GitHub and does 1m clones a month. I don't work on it anymore, I've left others to maintain it now. It was a great experience because I can say I literally built that from scratch but it never attracted the level of attention and maintainers I wanted. So eventually I burned out. Such is life.
Thanks, I guess I got to build interesting things and I'll never regret that. I always wanted ownership over the things I built and it allowed me that fully 100%. But the journey is hard and long, eventually it gets to you. I can't complain anymore though, I have a house, wife, family, etc. I'm blessed.
Great post with a lot of good advice around sponsorship + support.
Is there some sort of how to forum/guide on setting up a hosted versions of open-source projects? Googling this specific thing is quite difficult. A good alternative to setting up my own hosted service is for me to be able to ask DO to charge a $2/10 pm premium via my DO deploy buttons instead. I have sent thousands of clicks their way of which i see $0 via basic referrals. One can dream!
Each service has it's own requirements so it's hard to make a generalised guide.
Unless you're talking about fundamentals of running a linux vm that's exposed to the internet? There are guides on aspects of that, though I've yet to find anything really good in that area.
Not exactly, this is just a guide on how to host the existing self-hosted version on the cloud itself and written for discourse users (aka forum owners).
Do they spool up a new instance via K8S? Do they use terraform every time someone signs up? How do they manage one paid user wanting to run multiple discourses? There should be a guide for this, it would make a lot of OSS maintainers' lives much easier.
In a nutshell: Set up your VM (or whatever), harden the base against intrusion as needed (per the OS provider or application's recommendations) then set up your services following the given guide for a service.
BIND, NGINX, Postfix, Apache... they all have excellent documentation on setup and securing.
I'm curious which aspect your seeing as poorly documented. Perhaps some specificity would help others point you at a reference.
The marginal cost of copying software is zero, so it seems venal (to me) to charge people for making copies of that software.
Writing new software takes effort, and maintaining existing software takes effort, so it seems perfectly natural to charge people for that. (RMS himself charges people for writing and maintaining software, "Free" as in liberty not free beer, eh?)
- - - -
To me the whole point of software, of transistors!, is to change the nature of our economics to a post-drudgery post-scarcity world. "Let the robots do the work and we'll take their pay."
Giving away software should be seen as a way to accelerate that process (e.g. Bucky Fuller's "Design Science Revolution".) In that light, "Open" source (as contrasted with "Free" GPL'd source) is pointless because it omits the crucial aspect of not hoarding software improvements. In other words, Open Source gives away the cornucopia to people that don't share.
We have seen technological progress result in skyrocketing wealth yet most of it is captured and sequestered and we go on in relative poverty squandering our precious moments of life in pointless jobs.
Don't make software development into another pointless thankless job. Use computers and software to remake civilization into a nicer, more fun place to be.
I am my own best customer. I actually prefer it, that so few people use my code. It means that I am free to mod it and do what I want. Once people start using it, I have a Responsibility to maintain it, with priorities that don't match my own.
That said, my projects are every bit as solid, well-tested, documented, and configuration-managed as any reliant project[0 - 2]. I'm actually quite surprised (but not upset) that they aren't more popular.
The main reason for this, is that the Discipline that I apply to each of these subprojects, means that they have tremendous utility in my other stuff. They are all ship-quality. That means that I can absolutely rely on them.
One simple solution to the asymmetry is to abolish it. Instead of releasing open source project touted as a "general solution", why not adopt release it as "here is some reference code, it works for my use case. YMMV"
Because that basically would reduce the efficiencies of open source. Rather than having like a single source of Truth for a particular set of functionalities that can improve and iterate over time as a focal point for the demands and needs of all the people who could conceivably use some version of that software, you destroy all that in order to have everybody taking care of their own forks and so obviously you going to be duplicating the work. I mean with unlimited resources it probably doesn't matter but resources are limited.
I went to the same school and graduated around the same time as Matt. I don’t think he really knew me and I didn’t really know him, but I remember feeling somewhat envious of his open source project endeavors. Looking back, it seems to have been a much harder road than a more naive version of me would have thought. But I’m quite happy for him for the success he’s been able to achieve with caddy. Maybe someday I’ll have a repo that other people would consider using but perhaps I’ll just stick to contributing.
So much of the hand wringing comes from requiring your passion also support you. I want a tasty dessert topping which is also a floor polish. They are orthogonal goals.
If you are skilled and driven enough to found open source projects (the vast majority of programmers are not), you can get a well-paying tech job, pursue financial independence, and become your own patron, instead of hoping thousands of people throw you their coffee money each month, forever.
Then you can work on what you enjoy, on your own terms. Or, you can continue to worry whether your tasty dessert can clean your floors.
Unfortunately in my experience it's not that straightforward. I have a reasonably good open source portfolio but in my experience companies don't care about that. And it really only comes up often as a negative where companies think oh you got to spend time doing this stuff and then the negative for me is that could be IP conflicts in the contract where they end up owning things and it becomes unspecified so... Not a panacea. So better route for open source people is to somehow monetize it.
This is a complex and topical issue. It can be viewed in multiple ways, as a philosophy/ideology, a sustainability/societal risk, a degree of freedom and as a socio-economic system. There is also the business of it all.
My memory of open source in the early days is that it was a mixture of rebellion and passion interweaved with leftist/anarchist stance. A lot of the freedoms we enjoy today were unthinkable back then. What you could do with software, even if you bought it, was highly restricted. If you read about the history back then, you may come to the conclusion that was totally bizarre. Not only were we restricted on what we can do or how we use software, writing software and making it open could subject the author to legal battles and liability. you know what was the next linux?BSD! but the legal procedures complicated its spread and Linus released the kernel at just the right time. I thank everyone who fought for those freedoms.
At that time, most source code that was released under open source licenses(there weren't nearly as many as we have today) was work of passion. I made a few presentations around the world mostly to university students far removed from the bay area to inform them of what is available to them (and secretly convince them to not join the armies developing on a particular platform).
Those days are long gone. And that is ok. If "price" and "freedom of expression" were the 2 dimensions the battle was being fought over, then open source won.
Things changed from "well..uhmm..there is an open source tool.." -> "It is open source" -> "We are open source!" --> "are you open source?"
The open source ecosystem had evolved. I believe in many ways to the better(choice, accessibility, cost) and in some-not-insignificant-ways worse. The accounts of the abuse and hardships maintainers endure are numerous. The bait-and-switch strategy is well documented now. The cloud-eats-opensource is self-evident. The knowledge of the craft, paradoxically, seems more centralized. Certain domains are pretty much proprietary software. Not a bad thing in itself, more like a necessity till economic incentives are better aligned.
There are also a few things which I believe we as a community of practitioners maybe conditioned to overlook or only recognise subconsciously:
1- At some point , open source became a marketing ploy, for individuals or organizations. Open source consumers are not blind or oblivious to this, so they may feel they are indeed paying by giving their attention.
2- The price "$0.0" maybe considered the fair price considering the risks("No warranty, etc.")
3- Substitutes, existing or almost-guaranteed to materialize, are in no short supply.
4- Even though the customer(open source consumer) may not expend a monetary sum, they do expend in kind. We all know the efforts required to get most open source software to work, and to make them work together.
5- There is a mutual, likely unconscious, alienation: one group pointing to the other as the one to blame for not making this ecosystem sustainable. It doesn't help the cause to refer to open source consumers as "vultures". It doesn't help to blame corporations(many of which are responsible for massive open source efforts which would not be feasible without those corporate funds). It doesn't help for consumers to exhibit symptoms of entitlement or subject maintainers to outbursts of anger. This doesn't mean to be apologists or ignore unacceptable behavior. More that I believe focusing on the behavior is more productive than focusing on the actors. One group's apathy to the other doesn't help either one.
So we have mythos and ethos challenges to deal with. Add globalization and they become far more challenging.
In short:
1- We have an economic model that is skewed, on supply side as well as on value capture side.
2- We have an erosion of trust that has been slowly and steadily accumulating over the years.
3- The expectations of the participants are at best ill defined and likely misaligned.
4- Licenses define one type of contract. We are missing "Social" and "Economic" contracts.
5- Speaking of contracts: it can be prohibitively expensive for individual or small teams to consult a lawyer on how to find a balance between open source mythos and economic participation. It can be even more expensive to do that in hindsight. So here FOSS bodies and volunteers could help.
We can simulate what happens from here easily. If nothing changes, it doesn't look good. The rising awareness, however, presents some hope and reason for optimism.
We could try to exert agency and find mechanisms to correct. more decentralised manners could be better fit and easier to customise.
As for a business model, I can't reference any that I believe can be sustainable and result in a viable business.
> 4- Licenses define one type of contract. We are missing "Social" and "Economic" contracts.
People try to reinforce contributing guidelines but then it's not exactly a panacea.
I definitely think there's an opportunity ( for "disruption"? Heh :)) to bring the structuring, ordering and organizing effects of marketplace transactions to open source to clarify ambiguous expectations, to exercise control over the task flow, to connect the work to market realities and rewards.
But an open source project is actually quite subtle and complex in terms of how it is already structured with respect to the interactions between all stakeholders. And participants. Hundreds of thousands or more of tiny little interactions and moments the contribute to the trajectory of a project. So the idea that a single type of business model could fit everything I think it's misguided but definitely I think there's huge scope for creating improvements here.
There were the traveling artists who moved from noble court to noble court. And there were the artists who were employed (at least temporarily) at a court.
Especially later, in large cities, there were also artists whose reputation made it possible to have their own workshop and work from there.
The medieval, especially the early and high medieval nobles considered patronage as an essential element of their own status presentation. One was someone if one could afford to patronize/pay for art.
The benefit of patronizing art was both in the present (I show what I can afford) and in the future (I secure the memory of myself after my death).
And much of that, perhaps unfortunately not as a general value in entrepreneurship today, I find structurally in dealing with open source funding.
There are the "traveling artists" who live on the hope of (irregular) donations. There are the "employed artists" at court and there are those with their own place of work.
So open source projects/maintainers that have to live from many (small and large) donors. Projects/Maintainers that are sponsored/paid by (big) companies. And there are the projects that have a second (often hosted versions and services around the OS project) as a source of income.
Translated with www.DeepL.com/Translator (free version)