Open source has a funding problem
Would you work for free? It is a simple but loaded question that requires additional context. Is it working to help a friend do something? Is it work that you would enjoy? Does the act of working for free give you some level of satisfaction? Your gut reaction to the question may have been a hearty, “No,” but many people volunteer for a variety of things all the time, so people will work for free when there is something in it they enjoy.
Open source development could be looked at as a form of volunteering. Many developers have donated their time to either maintain or contribute to open source projects. These developers may not care about being compensated for their time—they are just happy for the experience, challenge or may just like helping others.
Developers that do this for nothing more than a pat on the back are great, however, it can be difficult to rely upon for the open source ecosystem at large. Time commitments are likely the single largest issue at play here, as developers are often working on these projects in their spare time. Between work, sleep, and hanging out with friends and family, having a steady stream of volunteer commitment to a project can be difficult. This issue is magnified depending on the project itself and the skillsets required to do large, meaningful contributions.
Funding open source projects is a way to try and address this. Rather than have developers do open source work in their spare time, they can be financially compensated for it as part of their regular workday instead. The problem with paying for a developer’s contributions to open source projects is how that funding is raised and who pays for it.
Donations are commonly used as a basic means to raise funds—whether that be GitHub Sponsors, Open Collective, or Buy Me A Coffee, etc. While donations are very much appreciated by those who receive it, it relies on the goodwill of others and may only be a sustainable source of funding for extremely popular projects. This leaves the vast majority of projects without adequate funding, though they may not be any less worthy of it.
If open source funding cannot rely on donations, it needs to charge some sort of fee somewhere in the process. But, you say, isn’t open source supposed to be free? Open source is not about free software, it is about freedom of software. As described by the Open Source Initiative (OSI):
Open source enables a development method for software that harnesses the power of distributed peer review and transparency of process. The promise of open source is higher quality, better reliability, greater flexibility, lower cost, and an end to predatory vendor lock-in.
So what is exactly stopping open source developers charging for their work?
Potential licensing woes
There might not be anything as divisive when talking about open source as discussing project licensing. There are licenses that restrict how a project is used or who uses it, and others with no restrictions at all. Depending who you talk to, the mention of a copyleft license like GPL is enough to make some developers run to alternative projects under a more permissive license like the MIT license.
Some of these restrictions in these licenses may seem to be in opposition to openness and freedom that the OSI’s definition of open source proclaims. It may be better to think of these projects as “openly developed” rather than to a strict definition of open source. These types of projects are equally deserving of funding whether or not they are strictly open source. It is with their licensing, however, that these projects may be even more greatly impacted in seeking funding.
Having funding for an open source project requires people to know about and use the project. Developers that want to use the project need to agree to the license and, unless they moonlight as legal experts, understanding the legal ramifications of licenses can be difficult. This is what makes newer and more restrictive licenses less likely to be accepted—not every license that a developer encounters can be run by a lawyer to ensure compliance.
It is, however, in these more complex licenses configurations where open source developers often attempt to charge for their work. For example, having a dual license of MIT for non-commercial and a custom license for commercial purposes. Developers may have a good grasp of the permissive MIT license however may need to avoid the same project at their place of work due to the commercial licensing stipulation. This is an important distinction when considering who would be funding open source development.
The sources of funding
When looking to find funding, consider the different groups who may be consuming your open source project. You have other developers also doing open source work, non-commercial closed source work like what might be a hobby or side project, and commercial projects which may be open source or not. Each of these groups have different priorities and expectations.
Other developers with their own open source projects might seem like a good candidate—they understand and appreciate open source work and the time and effort involved. The problem here is that these developers would likely be using far more projects than they can reasonably fund. There is also the concern of this effectively being a closed ecosystem where developers are paying other developers who themselves are paying other developers. This creates a cycle where not only is there no additional money exchanging hands but the money being shared is slowly decreased through things like processing fees. This is not a viable solution to the funding problem.
Like developers who may use the project in their own open source work, those that have closed source hobby or side projects that depend on you are likely from the same pool of developers as the ones who also work on open source. This is again the cycle of developers paying developers with no real capital investment being added into the open source ecosystem. It might be better than nothing but is not a viable strategy long term.
Commercial use, on the other hand, is a good potential source of new capital for the ecosystem. Companies that use open source are likely gaining some advantage by using your project compared to another solution, potentially making them more efficient or being able to provide specific services to their own customers. Companies already pay for various pieces of software so one extra cost may not seem like a big deal. Unfortunately, but predictably, companies would like to keep their money so unless the case is compelling, they may opt for free solutions.
The value proposition for companies
To put it simply, why would a company want to fund your project? Companies in general don’t gravitate towards the idea of “doing the right thing” for the sake of it. Companies, however, may fund something if they can get something desirable in return. Ideally then, a company needs to be encouraged to use what you’ve built but still want a little more out of the deal.
Perhaps it is security, not in the technical sense but the peace of mind that the open source project won’t disappear next week. Sure, the source code might still be available but unless they have the technical prowess to build and maintain it themselves, the added security that funding the project could provide may be enough. In other cases, it may be to ensure that bugs in the project are resolved with a higher priority or speciality features are made that help the company.
Due to the long term nature of these reasons to fund a project, the type of funding most appropriate here is a recurring payment to help maintain the project. You wouldn’t want to have a one time payment and be on the hook for maintenance for the next 10+ years, you would want something to sustain the project over however long the life of the project is.
For companies to take these approaches though, they need to establish that the costs with funding the project are worth the risks of not funding it. The risks, however, heavily depend on how the open source project is being used, and for how long it may be used. In the short term, it may be companies with new projects integrating your project as a critical component. In the long term, it may be companies with fragile legacy projects which need support for older versions of your project. If your project broke or didn’t work in a manner they needed, it could cost them a large amount of money if their entire system fails. It is these cases where funding your project can reduce their risks, in turn helping their business continuity.
While that may seem straightforward or logical, it is not that simple. Even critically important projects that deal with security and cryptography can receive minimal funding. There is a great post by Aaron Stannard about the sustainability of open source projects with a case study about OpenSSL.
Prior to the “Heartbleed” vulnerability, OpenSSL received about US$2000 a year in donations—not very much for something that is used so widely. After the vulnerability, they received about US$9000 in donations. While it is difficult to put a total cost to the vulnerability, it has been estimated to be as high as $500 million—imagine the project even getting a fraction of that in funding prior to the vulnerability being announced.
Instead of funding the project directly, some companies may have their own developers contribute code back to the project. On the surface, this is great as having additional contributors can take a lot of work off of the maintainer. Even this has issues, as their goals and yours may not align. They might contribute new features you would need to support or bug fixes that break other workflows, changing how you spend your time on the project. Instead of writing any code yourself, you may be only running tests, reviewing pull requests, and validating issues. That may still put you ahead timewise; however; it may not be what you want to be spending your time on. While I wouldn’t want to discourage companies from contributing relevant, high quality pull requests, it is being mindful of what is best for the project, not taking over it.
If the value proposition is not there for the company, or the support they are providing is hindering more than it is helping, you may have to take your efforts a step beyond being an open source maintainer. You may need to create a company around your project.
Turning projects to products
Open source projects often have a very narrow scope. Maybe you have built a web crawler, an API client, a date format converter, a calendar widget, etc. By themselves, these are hard to market and sell as a company, and you could be stuck in the same funding situation you were when you started. Instead, you may want to try and repackage up the project in a larger product that would be marketable.
If you built a web crawler, maybe you are building a web service to automatically crawl sites with a simple API. If you built a date format converter, maybe a service that does language and formatting detection in strings and web pages. Different projects have different potential products and business models that could be shaped around them, and while not every project could easily do this, those that can find customers for this new product have found a way to help fund their open source development.
Projects from GitLab to re:dash have worked this way, taking a project and putting a product-spin on it. Both of these examples used a subscription model to bring income in for their project, allowing them to focus on their work and grow their teams. This in turn allowed more features to be added fast and for bugs to be fixed more quickly.
Starting a company to keep sustaining open source projects is a big undertaking. It can be an extremely time intensive process getting the company off the ground, requiring you to familiarize yourself with business accounting and other legal work, before even getting back to maintaining the code itself.
All of this is easier said than done and skips over the true nature of wanting funding for these projects. Different developers have poured their heart into their projects, dedicating large amounts of time and effort into making solutions, and sharing them with the world. While the code may live online somewhere forever, an open source project only truly survives if someone maintains it.
The human side of open source
To get the most well rounded understanding of open source funding problems, it is important to see multiple perspectives from other people in the community. There are two people I’ve followed for a while that have put a lot of time and effort into various open source projects.
James South, creator of ImageSharp (a .NET image processing library), has been trying to have his projects funded. Even with using Open Collective, GitHub sponsorships, and having commercial support licenses available, the project struggles for funding. I asked him for his thoughts and perspective about open source funding:
The funding side of open source is something I’ve struggled with for a long time now, experimenting previously with less permissive license models (with disastrous effect) and now attempting to fund my work with commercial support licenses. Maybe people look at the number of stars/downloads a project has and see that as a measure of financial success that they don’t think they need to contribute to, or maybe they don’t appreciate the effort involved… I don’t know. What I do know is that something must change. The current situation is untenable and extremely harmful to maintainers.
I also asked Dave Glick, creator of Statiq (a .NET static content generator) and Discover.NET (a site for .NET community resources), to share his thoughts on open source funding:
To the extent a maintainer wants funding (and considering funding isn’t appropriate for, or wanted by, everyone for every project), I think the best thing we as a community can do is accept that the status quo isn’t working. If we use that as a starting point, then the next question becomes “what can I do that’s different?” There are alternate licenses to consider. There are platforms like Tidelift, Sdkbin, and others trying new sales models. The more maintainers that start looking outside the historically accepted project funding mechanisms and start considering and supporting alternatives, the sooner we can normalize those alternatives and hopefully lift up the entire ecosystem of open developed software.
Making open source sustainable
Open source is fundamentally good with the transparency and flexibility it brings; however, as our reliance on it goes up, the overall investment back into the ecosystem has not. It can be easy to take for granted the time and effort many developers put into open source projects. Yet it is with their time and effort that we often save our own.
These developers are not greedy or selfish for wanting funding for their projects. To the contrary, they want funding to keep the project alive. A person has to eat, after all. Funding the project is a means of changing the maintainer’s timeshare—allowing themselves to put time into the project that otherwise would be used for other employment. There is only so much time in a day that a person can otherwise give.
Funding should not be a struggle for open source projects. We embrace open source into our codebases frequently but have yet to fully embrace the idea that funding it actually helps us too. The bug fixes and feature requests need to be implemented, tested, and reviewed by someone who themselves can only put so much time into the project.
While there has been some progress recently with an announcement from GitHub, changing how companies can invest in open source projects, it may take a while to see its impact in the open source ecosystem as a whole.
Unfortunately there is no perfect solution that will solve all funding problems for open source. This post, more than anything else, is to draw attention to the issue that various projects that we rely on heavily may need help. Perhaps start checking whether the maintainer of your favorite project is seeking funding and see how you can help them raise it. Maybe talk to your boss how the sustainability of the open source projects the company depends on is a useful investment for the company. It is with these small actions, and others, that maybe funding open source projects will be less of a problem in the future.Tags: funding, open source
Universal Basic Income.
You’re kidding, right?
Not kidding at all. Free people up from having to work a job to pay their bills, let them focus on what they really want to be doing — building great open source software. Not going to get rich, but at least you can do what you want to be doing without having to worry about keeping a roof over your head or where your next meal will come from. Open source software maintainers (and I’m about to make a huge generalization) don’t want to have to deal with marketing, or business plans, or figuring out how to *monetize* their product, they want to ship useful code that others will use. Give them money and get out of their way.
Linus Torvalds’ work is sponsored by the Linux Foundation. You don’t need Universal Basic Income to make this work.
Be that as it may, Torvalds and others sunk a lot of time and effort into building Linux long before there was a Linux Foundation. He started working on it while studying at the University of Helsinki for his Master’s Degree in CS.
In order to get those who aren’t students or in some other sort of privileged position to work for FREE, some form of incentive must be provided.
Universal Basic Income sounds great. I’d like to play video games all day instead of coding.
Now pay me.
After being laid off, I spent a few months working on my open-source projects (e.g. loyc.net and ecsharp.net) with nothing but CERB for income, which was more than enough. I believe my project is important, but I see no path to commercial viability and achieving a large and Patreonally-generous userbase is unlikely. If I could get $1000/mo, I would have almost unlimited runway.
So yeah. I’m with gabe. However, $1000/mo for every person in a country is difficult to afford. I would propose a basic income of $600/mo, more in line with what a first-world government can plausibly afford without repealing every other social program. Then I would supplement that with a $400-800/mo stipend for those who can show that they are working on an open engineering project.
Alternately, the funding system for “science” should be revamped and broadened so that the focus is no longer about publishing obscure peer-reviewed jargonfest PDFs and rewarding primarily those lucky enough to win a professorship. Making web sites, apps, databases, source code repos, and so forth, is valuable both to modern science and to private industry, and should be funded more than Elsevier and their Great PDF Empire.
you hit the nail on the head david
I’ve been with open source struts for about 15 years now
majority of productive and intelligent Struts devs are now working Private Sector..1 works for HP..2 work for Amazon
there was one guy there I called trump that got hired by ASF as Vice-President based on his in-your-face-marketing
IN the meanwhile there is another Struts guy with initials of DN and myself that still work on the project and answer questions for free
in the 15 years I’ve worked with struts I havent seen a DIME come back..same with DN
In my case I went into landlording business to establish alternative funding so i could pay mortgage, utilities and food
DN moved to Providence RI so he wouldnt have to starve (really easy for STEM guys to fall down the economic ladder in the US)
I think STEM graduates who cannot acquire work because they’re too rural or in my case too old should be subsidised..in some manner
That’s good for refund Young Man projects.
Subscription based, open source software is really a good thing. Developers make money to live on, consumers get what they need (for Thier business snapshot) at that time.
What gives me heartburn is the dishonest pricing of ” By quote only”.
I had a real bad experience that lasted a total of 1 1/4 days when the developers showed my how they sell all info on customers that don’t accept the quote given, with in 90 days.
If a so called, “Open source ” company can NOT be transparent, then it could be a deeper scam than you could ever know.
In this current employment, I have never seen any such issues because the software we recommend, in each business case, can be looked up by each prospective customer.
We won’t even give give a “quote only” company a second look.
Universal basic income is stupid. Why should millionaires get free money?
Yeah, since a minority of millionaires *might* get money they don’t need, less fortunate people shouldn’t even have the availability for something that would help them!
Millionaires already rake in a colossal amount of “free money” from renting out assets they already hold. A Citizen’s Income would make a negligible difference to their lives. If a Citizen’s Income would make a non-negligible difference to your life, you are cutting off your nose to spite your face with this argument. I am not in favour of a Citizen’s Income but your observation is not a meaningful argument against it.
You’d reject UBI for 99% of us just because 1% of the funding pool would go to people that don’t need it?
I expect UBI to be largely funded via tax increases, so wealthy people would almost certainly end up paying more in taxes than they receive in UBI.
sadly the rich and super rich dont pay tax. They might pay $100 tax. Thats why they are rich, their money is protected in a complex network of trusts and company structures often registered overseas, just like apple, google etc, registered through a complex network and landing in Ireland, Panama etc. Thats the sad thing, the USA get very little tax benefit from these big companies, tech, mining, and wallstreet hedgefund billionaires. its all siphoned overseas, a lot of these payments dont even pass through America. If you did get that money there would be a lot more to spend on infrastructure renewal projects, hospitals, schools and bullet trains etc.
Britain pays £285 billion a year in benefits, over 25% of the government budget. Universal Basic Income as defined by Open Democracy will cost £415 billion a year. Where will the extra money come from? The government can’t magic money out of thin air.
A government can only raise money through 3 methods.
3. Printing new money out of thin air
There’s a reason why governments prefer taxation.
I don’t think I’ve ever seen a UBI proposal without some kind of tax clawback (which is also, in most cases, the primary funding source for UBI). The argument is that the overhead of doing this is actually lower than the bureaucratic overhead of deciding who “deserves” money in the *current* regime.
in communism there are no millionaires.
Stop for a moment… My country ( Italy ) is experimenting with the basic income idea. What they are doing is giving money based on what one owns. You must ask for the income, give infos about your properties, other income sources, etc… to the government. If you satisfy the conditions to have the income, they will give you money.
And it is not a constant sum, but it is calculated based on other factors. For example, if you own the house where you live, you will get 200€ less. If you have more than 2 children, the government will add 50€ for each children.
Obviously are media tycoon Berlusconi cannot have the basic income.
Exactly what I was thinking.
I don’t think open source has a funding issue, I think you have an open-source issue. If you don’t feel fulfilled working in tbe field, why continue?
It depends on what OSS ecosystem you want.
The current ecosystem is:
You only can rely for the long term on a few very very very popular projects.
Most projects are born and fade. When projects get a little popular, even small ones, facing bugs, emails etc needs more than spare time, so developers drop it.
is this the ideal world? Thousands of promising projects that are abandoned because they have turned into a burden for developer?
Times when a single developer could make alone in his spare time an interesting project are over. Big long term projects need paid developer(s) . If you want big long term OSS projects, there is funding project. If you don’t care, there is no funding problem.
In a world where software developer earn like 100k USD per annum? I think the only thing this would accomplish is taking money from most of the maintainers, just to fund some Twitch streamers and other “content creators”.
“Would you work for free?” No, work is for money. But “enjoy contributing” your time for free to open source projects you like with other folks in a dream team – yeah, for sure. Why not?
Also there is Loadsharers
ESR is trying to vector donations to people who are doing the unsexy infrastructure work.
This article seems to assume that open source software is maintained by individuals on their free time.
I don’t see why we can’t have a case where several companies each contribute a few developers to an open source project. For example, instead of having 3 companies each make a version of the same thing each using 30 developers, they each contribute 10 developers to make one open-source, shared version of the thing. Cost savings for all companies, and a thing that can be reused by more people, instead of reinventing it.
Unfortunately, it’s a prisoner’s dilemma: it’s cheaper for each company to not contribute to the project 🙂
Some of the greatest ideas for programming language features come from academia, but it seems to me that academics are paid for peer-reviewed PDFs, not engineering tools, which would explain why unpaid work is so important in the foundation of modern software, and why all those cool academic ideas take decades (or longer) to make it into “real-world” languages. AFAICT the issue of open-source funding can only be solved by a government or a billionaire.
I am hearing “Sponsorware” recently in open source communities. And i am considering it for my next projects. By this way they get funds for initial release and make it available only for “sponsors”. https://github.com/sponsorware/docs. Please explain your take on it
I know it’s hard to believe, but there’s someone who is making money from a jquery plugin. Alvaro Trigo made enough money to quit his job simply for making a jquery plugin that allows full screen scrolling website, so every time a user scrolls, a new full screen block appears. He doesn’t sell the plugin outright but instead sells a license to a plugin, according to how many people use it (£9 for one person) and so that you must request a license to distribute the plugin elsewhere (eg. a wordpress theme, a css theme, interface builder).
Bounty Source is a good website. Rather than give money donations to a programmer or programming project, a bounty can be made for someone to complete a programming task for some software, and the money is claimed once someone completes it.
It’s a good way to attract programmers with talent, time and knowledge.
A crypto platform that rewards developers with tokens for approved commits and issues ? Similar to BAT tokens in Brave browser.
This sounds viable
Yes this is true.
Open source has a lot of funding problems.
I know it very closely.
I have build many softwares, CMS, Blogging softwares, sites, Linux Modified Operating Systems.
But hardly received anything in donations.
I am hardly 15 years old, Even unable to pay for a domain . My PC is a low-end two core desktop. Its difficult to survive with that. So I left the open source industry.
Only rich people can do open source projects. I am really thankful to github. They helped me many times. I had hosted my sites there and the student pack was helpful.
Great post. Beside the funding problem, you can expect people to work on their spare time. People have family, a full time job and hobbies, the myth of the lone developer coding all day & night in his cave has to die.
Opensource software makes a big impact in an often unseen way. It is noble, it is cool.
It can be more of a fame game, like YouTube video creators who started doing it for free, or musicians. The more relevant it is, the more people access/use/play it, the greater the chance that the name of the proponents would be known/recorded/reported. It can serve as credentials for future paid work.
It can be a way of giving back to people, knowing that most of us stand on the shoulders of past workers and thinkers, and also that God has given us more than we have ever worked for. Opensource programmers, maintainers, support providers, team members, reviewers, bugfixers contribute tools and solutions to the community both for today and tomorrow. They strive to plant good seeds, and see if these take root and bear good fruits.
Opensource stuff promotes teamwork. Some do what they can. Others use what the first group has produced to form more complex things that the component producers couldn’t make on their own, which benefits both parties. The work of opensource software creators could come full circle and help the thinker-implementor, their family, kids and grandchildren and immediate neighborhood.
Opensource software (which can be extended to hardware or processes) enables for more collaboration. People would be able to help improve it or correct its flaws. It would be possible for others to continue to keep it working, when the original thinker-implementor(s) are no longer able to do so. The effort of the thinker-implementors are maximized and continues on long after their energy and motivation are gone. With it we are more able to keep creeping obsolescence at bay. With it we are able to create more robust, mature, sustainable, modular systems.
Whether they receive monetary income or not for their work, it must have occurred to most, if not all, opensource thinker-designer-implementors that there are so many elements of existence that are more important than money. And that money is just a tool, a tool which in its use is today is also improved by opensource software. Even without receiving money, opensource people receive so much more. It is indeed blessed to give. And there are people who would like to support these opensource work, individual people and big companies who have integrated the opensource stuff into their operations. Thinking of ways to make it convenient for people to contribute any amount at their chosen time and frequency is a good idea that would help encourage the thinkers-designers-implementors.
I wonder if more transparency about the actual founding would help. Something like this:
The maintainer(s) set a yearly goal that is needed to keep the project going. They should also state if they intend this project to be their day job or just a hobby project spending X hours each month. On the project page you can see how much of the needed founding has been received. Preferably as recurring payments (per month or year).
Assumption: Many normal users (or developers) are willing to contribute, but are unsure if it is “needed”.
1) They might think that a popular project already gets enough founding.
2) Fairness: They don’t want to make our people rich because that aren’t rich themselves 😉 A modest founding goal helps.
Yeah, there are many problems with such a model, but I think it would help. It think it works pretty great for Wikipedia.
Open Source is post-paid with the salaries that developers get on the strength of the Open Source projects on their resumes. Your degree and employment history are irrelevant; your Github is your CV.
And that is FAR from the reality as there are several companies that don’t even look at Github, projects etc. Hell they don’t even read you plain ol’ CV.
I’m really confused. The driver for open-source is “scratching an itch”
Most advancements in open source are people or organizations solving a problem or need they have and doing it in an open source way so other people can, both benefit and add to the solution by adding what they need.
Individuals doing it won’t get paid by themselves. Organizations doing it, pay the developers who do it.
Open source is not charity nor should depend on charity.
There is absolutely no good reason why open source projects should be starved of funding. None. The tech industry we have today would not exist without open source. Try buying your OS, compiler, databases, IDE, and all the libraries that you depend on and we’d have no startups. Just IBM and Microsoft.
Shame on any company that’s taking from the open source community and giving nothing back. If you can’t contribute code, because you don’t have the expertise, you can give a few hundred $$$. There is no reason whatsoever why open source projects should be starved of funds.
“free” doesn’t always relate to cash payment, many people gain “enjoyment” which is a form of payment as it’s a benefit to the person, they also get a copy of a decent application for “free”
i understand that MS, Apple etc are trying to destroy the OS communities but not everyone is obsessed with $$$$ – eg Win10’s Linux subssytem is a way to indoctrinate those nasty people doing work for “free” when there’s $$$ to be made…aren’t people allowed to enjoy themselves any more – i enjoyed the thought of making people annoyed by typing this, i don’t need $$$ cause i earned “enjoyment” (it helps your SEO for “free”)
Re: UBI and the childish “why give millionaires money for free” well they get it for free via the taxation system anyway so you’d actually be giving them less for free as they’d no longer be able to exploit people or close down OS projects due to $$$…obviously it destroys the class system as many “enjoy” walking past homeless people thinking “i’m alright Jack” – eg. the current UK PM Boris J used to burn £50 notes in front of himeless people for fun in his college days as one example of payment that costs $$$ but returns “enjoyment”
“enjoyment” IS a form of payment.
I have seen a lot of good open-source projects die.
I think we need a new model for these projects.
I think maintainers that have good financial backing should venture into real open source projects for the masses.
The only reason you should be open-sourcing something is that you need to showcase your work or support another product.
This sentence doesn’t make sense: “For example, having a dual license of MIT for non-commercial and a custom license for commercial purposes.” MIT doesn’t restrict the circumstances under which you can use, modify or distribute that which it licenses. The moment such a stipulation is added then it is no longer MIT. The same would go for adding similar stipulations to other OSI approved licenses.
Two factual errors here:
The article suggests that a developer may license a project under MIT for noncommercial use and use a custom license for commercial use. That is not possible: MIT-licensed projects can always be used for commercial use.
The article also suggests that copyleft licenses don’t mind the “strict open source definition” which they do.
The point of Free as in Freedom software never was business and money in first place. Computer Scientist must be payed for their job if you hire them, otherwise you can assume someone else is paying them for the job or they aren’t doing the job with the purpose to be payed. The Free software philosophy doesn’t force anybody to work for the glory, if you are a software developer just ask how much you want be paided for the job you have done before you publish it. The Free software ideology said only that the software must be Free as in Freedom ( and not Free as in Free Beer) for the end user of the software, it doesn’t say nothing about how much you should charge for a copy of the software. You can even ask a billion just for the first copy of the software you wrote
Yes, Open source or anything “free” has a funding problem… and this is nothing new.
I also develop some open source software and tried some “please donate” projects (i.e. free WordPress plugins). It just doesn’t work.
I’m a professional software developer and just don’t have time to maintain my OS software like I want, because I have no funding for them… that’s it.
People just don’t donate…
But I don’t think it is a problem because of average people not donating,
it is more like: companies build large software applications only with open source software, but never pay even a cent as a let’s call it “license fee”…
on the other hand: there is no nice smart way of how companies can provide money to developers in an “automagically” way.
It should work similarly like music/movie streaming services. I pay amount X in a month and this is distributed to the software I used.
I.e. I’m using Chocolatey for software, they could take money from me and distribute it to the developers for the software I have installed. Same with using dependency management systems like Maven, npm, … i.e. Maven global could just take money, and depending on my requests and downloads they could distribute it to the developers.
More to the point, companies build large software applications that are garbage and force people to turn to Open Source. If Windows or Office were fit for purpose, Linux or OpenOffice would probably never have been created in the first place.
> There are licenses that restrict how a project is used or who uses it, and others with no restrictions at all.
That may very well be true, but since the Open Source Definition forbids such restrictions, those licenses are *by definition* not Open Source, and thus irrelevant to the topic of this article.
> Some of these restrictions in these licenses may seem to be in opposition to openness and freedom that the OSI’s definition of open source proclaims.
They don’t “seem” to be, they simple *are*.
> These types of projects are equally deserving of funding whether or not they are strictly open source. It is with their licensing, however, that these projects may be even more greatly impacted in seeking funding.
That may very well be true, but since they are not Open Source, I don’t see the relevance to an article about funding for Open Source projects?
That’s an interesting article. For sure open source has a funding problem. But that’s not the root of the problem. The root of the problem is in the mentality of software in general, not only open source. Companies (almost) never look at free software as free speech but as free beer.
My personal experience in all companies that I’ve been so far goes like that: “Is it free to use it commercially? Then snatch it! Is it paid? And we are still talking about it?” I don’t know why this really happens. I don’t believe in “evil companies and good people”, companies are formed and managed by people, not robots -although lately that part is debatable. So I don’t believe it’s only malice, it’s mostly ignorance. At some point higher management -usually detached from software and sometimes from reality in general- will ask, why so many software expenses? Imagine a lower manager answering to this that “we have to pay for the software that we use” although there is the alternative to get away only with an attribution. That manager will be crucified in public to set an example.
For the same reasons, I believe that James South’s approach of permissive license is wrong. I don’t know what he means by “disastrous” when he refers to the less permissive license models, I would be genuinely curious to know though. What he tried, where it failed, what did he learn etc. I’ve checked ImageSharp, its license is Apache. Today it’s considered the “de facto” worst open source license for monetizing a project. Bruno Lowage, founder of iText, used to call it Apache Slavery License. It’s his opinion, but given the fight he’s given to make a living from open source, I wouldn’t dismiss him immediately. A similar view is shared by zero MQ community. You can read “Eat me” in https://zguide.zeromq.org/docs/chapter6/.
All these “DoD and government” organizations mentioned in Steve Marquess’ article are behind airtight doors. Go ahead and audit one of them if you think they are violating an open source license. I dare you. I’ve been in such a company some years ago that INADVERTENTLY violated the iText license when the license changed. At some point this was realized but after an INTERNAL audit was initiated. After some internal proceedings, the company decided to simply drop iText and use the Apache equivalent. Regarding the license breach until that point? Who gives a F!!! Morale of the story? If someone doesn’t want to pay for software THEY WILL SIMPLY NOT PAY. End of story.
Don’t even try to understand management. They’ll spend $250K for a product that we told them is garbage purely on the basis of marketing hype and the vendor’s market share. But they won’t spend $30K on a product that would save us 300 hours a week because the product making us spend all that time only cost $15K.
By “disastrous” I meant that I was vilified en masse for attempting to use the less permissive AGPLv3 License, accused of attempting to rip people of and generally bad mouthed. All of which made me feel so miserable I ended up in a really dark and unhealthy place mentally.
I now offer the option of Apache 2.0 or a Commercial License that provides support.
Basically…. If you want any form of support you should pay (a small fee) for it.
Your personal experience matches my own though. If companies can use it for free, they will do. So my earnings over the last year would cover about 1 month of development.
James thanks for reading my comment and for taking the time to answer! Kindly appreciated. The situation sounds very similar to what I’ve read in Bruno’s stories. I can only quote one part that I’ve read a few days before this article was published:
“If you want something for free, offer your own software for free. If you don’t want to offer your software for free, purchase a license for your use of other software. It’s as simple as that!”
He wrote that when he and was in a similar position to yours, defending his licensing choice. That first sentence is very simplistic -childishly simplistic- but very profound: “-Give me your software for free! -Sure if you give yours!”. Anyway, I’m not in position to give any advice especially in open source where I’m just making my first steps. Wish you the best luck with your venture.
Is there an open source foundation which serves as trusted central accout manager for donations? Donations are transferred from the foundation to the specified project and a certificate of the amount of collected money is displayed at the foundation and the project page.
Together with the transparancy measures (see post from Hans F. Nordhaug) this would facilitate my decision to donate as I use open source code but currently do not contribute to projects other than my own.
“So I left the open source industry.” That summarizes the confusion rather clearly. There is no “open source industry”. Open source code is open, source code. It is always shared with anyone who wants to see it, copy it, et cetera. Licensing attempts of open source, are confusing and contradictory, because the source is still open. Open source is a sharing movement, a mutual assistance movement, by which participants in both profit-making industries and other efforts, can share and help each other. It is not a profit-making industry of its own. Any company which claims to center on open source, is not in fact centering on open source: they are centering on human support for open source, in at two forms: support contracts for products, and closed-source add-ons.
For many years I edited some DECUS distributions. Lots of folks contributed (including me). This was mainly people who had other jobs and were working in spare time on odd projects. Not a cent changed hands here; it was done for pleasure or love (“amateur”, from Latin for “love”), and much good stuff was there. Nowasays disribution has moved to networks rather than being done on media in copy trees, though the bandwidth of packages with, say, Exabyte tapes was notable. I revived an old package of mine (“analyrim”, over on Sourceforge) awhile back just to get it running on current systems. (This is a spreadsheet, shows what such a package was like that was written initially in 1982.) There are advantages in not having money change hands, largely in that nobody comes after you for a piece of your revenue and you never feel you have a formal obligation to fix problems. You fix them anyway, usually pretty fast, but the motive is your own personal standards of goodness. I worry some about people wanting to push money into the mix because that can create obligations to fix issues and those time claims are not always possible to limit in scope. A problem that leads to need for a basic design change can avalanche into a much harder fix than you might want to be given to do.
At any rate, the claim that open source developing NEEDS money is often not true and misses motivation of many who have contributed over years.
I can relate to this on a very personal level and wrote up a similar post from a maintainer’s perspective here -> The Five Pressures of Leadership in OSS – https://blog.alexellis.io/the-5-pressures-of-leadership/
This is how things are going for me now, and I’ve actually had a go at most of the options listed here apart from taking VC money.
Despite my profile and how well-received my work has been so far, it makes me question whether I should open source any more code going forward.
I would welcome help and suggestions – my contact details can be found easily on the internet.
Relying on volunteers to maintain every open source project isn’t long term sustainable.
Financed by crowd funding.
“Would you work for free?” Surely the answer from everyone involved in Stack Overflow but not actually on Stack Oveflow’s payroll is obviously “Yes.” Stack Oveflow relies on people who work for free to exist.
Yes, people are happy to spend 5 minutes answering the occasional question on Stack Overflow as part of their normal work day, because in exchange they get to be part of the community and read other people’s answers to questions that help them. But that is a very different thing from spending a solid day, or days, working on open source software for free.
> Relying on volunteers to maintain every open source project isn’t long term sustainable.
1. You’re quite biased considering this venue.
2. Yes, it is sustainable.
3. Open Source is not necessarily about volunteers.
4. There are more kinds of relations between a person and piece of software s/he is working on than “this is my job” and “I’m volunteering for fun”.
Very interesting subject. The core issue could be reframed: Why are youtubers able to monetize their fame while developers not?
The answer is, youtube ads model. The more views the more ads, youtubers get a share of the ad revenues, automatic, no hassle, win-win.
Open source funding should emulate the same youtube model. The more stars/downloads an open source project gets the more they should earn.
However, since ad revenue stream is not applicable for Open Source, there lies an opportunity for Github (or Gitlab, etc.) to deploy 25% of their paid subscriptions revenues to fund open source projects. In other words, for each 4$ monthly subscription, 1$ goes for Open Source. Companies can choose which Open Source projects to contribute to (their chance to support the libraries they use in their companies stacks which is great).
Still need to think about compensation schemes, but you get the main idea. It could be a starting point. Let me know what you think.
And give Big Tech even more control over which OSS products get visibility? No thanks.
Okay, good idea.
Now, YouTube pays percent of cents, for each view.
Either is a open source “By quote only” realistic…
At my current employment, we recommend Open source software all the time, but , with a subscription.
That gives them the freedom to hire in house developers , or just use us..
They can go to any site of the products we recommend, and do some investigating on Thier own.
Subscription based is the best way, as long as it isn’t abused.
Oh, and by YouTube standards, percentage, of a penny.
Look at companies like Invoice Ninja. A great product for emerging businesses. Cost is simple for any of our business we would recommend that too, and they a TOTALLY transparent
Now, compare that to say “OD*O”. They rape everyone on a “Premium” function, that they had, zero, input. And the developers that sell tere, have to pay a commission , to be , ALLOWED, to sell there.
Open source developers are the entire backbone..
Either that or open-source project you like/need/use would went dead or bought by some large company, probably just to kill it as oponent. Anyway, everyone loss. And the pool of those OSS project people is not unlimited.
Hmmmm, the Stack Exchange communities are supported primarily by folks devoting their free time to answering questions … sounds like ‘open source’ to me; should SE contributors expect to see a compensation model in the near future?
Being charged to read answers on StackOverflow would kill it I believe. (Compare to https://www.experts-exchange.com/ which has a monthly access fee of about $30. Anyway ever use that instead? Not me). Advertising on the side bar is the revenue model that StackOverflow currently uses, and I think that is much preferable. People give their time to answer questions for free, so reading the answers should also be free.
What about funding a project via time/computer resources?
Since cryptocurrency can be mined, I think one way to fund a project would be to ask folks to use their computer to mine crypto for a bit that would automatically go to the project’s account.
This could either be an explicit ask or tie it into the download/install time of a project. The download/install would take a little longer but I doubt most folks would care if it took a few extra seconds. And to be clear, this mining would not run in any production environment as I think that would be too much to ask.
Absolutely agree with the sentiments here. Basically, there needs to be some flow of funding from the people who are getting value from a piece of software to the people who develop it. When there isn’t, it stagnates. Classic example is libxml/libxslt which in its time was a fantastic piece of software developed by an enthusiast in their spare time, and is now deeply embedded in the world’s IT infrastructure (e.g. in every web browser) but no-one has the time, inclination, or financial reward to produce a v2.0 to bring it up to modern standards. We produce a competing product on a “fremium” model – basic product is free and open source, serious users pay for a premium version, and for 15 years this has generated enough revenue to pay for ongoing development, which both the open source and the commercial users benefit from.
Another point of view is that open source software being free threatens the success of commercial software, and potentially drives software developer income down since everyone comes to expect software to be free. A case in point in QGIS, which is now a serious competitor to commercial desktop GIS packages.
You’ve clearly identified and delineated the issue, but there are numerous problems with various options.
Many of those problems center around ownership and control of a project and it’s trajectory. The benefit of straight donations is that they are understood to be freely given with /no strings attached/, whereas many other forms of investment come with implicit expectations that the project will favor the investor ‘s desires and/or provide benefit proportionate to their investment. Even when direct influence is minimal, the impact of contributors paid on someone else’s dime can push a project in a different direction than the originator and/or project maintainer wants to go.
Additionally there is a complex interplay and conflation between Open Source and Free Software (free as in beer) which must be disentangled, at least intellectually, if one is to be truthful. Projects which are Free Software pose different dilemmas than those which are merely Open Source.
Adding “funding” to “open source” will like many things, corrupt the incentives and bias the outcomes to those people/entities that can optimise their funding models. So the people doing it “to scratch an itch” will be mashed into the pavement.
Remember when the olympics were amateur sports people scraping by on donations but achieving personal victories? Now, it’s a multi-billion dollar race that’s biassed towards winners from countries with deep pockets. Sure we celebrate the little guys when they win, but the counties with the high medal tallies are the ones with the most dosh – thereby attracting the best performing sports people.
In the corporate world, we see companies getting big by acquisitions and then killing off the competitors.
Not sure what the open source corrupted form will take, but it surely will happen once structured money goes into it.
Jed Watson gave an excellent talk in 2020 on funding for Open Source at React Conf AU.
Highly recommend as a companion to this article; it touches on some of the same points while also giving deeper into some viable options:
Jed Watson, The Value Of Open Source: https://youtu.be/AdVQdXS6ooQ
I believe building Open Source has some parallelism with building a SaaS business. If one is to create a software without a well thought out strategy on how to price it or position it, then the chance of failure is quite high.
Just like most SaaS products, there is always a free version, a paid version and probably some premium version where you hit the high profit margins. Open Source needs to have that kind of strategy as well in order to sustain.
If one is to observe, most open source projects comprise of very few active contributors while the rest of the contributors are mainly just contributing bug fixes. If say, one or small group of people just happened to create an open source project that grows virally quickly, maybe what is missing is to match it with a company who is selling some software that potentially has the same customer base that uses that open source software too.
Just like why Atlassian wanted to acquire Trello for such a premium when Trello is only generating a small amount of revenue, its due to the fact that Atlassian figures that its still worthwhile to upsell Trello users instead of spending marketing dollars to acquire new customers.
Maybe this is not the only strategy, but I believe its a viable one. For some company to “own” the open source, and still retain its MIT license, while at the same time trying to upsell the users to products that can generate more profits. The company that “owns” the open source will have a financial incentive to allocate committed resources to ensure that the open source is maintained well since it reflects on the reputation of the company as well. Talented programmers may be motivated to become contributors in the hope that they can get hired by the company if the contributions are good.
If the company decides not to support the open source anymore then maybe we need a marketplace so that they can sell the open source to other interested parties or such.
So back to my initial statement, open source needs to be thought out as a business instead of just some passion. Apache Kafka is a good example of a profitable business around open source, and there are many other examples after that.
Nobody is talking about the Tax implications, No business can make a purchase to fund a project without a corresponding Tax invoice. As the Tax landscape for software has changed over the years it can now be a big problem for someone to accept this payment as they then have a tax liability and potentially a fine for not registering for local tax in the country/state of the customer. Some countries there is no limit and just one invoice would trigger requirements that would cost thousands.
Nobody even talking about a possible political solution to this. Grants for open source developers and tax reducion for companies that fund open source projects. In my way of seeing this, has a similar good effect as laws and public actions towards ecological sustainability.
Thanks very much for this post! I greatly appreciate the clarity of your writing, and have shared your thoughts with others by e-mail and on forums. Good discussions ensue!
I should also let you know that I’ve made my own post, in reply, addressing the “MIT for noncommercial” model you mention in passing: https://writing.kemitchell.com/2022/01/21/MIT-for-Noncommercial
It’s about a rather small legal thing—my field—but a problematic one I do see cropping up from time to time. I hope you’ll understand my words more as an expression of gratitude and respect for your post than any kind of sharp-elbowed thing!