Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

Great blog post - thanks for writing it. I've had the same experience with people asking for an MIT license on dependabot-core (the public repo that holds the core logic for my SaaS business, but which has no license and a comment saying those who wish to use it for commercial gain should contact me instead). I already give the product away for free to open source projects and anyone using it in a personal capacity, but for a small number of people that's not enough.

Free software is a wonderful thing - it's fantastic that our community shares its work so widely and generously. It is not, however, the only, or the best, model for creating innovation at all times. I'm able to work full time on Dependabot because by providing it as SaaS I can pay myself a wage and by owning the codebase I can protect myself from a larger player copying my work. There's no doubt in my mind that enabling me to work on the product full time is a better outcome for the world than a license that would let others distribute and profit from it.



sort by: page size:

For me, copyleft licenses like the AGPL solve this issue.

I want to share my hobby projects with others sharing my interests. I want to provide everyone with tools that make the world a little bit better. I want to know others benefit from something I've created. I'm not sure I could (or even want to?) get paid for this.

But I don't want to be exploited. I don't like the idea of unethical companies essentially treating me as free labour.

Copyleft licenses make sure that just as companies benefit from my contributions for "free", I and the rest of the community benefit from their contributions right back. To me, choosing a license like the MIT is just foolishly playing into the hands of the callous giants.


Free software can be closed source, which is why companies love MIT style licenses.

This approach may indeed be smarter. Make the core fully open source under MIT license, but have a paid license with extra goodies.

Please don't give a free license to companies. Charge them and donate your profits to the dependencies you rely on.

Food for thought: Can we create a license which allows source distribution and collaboration openly and is free to use for individuals and non-profits but companies have to pay if they use it for commercial purpose.

It could solve companies vs open source developers situation and give developers financial support. If current open source developers had means to support themselves without full time job, I think that would solve the problem of burnout and depression.

I mean just complaining that companies are taking full advantage without giving back is not working. So time to think outside box?


If you're building software for someone & being paid your time for it, you typically don't get to license it & release it as open source.

I have worked for a gigantic company that faced this exact license term and chose to simply use something else for free rather than pay for it. The capitalist priority is always to reduce cost and increase profit, after all. (Though they also happily pay to reinvent the wheel, because business doesn't understand yet that that actually results in lost value)

It would be better to incentivze companies to donate their engineers' time and work into improving the source code. Often they refuse to do that because they're petrified of patent, licensing, and intellectual property rights issues. Make that a no-brainer for them, and maybe suddenly they'd see the value in not only paying for it, but even contributing to it. I think the true value big companies can bring is an entire software development team and the 'test environment' of a big production use case.


The licensing problem is real, however. I've thought for a while about building a lib for this sort of thing. Funding the time necessary is the hard part. Requiring paid licensing for commercial usage seems fair. Using my awesome project for free fun? Cool. Using it to build something that makes you some money? I'd really appreciate you helping support the continued development and support of the thing helping you make money.

I had a very similar dilemma myself when putting together a project of mine a few months ago. However, at the end of the day, I felt that keeping the license of the solution (or core solution) as MIT was the best option irrespective, and my thoughts came from the following areas in which monetisation can be substantiated.

- Labor costs for staff, which include developers, network administrators, and support officers.

- Costs incurred for resources, server infrastructure, office resources and so fourth.

- And of course marketing and sales of the solution.

The key is to communicate this substation, therefore asking customers for donations, i feel, becomes irrelevant if you can do that effectively. So really the gist is "it's great that the software is free but someone has to run it and even more so someone has to keep supporting it".

Ideally, my opinion on monetisating comes from the business model which encapsulates the solution, therefore licensing the end product can just be focused around the tangibles that inherently make up the business side of a SaaS company.

I think the most murky part of this dilemma comes from professional services and enterprise grade solutions because this is where custom and closed treatment maybe needed for the client. Plus other issues come more from a security standpoint and trade secret standpoint than anywhere else. For instance customisation on top of a SaaS platform via APIs or integration work may require the asset (or code) to be closed source from the perspective to satisfy the clients' needs, but this has always been an issue and is not a SaaS centric problem as the argument only comes during the purchase cycle of a company and the IT manager asks the question "can our business trust open source?".


When I open source code, I use MIT. I have introduced open source strategies at places I work, and guided teams through the process.

Ok now that I've established my OSS cred: I'd be really interested in a license that is effectively MIT, _except_ for the 20 largest software companies, for whom there is no license and any use is restricted (you'd need to clearly define what makes a company a software company, and what it means to be the largest, but that's what lawyers are for). They could pay for a commerical license if the customer demand was high enough.

This seems like it would address the main issue as I see it, that is, I want almost everyone to be able to use my software to build cool shit and make money... But if you're FAANG or some shit, come on. The rules are different.


Everyone likes benefiting from Open Source until someone runs with their work and makes a profit.

My take from all of this is that people have no idea what they're doing when they license their work as Open Source.

The go-to process currently is to slap on the MIT license, call it a day, and then forget about it until they find out someone is massively profiting from it.


I‘m a proponent of MIT and BSD style licenses normally, but this calls for something like AGPL: Allow other researchers and engineers to improve upon your code and build amazing things with it. If someone wants to use your work to earn money, let them understand and reimplement the algorithms and concepts, that’s fine too.

I would be against those software licenses as well. Where I make my own code public I try to use MIT license whenever possible. If I don't want people to copy my code ... I don't make it public. It's not that complicated.

Fully open source software has probably created more economic value in the past 60 years than anything else in human history. We should be trying to share more knowledge with each other, not come up with new and more complicated ways to restrict it.


It would kind of make sense though? When part of the product you are selling is made and supported by someone else, don't they deserve a part of your income?

I know that FOSS works differently, but that's also the reason why a lot of open source software is of questionable quality. When the development becomes a burden (is not fun anymore) and nobody is compensated, why would someone waste their time on it? Good will only goes that far.

Not suggesting that proprietary software is without faults, but maybe such licenses are a good comprise?


Thanks Matthew, great write up. I have a couple of questions/comments

1) Have you guys considered changing the licensing to require larger organizations to contribute financially to the protocol? Permissive open source licensing is great for allowing small upstarts (i.e. individuals like me) to build off of and contribute to development without institutional scale funding. However the virtues of the system become hazy when organizations with gigantic budgets come into the fold and begin essentially parasitizing off your work, despite clearly having the resources to contribute. I'd like to live in a culture where sound moral and economic judgement ruled the day, however based on my experience with the current open source company that I work for (https://goteleport.com) and the similar experience detailed in your funding post, it seems that we simply don't live in such a world. IMO the Open Source world should be considering moving to a Source Available model which looks to maintain the innovation/security benefits of Open Source, while experimenting with a greater variety of license enforced models such that larger players are required to contribute financially. Juce is one example of a project that works something like what I'm imagining (https://juce.com/get-juce), Unreal is another model (https://www.unrealengine.com/en-US/faq).

2) As Matrix grows, it seems inevitable that it will fall victim to the spam problems well known with email. My current understanding is that this spam problem is essentially what's pushed email into becoming a de facto centralized protocol wherein its extremely difficult/impractical for independent operators to enter the ecosystem (without large scale financial backing) -- Big co's have developed a notoriously finicky and unaccountable IP-based reputation system which often causes opaque deliverability issues for individuals who try to run their own servers, resulting in many just throwing in the towel and going with a big email provider that can guarantee high-reputation IPs. Based on the Matrix Foundation's stated values, I wouldn't imagine you guys intentionally using the popularity of the matrix.org homeserver to build a similar sort of system, however since Matrix represents a relative clean slate to address this problem in a way that needn't rely so centrally on trust in a single organization, I'm curious on your thoughts on the following:

There's an idea out in the ether of solving spam by allowing users to set a bounty to send them a message, which is returned to the sender if the user accepts the message as non-spam. So for example, I could set my personal bounty at $2, and if anybody not in my contact list wants to send me a message, they need to include $2. When I accept the message, that $2 goes back to them, but if I don't then I keep it. That way it becomes prohibitively expensive for spammers and scammers to engage in non-targeted spam/scam campaigns, while still keeping it relatively cheap for individuals to i.e. send a message to a public figure they don't know, and free to message a new friend who they're sure will return the bounty.


I think your approach is good. There are several ways to make money by independently making software:

1. Charge money for the software

2. Charge money to help people implement/use the software

3. Leverage the experience and credibility gained to get a company to hire you or sell consulting services

4. Hope that people give you money for the software out of the goodness of their heart

Opting for an MIT license pretty much ensures that the software will only make money for you indirectly via option 3, and maybe you'll get a trickle via option 4. There are numerous examples of people making popular OSS that become frustrated with companies that are using their software to make money, and they aren't getting anything for it. They have to work for other people for money despite having made software that generates lots of value. If you want to ensure that if your software creates substantial value, you get some of it, you need a license like yours.

I think there is a strong argument that if you want to get paid for your software, you simply shouldn't make it any flavor of source-available. A company may actually be more willing to buy software that is closed source than open source, because the closed-source software is simply perceived as being more valuable. Of course, as an engineer, I love that the source code is available.


So I build a thing, and I want to give it away to hobbyists and small, risk-tolerant non-competitors, as a public service and for marketing. I hope to make money later selling it (or selling consulting), probably mostly to big companies.

How is any of what you write above a problem? If the big companies are willing to pay me, then I'll sign whatever commercial license they want--and if they're not, how does it benefit me for them to use it for free?

Big tech companies have done an incredible job of harvesting the value of free software developers working for free. I don't see why a license that makes that harder for them is bad, except for the big tech companies. Perhaps defining "competitive" will be too mushy to make these licenses practical for anyone, but I appreciate the attempt.


I very much sympathize with the goals here (I'm deeply concerned about open source sustainability), but this doesn't strike me as a good solution. Not a single company I have worked for would allow a dependency like this in their repo (and I wouldn't blame them). Not only is it legally gray, but somebody has to maintain that subscription. We do buy licenses but only for big/important stuff. Something like this could work for a project of sufficient magnitude, but I don't think it will for smaller stuff.

A bit OT, but honest question: would it bother you if it was almost-open-source, that is, if license forbid leechers (other cloud providers selling competitive offering)?

I am thinking of releasing a product under Apache + Common Clause, Zero License, Business Source License or similar, maybe with GPL timebomb. Basically, feel free to use, improve and share, but don't sell or offer it as a service to 3rd parties. I would love it if normal users could safely use the product and share improvements, but would still like to have a chance at building a business model which didn’t involve donations or selling just support (I want to be incentivized to build a great UX). Which means I am selling convenience, and probably can't compete with others if they can offer the same without the cost of development.

Since you sound like exactly the target audience, would such a license appeal to you, or would you reject it up-front?

next

Legal | privacy