Low-Fuss Noncommercial Terms

Continuing the discussion from Indie Code Catalog Free License v1.2.3:

I’d like to respond to a few very good comments about “for work” in the free license terms for the IndieCC standard deal. For reference, version 1.2.3 currently says:

You may not use the software to make money or for work…


The main goals were to keep things short and vernacular. I did not reuse the more refined approach of PolyForm Noncommercial or Prosperity, for two main reasons:

  1. I assume that everyone using this free license for their work will also be offering paid licenses online.

  2. IndieCC sellers can and must provide a public e-mail address, so those with earnest questions about the free license can reach out directly for clarification, exceptions, coupons, &c.

Overall, I think IndieCC sellers will want to define “commercial” a bit more broadly, heading off, say, people working jobs at universities or charities. PolyForm and Prosperity currently allow use by folks at those kinds of institutions explicitly.


We might improve clarity of the stricter noncommercial rule a few different ways.

Use More Words

Taking a quick stab:

You may not use the software in business, to make money, or during paid work…

Good dictionaries haven’t been terribly helpful here.

Use a Few Words and a Rule on How to Read Them

We might also take the approach Parity did for scope of copyleft, keep the rule very short, and say how to read them:

You may not use the software for commercial purposes, broadly understood.

That doesn’t do much to guide people with specific use cases in mind who’ve dove into the terms. To offset that, we could copy the “Personal Uses” section from PolyForm Noncommercial:

Personal use for research, experiment, and testing for the benefit of public knowledge, personal study, private entertainment, hobby projects, amateur pursuits, or religious observance, without any anticipated commercial application, doesn’t count as use for a commercial purpose.

We could also consider the “Contributions Back” section from Prosperity:

Developing feedback, changes, or additions that you contribute back to the contributor on the terms of a standardized public software license such as the Blue Oak Model License 1.0.0, the Apache License 2.0, the MIT license, or the two-clause BSD license doesn’t count as use for a commercial purpose.

1 Like

I like this one.

Then next one, “for commercial purposes broadly understood” doesn’t make it more understood for me.

The contributions back is interesting if you’re trying to capture the free licenses for contributors — but I’d want it explicit.

eG Free licenses are granted to contributors who are using the software for any purpose, including for work (mirroring whatever language gets picked for the first part instead of “for work”).

I would much rather deal with free licenses through the paid license machinery. License Zero supported waivers for this initially. And people used them. But I eventually just collapsed them into the paid channel at $0.

I have it on my list to add support for coupons of various kinds to IndieCC.

1 Like

Allowing the seller to grant coupons or waivers appeals to me more than having the license judge the merits of contributions. It enables rewarding non-code contributions too. Probably not so useful if most projects will only charge a small, one-time license fee.


Is “commercial purposes” broadly understood? I thought that was an issue with the Creative Commons NC licenses.

Either the “More Words” or specifying “Personal Uses” approach would seem fine.

It sounds like you’re aiming for a personal, non-commercial license. I’ve thought to suggest such a license for PolyForm.

“Any personal, noncommercial purpose is a permitted purpose.”

Would that make sense, followed by Personal Uses? It might need to be clarified to exclude use within a larger organization.

1 Like

I thought about that, but shied away from it. It would be easy to write: just crib the Personal Uses section from PolyForm Noncommercial. But I think for IndieCC we probably also want to cover situations like volunteering for a charity.

1 Like

NonCommercial has always bothered me because it rests on classifying so many possible factual situations contrary to the objective economic reality. I really don’t see how producers can justify treating a private tutor making $10 commission on selling maybe a dozen or so copies of some educational software as part of her livelihood as being objectively the same economic fact as Apple making, what is it? 30% off developers off all software that gets uploaded to their store?

NC treats these situations as the same… and would ban both. That’s a mindless tyranny.

I think a better way for producers is to make an estimate of how popular their software is going to be. If they reckon it’s going to be used in a million machines they should charge the use value of their labor divided by that, if they are only making it for a niche market, maybe 500 uses, then same applies. Then, allow all the usual exceptions - private study and so forth, maybe free trials, and offer coupons for friends and family and whoever else they want.

All NC licenses need to be put out of their misery. I mean it. Let’s start a campaign. Let’s ban NC. NC is a really bad joke, no fun here.

1 Like

NC folks I think are just lazy… they are wanting a little piece of instant, moneyless communism… they don’t want to work through the long painful processs of moving towards socialism where work contributions are still rewarded, but in a way that doesn’t lead to capital accumulation (ideally). This final part… the bit where software workers contributions end up as megacorporate profits in one way or another is where the massive economic exploitation is… as we have all since (painfully) learned…(?)

Pushing buttons. “You can’t use my work to make money without compensating me.” isn’t “tyranny”. It’s fair.

You’re assuming way too much, telling other people what they want.

The projects and licenses I’m working on here aren’t “socialist projects” or “communist projects” or “capitalist projects”. They aren’t about coaxing people toward any broad ranging political ideology, or drafting unwitting support for any partisan political revolution.

Devs are getting treated unfairly and being led to choices that invite others to treat them unfairly. I want to offer licenses, services, and business structures that lead to fair outcomes where current defaults do not.

I appreciate feedback on those efforts from all constructive points of view. And I routinely find projects of the type from ideologically motivated people interesting and instructive. But that is not where I’m coming from, personally, and I don’t want to limit our discussions here by typing the forum or the group as socialist, objectivist, whatever-ist.

If this is “turf”, it belongs to the folks who want more power, compensation, and recognition for independent and self-organized developers. However folks come to an interest there, they’re welcome here, but as friends and guests, not as conquerors.


Hmmm… I think my ‘mindless tyranny’ evaluation is affixed to the idea of treating a sole trader the same as a multinational simply on the grounds that both are using the work commercially. I am not sure why you think that I think that software workers (‘devs’ if you prefer) insisting they get compensated is a tyranny. I don’t say it here. In any case NC, doesn’t help anyone, does it? It just prevents ANYONE from making money… and that is what I mean by ‘mindless tyranny’. You haven’t given me any reason to change that POV. Did you want to?

Possibly, but for what other reason might someone want to choose NC, but to outlaw money transactions? If I can assume that, then that is a very broad conception of a communist economy, or perhaps more primitively you could say a ‘gift economy’, but at scale… a gift economy operates the same as a communist one I believe.

I understand why you don’t want to use broad political concepts for your licensing work. However, that doesn’t prevent licenses from being evaluated as serving a particular political ideology more than another… I would say this type of analysis is precisely the useful kind of analysis devs need to critically reflect on their license choices.

I find thinking about software licensing in terms of the political economy is… well… critical. License authors and stewards ought to be more upfront about the kind of political commitments they are expecting licensors to make on choosing a particular license.

If the FSF and OSI were more candid about their own political goals, folk wouldn’t have to spend years working out the conseqences for themselves.

I don’t think NC does this. NC is not fair at all, I think I have indicated why I think NC is not fair and ought to be banned. I think this because it treates everyone the same, and that is a particularly issue-laden principle when it comes to co-creating a fairer society.

I hope you find this constructive. The point I am making is open for discussion, there is unlimited room for words other than my words it seems. Go for it.

I opened this topic because discussion elsewhere led to specific proposals to change a license text. I’m not interested in a general conversation on whether noncommercial terms “treat everyone the same” or advance socialism.

The nice thing about these tools is they make things like license and legalities more usable directly by developers.

A developer can say things like “get in touch if you want to use this commercially but can’t afford to buy a license and/or can’t afford to help maintain it for a no-charge license”. These are the types of expectations that one can write regardless of license terms.

Code Mirror / Prose Mirror have wording to that effect: that there is a social contract expectation for supporting the maintainer.

I’m a fan of exploring using licenses with NC terms to embed the expectation that users of software should pay to help the maintainer … keep it maintained.

My “end goal” is to have commercial entities either pay or contribute — and for maintainers to have options beyond creating an entire company that does some other thing like hosting etc in order to be paid to work on maintaining software full time.

1 Like

Me too. My objections to this license are relevant to the topic of the slippery word, ‘work’. Your proposals were either to use more words or less words. My proposal is to ban NC for the very specific reasons I gave. No matter what you decide to do with ‘work’, or this license I think a broader analysis as to the political consequences of this form is, well… broad but also more accurate. I think evaluating license texts sometimes is more like forecasting the weather rather than measuring the rain outside your doorstep… if I can put it like that… a lot of the way software impacts on our lives is non-linear. That needs a less formal and more stochastic approach I think… your mileage obviously is different on this. That’s to be expected. That’s what you get paid for. Right?

My punt would be to speak directly to that demand. Laying down a whole lotta NC first seems excessively vain. If you believe that we are in situation where people don’t expect to pay for software, then I agree, I see that happening. I think the Free/Open movement have done that. It’s become a race to the bottom line. My recommendation would be to get everyone to pay, according to their needs, so Apple might may $10M for some Qt module but a university lecturer using it for some CompSci lerning task would pay nothing. You don’t need to embed NC for that. You just need your license to point to a shopping cart. No?

You’re making the case for the IndieCC :slight_smile:

If you want to flip it around, “NC”, explicitly grants free licenses for those using it non commercially. That’s the point – it encodes this expectation, as well as the expectation of payment by commercial entities.

That is: non commercial usage is protected as a public good, including share alike provisions, rather than commercial software that grants no charge licenses. The definition is subtle but important. It may not be to your taste, but it feels right to me, and we’ll see how it does in building some momentum.


Now were getting to it!

Those feels are telling us this is the way to go… free to (almost) everyone… if they are not using it commercially. Like I said, if I’m a university lecturer, MD, or small business earning money I need a paid license, right? But if I’m Microsoft, urgently influencing millions of developers and quite a few of them fork this on their public repos on GitHub, no one pays a dime at this point, also right?

Tell me where I’m wrong to say there is nothing nuanced about this. This is business as usual, standard industry practice. More of the same.

It will get adopted for the same reasons FLOSS has triumphed… people are using their intuitions rather than engaging with objective analysis of the situation and people, your people, my people, our people are gonna get burned all over again… just like it’s the 1990’s

Until license authors start to engage seriously with the political realities of software reproduction, aint nothing gonna change, surely so?

I’ve created a new repo for the free license terms and opened a pull request redoing the Noncommercial section with some language shopped here: https://github.com/indiecc/free-license/pull/2