Sic Transit License Zero

I officially decommissioned License Zero today. The domains now point to artlessdevices.com.

I can’t believe how long 2021 made me put it off. Take care of yourselves, folks. 2020 debts are coming due in 2021.

Anyway, spinning down the old virtual servers prompted some thoughts, looking back and looking forward. As a result, I’m seriously considering paring Indie Code Catalog down yet again:

  1. Double down on the value of cataloging and showcasing projects in a proud and public place. List dual licensing projects whether they’re using my legal terms or not. Continue blogging as a form of public advocacy.

  2. Spin up a private forum for the folks behind projects in the catalog. Make it the premier place for networking and peer support in the industry.

  3. Continue offering legal terms of all kinds. Make money by requiring folks to pay a fee whenever they use my terms to close sales, rather than taking a cut of sales directly. In other words, offer my terms on the honor system.

  4. Having foregone sales-based commission, get out of the marketplace game entirely. Leave payment processing up to the projects, one by one. No more Stripe Connect. Use click-to-pay links for my own fees on the forms.

I suspect what I really offer here is overwhelmingly legal terms, written guides, and a willingness to advocate publicly for the past, present, and future of the business model. Not Stripe integration. Not uniformity. Not command-line tools. Not technical proofs of concept.

Right before I pulled the plug on License Zero, @Glench, who was still making some sales here and there, let me know that he moved to accepting payments through a Stripe Payment link. As it happened, that’s exactly the way I was heading for a forthcoming project publishing SaaS sales terms on a pay-per-use basis. If I were setting out to demonstrate dual licensing in software, rather than facilitate it, I’d likely start with click-to-pay links for that, too. It’s the simplest. Starting simple is good.

On payments, License Zero was always solving more than the immediate problem. A lot of the stronger sounding arguments against dual licensing for libraries and frameworks turned on a fear that if enough maintainers stood up for their needs that way, users would get overwhelmed. Especially in dependency-dense ecosystems like JavaScript, Ruby, and later Rust, all full of people I like. The fear was that even if dual licensing made sense project by project, transaction costs—“friction”—would grind development to a halt.

License Zero—software licensing with zero friction—proved that maintainers could sell through one platform, standardize their terms, and leverage command-line tools to automate the customer experience. Achieving that existence proof was meant to help folks step out and start dual licensing. Strange coupling there: individuals discouraged from taking action, due to concerns that wouldn’t collectively scale. Solve the scaling problem to earn early adopters.

In retrospect, that was almost certainly wrong. Jump those hurdles by finding and focusing on stronger early adopters instead. Don’t retreat into the comfort zone of source code solutions. Chutzpah, not a user manual.

As for where it led, License Zero’s one-stop-shop payments functionality was never more than a straightforward Stripe Connect integration. That’s saying more about Stripe Connect than anything else—I still haven’t seen a payment processor match its capability, much less its developer experience. It’s also the only way I see to implement commission-based compensation for the facilitator “at scale”. A wholly hypothetical scale.

As I’ve thought about business models for my forms projects—standardized software license agreements, standardized software-as-a-service terms—I’ve ended up very close to what I’ve advocated for software. Publish the work on open channels, but set hooks so common use cases require payment. Rely on customers to initiate the payments they owe. The carrot is doing right by the project and its producer. The stick is ongoing legal risk of getting caught by the producer or some other accountability structure, like due diligence, reputation, or company policy.

That could be more than enough.

2 Likes

:clap:

A great write up and reflection generally — thank you for sharing.

I have a project that is asking for a bunch of template legal. I think there is some innovation around global / remote work. I’ll get in touch.

1 Like

Double down on the value of cataloging and showcasing projects in a proud and public place. List dual licensing projects whether they’re using my legal terms or not.

As I understand it, your approach to dual licensing is to couple commercial purposes with free purposes under the same business model?

If I have that right, then your public advocacy hinges on the feasibility of that model?

Looking at the software landscape, and technology more widely there are I think a few factors that might ‘complexify’ adoption.

Generally, with the triumphant march towards free and open culture practices everyone expects to get js frameworks, tooling, apps, websites for free (as in beer)… we don’t always get it because of stubborn anticommons stuff, and other market coordination failures but generally the strategy is ‘FOSS first’ and then tie people up in other Department II (Consumer goods or commodities) like more features… or locks on devices and in stores… AWS/Azure/Netlify charges for pretty much everything outside of build and deployment…AFAICT.

Capital infrastructure service providers have their ducks in a row, eg. a DEPT II good like VS code → Github Copilot → Github → Azure → $$ (and Amazon and Google have similar ideas)… no doubt Apple too, (though I am not aware of their strategy yet).

So, as it stands, without further public advocacy, I think the dual licensing based on dev micropayments will wither away under the current economic system.

The question we have to answer I think is whether small and medium sized businesses can realistically ‘outrun’ big tech ON OUR OWN - in other words - can we (or should we?) focus on establishing industry wide, standard practices like micropayments for software among ourselves ahead of what the monopolies are doing already to us?

I think ‘no’, so I think we also need public advocacy for concerted, federal, intergovernmental regulation of Big Tech, explicit exclusion of Big Tech from FOSS spaces (on the grounds that the problem isn’t commerce as such, but tech monopoly power), a shift in consciousness towards citizen computing (probably best done in schools?) and transvestment towards social ownership of stuff like IPv6, and the backbone and all of that away from big telecomms and tech corporations too?

With these factors in mind, and perhaps others, I feel that dual licensing is a very much like rearranging the tables on the titanic so to speak?

I agree with @Tammy that it’s not enough to just have a small community of dissenters swimming against the current in the hopes of instigating change.

However, I don’t think just pushing for governmental change is great either.

First of all, we’re in the minority. The FOSS zealots outnumber us, and that makes democracy a more difficult tool to wield for our cause.
Also, the governmental approach often takes time, and involves a bunch of compromises.
And, they (i.e. the corporations) have got all the money in the world for lobbyists; whereas we don’t.

I think the approach @Tammy suggests is valuable, but I also think it’s going to take a while to yield fruit, and in the meantime everything we can accomplish on our own is going to help those of us who can’t wait for governments to fix this mess.

I believe that promoting non-commercial licenses is worthwhile. The process itself brings awareness over time — that free & personal use cases are available for all, and revenue generating ones pay back into the commons of the maintainer.

I’m not sure why you mention micro payments? It’s just payments, not cents at a time. If you think payments for eg a library are low, then good! A broad ability to pay!

And yes, it will take a while to build momentum.

Also: I very much don’t think of this as paying for code. Paying for “thank you” and “please maintain this” and “I’m making money on this and so I am happy to pay you”.

1 Like

I believe that promoting non-commercial licenses is worthwhile.

I don’t like broad, ‘non-commercial’ terms because the term means different things to different people (commercial use in a non-commercial setting vs. non-commercial use in a commercial setting for example) and of course it does not discriminate between a small businees and a large one, which for me is a major problem because of the externalized social costs of large scale exploitation.

Many free & personal use cases are generally already available under copyright and don’t need a provision. Revenue generating licenses pay back into the developers pocket who can withdraw their voluntary labor at anytime so it’s a bit risky at the level of policy.

I’m not sure why you mention micro payments?

Micropayment - Wikipedia seems to fit what is going on here?

It’s possible to square a gifting sentiment with a monetary exchange, paying forward or whatever without undermining the sentiment but it’s a blunt instrument. If I want to thank someone for their work I will thank them, if I want to pay someone for their work I will contract them and pay them… this model seems to compromise both of those clear motivations to me…

Micropayments: some might charge less than 5 or 20, certainly not something I would recommend.

My rule of thumb is to not charge any less than $50 if a business is paying, and even that is low. $500 annually might be a minimum. Totally depends on the software and who the maintainer is.

I mean, depends on how you design the fees. “If you make less than X revenue, please pay Y, if you make more than Z, pay more”. Insert your own custom language here.

I think you’ll find that that sentiment is not broadly shared.

On contracting in particular, you can’t “contract to please keep adding features and innovating on this piece of code”. Never mind the overhead of negotiating a custom contract — which totally makes sense for customization, implementation help, new features etc — but those are much larger dollars.

And also: this is literally the movement we’re trying to encourage and standardize — if you make money, pay the creator.

I would probably write some words (“marketing”) around it as well. Marijn Haverbeke chooses to set a social expectation:

His code is MIT and he is saying — please fund me if you make money.

This is very custom and one off and relies on him having a reputation already — he links to his 2015 dates thoughts on picking this model.

My hypotheses is that putting a license into the world that has clear terms for no-charge open usage of code and clear terms for commercial usage which requires payment is a good thing to have more of in the world.

Maybe this movement building won’t go anywhere — we don’t know. Some of us think it’s worth trying.

1 Like

His code is MIT and he is saying — please fund me if you make money.

I think it’s fine if somebody, voluntarily, chooses to give software for free and only asks for donation.

To each their own.

But I’m not a fan of the idea of spending hours developing something, and then giving it away only to earn the right to beg for pennies.

So, I don’t feel terribly comfortable with his approach.

1 Like

Okay, so you want to encourage and standardize the mechanism for people who make money from software to pay creators by putting a license into the world that has clear terms for no-charge open usage of code and clear terms for commercial usage which requires payment.

I think we both and @Lux agree that the donations model is a decrepit relic of victorian-era philanthropic idealism that works for people whose socioeconomic status can not only bear it but actually enhances their market appeal - virtue signalling.

But I reckon only two things can happen with the alternative you like:

  1. People may use the software for private use, maybe for other ‘free’ uses and the developer will be in the same position as they are currently in FOSS, right? Working for nothing.

  2. Businesses may use the software for commercial use and the developer will have to compete in the market under the same compeitive forces as everyone else. Right?

Okay, so what does this innovation offer that say, standard copyright and/or standard NC or some other standard license already offers?

I can already develop a codebase under something ‘NC-like’, I dunno polyform something or other, and then fork it and develop a $codebase for paying customers under a EULA or something.

Whenever I feel like it I could then push the $codebase to the NCodebase so others benefit too and I get paid and my ego is intact without more legalese than is already out there?

What am I missing?

Your 1 & 2 are hypotheses. We don’t know what will happen. My hypotheses is that increased use of non-commercial licenses will result in more maintainers getting paid and heightened awareness of responsibility of businesses to pay.

Hypotheses 2: Increased awareness of standardized legal terms will make more businesses pay.

Kyle helped build Polyform as well.

I happen to like Prosperity and IndieCC.

“Or something” is where all the work is.

That’s the whole point — making a set of standard licenses and practices.

One codebase, free users and paid, collaborating together. “How do I make it clear that business use cases should be paid for?”

The carrot is doing right by the project and its producer. The stick is ongoing legal risk of getting caught by the producer or some other accountability structure, like due diligence, reputation, or company policy.

I think you’re missing brand, movement building and awareness in here somewhere.

Yes, people who discuss license nuances and economic models in forums exist. It is a small group.

A wider awareness of non commercial licenses that provide a potential path of improving payment for open source maintainers is the goal.

1 Like

@Tammy

Okay, so what does this innovation offer that say, standard copyright and/or standard NC or some other standard license already offers?

I cannot speak for others, but I can speak for myself.
The first thing is that I like the idea of developing software in the open.
My programming language is 100% on GitHub.
I’m not aiming to write closed-source software and sell licenses to it.
I also don’t have a problem with people using it free-of-charge for non-commercial uses.

If some NGO wants to use it for some humanitarian cause, I’d be more than happy to let them build whatever they want for free. Same thing goes if someone wants to build some end-user open-source software that they plan to release for free on the internet.

My only issue is with freeloaders who profit from my software but don’t want to give anything back to the project.
Every hour that I spend working on it is an hour I’m not spending making $$$ doing something else (or even just resting or doing anything else).
So there is a cost associated with me developing the software, and when someone profits from my code but refuses to help me maintain it, I consider that foul play.

People may use the software for private use, maybe for other ‘free’ uses and the developer will be in the same position as they are currently in FOSS, right? Working for nothing.

My goal is not to make money at all costs, but simply to have those who profit contribute to the maintenance of the project by paying licensing fees.
If you don’t make any money with the thing you built, I don’t care if you’re not paying.
As far as I’m concerned, you’re not paying back, but rather you’re paying forward by contributing FOSS software to the world.
I’m not going to be bitter because I’m not receiving $$$ from you, and I’m not going to feel like I’m working for nothing.

Businesses may use the software for commercial use and the developer will have to compete in the market under the same compeitive forces as everyone else. Right?

Whether you charge licensing fees or not, you’re still competing in the market under the same competitive forces as everyone else.
Nobody uses your MIT-licensed libraries because they like you.
They use them because it helps them solve their problems.
Plus, the fact that using those libraries have no price-tag attached gives them a competitive edge over libraries with a price-tag.
We’re used to thinking of FOSS as philanthropic contributions in the form of code, but they operate in the market just as much as any other option; with their main appeal being their non-existent price tag.

Well, if my code has to compete in the market anyway, I might as well charge for it.
At least that way I can have a budget.

2 Likes

Well, if I am honest the appearances here are these kind of statements are more like a wager, aspirations or beliefs in both tone and content. A worthwhile hypothesis is backed up with empirical data, which I think is on my side? We can discuss the observable facts and the facts we are both prepared to accept in this discussion if you want. To screw with Marx for a moment, I think you are not looking to analyse the situation but change it? By that I mean you want to reform the current ‘realism’ for some new ‘pragmatic, idealist’ (Stallman) reality? Fine, things do change… things have already changed with FOSS of course BUT this is at the level of culture not material conditions. We can usually predict what will happen by looking at what has already happened to FOSS, which I think we can agree is a triumph of capitalism… well… neoliberalism anyway.

If we can assume that software licenses are an effective legal ‘currency’ then working practices will tend to follow Gresham’s Law. The ‘bad’ (permissive) licenses will drive out the ‘good’ (restrictive) licenses.

That’s my main point, whatever new legal innovation comes through, the underlying economic incentives will dictate what happens, not what licenses we like, or who we like or what we hope for.

I think that brand, movement building and awareness operates at the level of culture, and culture is subsumed under the economic system and commodified… hippies, punk rockers, new age religious movements and FOSS are all testimony to that?

Please help me understand how non commercial licenses provide a path of improving payment for open source maintainers, which is your stated goal.

If you can help me understand how non commercial terms help me in my work I would really appreciate it. Thanks.

developing software in the open… My only issue is with freeloaders who profit from my software but don’t want to give anything back to the project.

This sentiment is incredibly common, millions of creators think like this, and to my mind this feeling was the seed that gave rise to FOSS ‘1.0’ in the first place… this is the prototypical FOSS attitude… but it is also what is causing the current and oncoming, growing crisis in FOSS.

FOSS 1.0 met the demand in the popular motivation to share but failed completely to meet the demand to not get mugged in the process, which perhaps is just as strong and so the time is right to intervene… most people here seem to me to be on board with this view?

The ‘indiscriminate sharing’ meme died a while ago, except for those whose uncritical commitment to FOSS ‘principles’ has them denying the dire economic consequences for most creators, and the escalation of inequalities among us folks who work with the web.

It is literally impossible to speak to those people because they see an attack against FOSS as an attack against themselves so discussion is mired in confrontational politics. Any FOSS forum has this trait… inward looking… groupthink… ‘toxic’ you might say.

So many creators want to share their work and want to get paid.

This is not in doubt.

I think like that, you do and it seems almost everyone here also thinks like that.

Politically there is a sense of solidarity here I think, but there is a lot to work through in terms of strategy.

@kemitchell and @boris (I think) believe they have some solutions. I have not yet been convinced by anyone here that the solution offered will work for me though. Not yet anyhoo.
I hang around in the hope that either I have misunderstood the proposed solutions or my skepticism is misplaced. That has not happened yet.

I agree with pretty much everything you say here, however I think that the decsriptive and affective narrative you provide is the very reason why I am skeptical of the work being done here and why others like it?

The reason why MIT-licensed libraries are popular is not because it helps them solve their problems but because of the FOSS analogy to Greshams’s Law… permissive licenses are the real viruses here because they push us into stuff like ReactJS, VSCode and so on and so on and so on…

License ‘interoperability’ => popularity => Social License to Operate for FAANG

I think the only option is to extend FOSS further towards a ‘fairness’ principle in some way and bury the current vocabulary of vacant buzzwords like ‘free’ and ‘open’ which are code for nothing but amped up exploitation and appropriation at an industrial scale.

I have not yet been convinced by anyone here that the solution offered will work for me though. Not yet anyhoo.

I haven’t been on this forum long enough to know what everyone’s deal here is (other than, to some extent, @kemitchell 's).

In what way(s) do non-commercial license terms fail to cover your needs?

Yes I’m aspirarionally trying to make change happen.

You disagree that promoting non commercial licenses will result in more payment to maintainers. I think attitudes can change over time and it can result in more payment.

Yes. I think fairness is a good cultural term.

The Fair Source license https://fair.io/ is a form of non commercial license gated by number of users at a company, suited to full apps.

I believe that non commercial licenses naturally appear more fair to people. “If you use this software to make money, you pay the maintainer. It’s only fair”.

1 Like

@Lux Non-commercial terms are problematic for two reasons:

  1. Definition of non-commercial has too many edge cases to be reliable. E.g. All non-commercial entities have financial interests, while many non-commercial use cases involve for-profit corporations in the business sector
  2. Non-commercial terms tend to overreach because of 1. (above)… i.e. they can prohibit use cases and entities that the licensor may not want to prohibit… for example - educational charities raising money while not prohibiting use cases and entities that the licensor may want to disallow, for example Github, or Google Play store.

Non-commercial licenses miss the target I think. To me, there is a qualitative difference between a local landscaping business using my code and a mining conglomerate company using my code. This difference is not because I am morally disgusted by turning of the soil, but politically disgusted at large scale exploitation of workers and natural resources, which is a quantitative thing.

Making money baking bread for local people is qualitatively not the same as making money by dumping sewage in our rivers lakes and oceans, which is why non-commercial licenses fail me, and why I roll my eyes at initiatives that think money is the root of all evil, when it is unplanned economic systems that causes the most harm.

We need to go further than purely financial rationales for licensing. The demand is for fairness in social relations… there is no reason why monopolies should have the same access rights to code as sole traders.

I took a look at fair.io and it obviously suffers from this lack of design features I have outlined. I would be happy to let a massive trade union with hundreds of users use my code to get union subs, while at the same time I would flinch at the idea of finding my code bundled as a free app with a single user EULA with MacOS or something.

@Tammy

I don’t think it’s possible to come up with a one-size-fits-all solution, no matter how clever or intricate or precise the terms of a license agreement.

How about coming up with a license that covers 80% of what you want, and then handing exceptions to that on a case-by-case basis by handing people/companies personalized licenses, if those people/companies want to use your software.

2 Likes

What Lux said. You can make personal exceptions whenever you like.

If the landscaping business makes money by using your software, they can afford / it would be fair if they paid SOME amount to support you maintaining software.

1 Like

Life’s too short to negotiate on a case by case basis. Just FYI, I came up with this scheme for all my current projects. The only way I make money is from consultancy (upgrades / customizations etc. where I actually am involved in flipping bits - doing something physical - changing zeroes to ones or ones to zeroes - not just gaming the copyright system). I haven’t yet found a compelling case for asking my fellow developers or small companies to pay me just for the right to access software, because it feels intellectually dishonest. I have never felt comfortable about making money from selling licenses to civic institutions or the educational and health and social care sectors either because my leftist political preferences won’t allow it.