Hacker News new | ask | show | jobs
by ricardobeat 276 days ago
I find this perspective harmful to OSS as a whole. It is completely fine to release free software that other companies can use without restrictions, if you desire to do so. It is not meant to be a transaction. You share some, you take some.

It’s also ok to release paid free software, or closed software, restrictive licenses, commercial licenses, and sell support contracts. It’s a choice.

1 comments

Just because you can do something doesn’t mean you should.

There’s also lot of pressure for devs not to use licenses that restrict use by large companies. Try adding something to your license that says companies making over $10 million per year in revenue have to pay, and half of the comments on show HN will be open source warriors either asking why you didn’t use a standard license or telling you that this isn’t open source and you have brought dishonor to your family.

> Just because you can do something doesn’t mean you should.

This implies some kind of fairness/moral contract in a license like MIT. There is none. It’s the closest thing to donating code to the public domain, and entirely voluntary.

There are plenty of standard licenses with similar clauses restricting commercial use, no need to create a custom one.

But indeed, the truth is that a restrictive license will massively reduce the project’s audience. And that is a perfectly fine choice to make.

> This implies some kind of fairness/moral contract in a license like MIT.

The license tells you what you are legally allowed to do. It doesn’t supersede basic concepts of fairness.

The average person would say that if you directly make millions of someone else’s work, the fair thing to do is to pay that person back in some way.

Calling someone a leech is just saying that they aren’t following the the accusers model of fairness. That’s all. There’s no legal definition.

We say things like “my company screwed me over when they fired me right before my RSUs vested” despite that being perfectly legal.

> someone else’s work

It is not “their” work anymore (IP rights discussions aside) once they published with an unrestricted license. That’s the point. You do it expecting nothing in return, and do it willingly. Expecting “fairness” is a misunderstanding of the whole spirit of it.

Semantic games with “their work”. An artist who sells a painting can still call it their work, even if someone else owns it. And I suppose the collector who bought it could also call it their work, though that phrasing isn’t usually used.

It comes about because “work” is overloaded to mean both the activity of creating and the product/result of that activity.

>expecting nothing in return

Let’s ignore that no one contributes to open source expecting nothing in return.

I can help someone out expecting nothing in return. Then if my situation changes and I need help, but they look at me and say “sorry your help was a gift so I’m not going to return the favor even though I can”. That person is a dick.

The problem is you are taking the act of applying a permissive license as some kind of ceremony that severs open source software from all normal human ideas of fairness. You may view it that way. Most people don’t.

It’s perfectly reasonable to put something out in the world for other people to enjoy and use. And yet still think that if someone makes a billion dollars of it and doesn’t return anything they are displaying bad manners.

> I can help someone out expecting nothing in return. Then if my situation changes

It sounds like you did expect something in return, conditional on your circumstances. Maybe it's good-will or something, but some kind of social insurance in any case.

Sidestep this debate with one trick - use the GPLv3. No company large enough to have a legal team will be able to use it, you're still squarely within the various definitions, and the FSF basically has to approve.

As a bonus maybe you can get some proprietary software open sourced too.

Is there a real reason not to use AGPL? The fact that it makes Google very uncomfortable[1] is a great selling point to me.

[1]: https://opensource.google/documentation/reference/using/agpl...

For the purposes of me being facetious, it's less infectious than v3. but yeah it would have the same impact on large corps I think
it's less infectious than v3

putting aside the argument about how infectious the GPL is in general, the the current AGPL is based on the GPL v3. it adds additional requirements. so how can it be less infectious than the GPL v3?

AGPL is arguably an EULA, not just a copyright license.
Companies are happy to use GPLv3 as long as they can put it behind a proprietary SaaS.
> telling you that this isn’t open source

Are you talking about promoting some software as open source when it's in fact not? Because yes, there's something wrong with that, you shouldn't do it, and people will rightfully react loudly if you try.

People don't complain about proprietary software honestly communicated as that.

This is exactly the kind of thing, I’m talking about. Open source has mostly been captured by large corporations because purists refuse to recognize the gradient between proprietary and completely free.

If I license my software as MIT but with an exception that you can’t use it for commercial purposes if you make more than $100 million a year in revenue, that’s a lot closer to open source than proprietary.

We should be normalizing licenses that place restrictions on large corporations.

I think the world would be a much better place if we just changed the definition of open source to include such licenses. We don’t even really need to change the definition because normal everyday use of the term would already include them.

Open source is open source. There exists no gradient there.

If your software isn't open source, don't claim it is. You are free to try to normalize your licensing preferences. Even better if you have a nice name for them that don't try to mislead people into thinking they are something they clearly aren't.

> I think the world would be a much better place if we just changed the definition of open source to include such licenses.

You are free to think that. I'm quite certain it's not correct, but nothing stops you. Anyway, you can make a positive change on the world you actually live on by being honest and clear about what your license does, and communicating why you think it's a good thing.

Again, it's a huge plus if you get some nice name that can actually mean the thing your license is.

> normal everyday use of the term would already include them

Normal and everyday use of "open source" does absolutely not include the licenses you are talking about.

If OSI wants to police a phrase they can come up with something original that they can trademark.

>Open source is open source. There exists no gradient there.

Of course there does. If there wasn't a gradient there wouldn't be so many different licenses, there wouldn't be a huge debate anytime on HN anytime someone brings up the definition of open source, and there wouldn't be people constantly arguing about whether licensing requirements constitute restrictions.

OSI is just some group funded by initially by Tim O'Reilly (but now by, Google, MS, Intel and the rest of big tech) to co-opt the free software movement and turn it into something business friendly. They took an already in use phrase, built an ad campaign around it and added a specific bullet point to the definition that said you can't restrict open source software from commercial use.

>Normal and everyday use of "open source" does absolutely not include the licenses you are talking about.

I guarantee you that the majority of people using the term "open source" are using something closer to the dictionary definition than the OSI definition. The average software developer has never even read the OSI definition.

The dictionary definition is

"denoting software for which the original source code is made freely available and may be redistributed and modified."

Nothing in this precludes banning Nazis, or large businesses, or certain governments from using it.

The OSI definition includes that, but adds some technical specifics--one of which is that there can't be "discrimination between uses, including commercial use".

If you want to use the phrase "OSI approved open source", that's fine, but there's a reason OSI doesn't have a trademark for the term. They don't own it. Tim O'Reilly can kick rocks with this word policing.

The most likely and common result of releasing an open source project is that everyone ignores you. If they notice, you may get a question about license once in a while which you can ignore.
Take a look at any show HN where someone releases something with a mildly unique license that includes something that prevents big companies from charging for the software, the open source warriors come out of the woodwork. Every single time the discussion gets completely hijacked and moves away from what the software does to "why don't you stick to the ideologically approved pure licenses?" (btw approved by OSI who are funded by Google and MS).