Ask HN: Open-source commitment for commercial software?
91 points| davidbanham | 7 years ago
I write a bunch of open source software. I also make and sell closed source products. I'm a small shop and sometimes my clients worry about platform risk should I just decide it's no longer worth bothering to support the product I'm trying to sell them.
What I'd like to be able to do is put a clause in my standard EULA that says "If I ever stop offering this software on the market, I promise I'll give you the source under a BSD licence."
Is anyone aware of prior art in this space? I'd love to learn from history before trying it myself.
[+] [-] blihp|7 years ago|reply
Instead, I'd suggest thinking about their concerns and come up with a mutually beneficial way to address them. If they're worried about you walking away from it, offer them a long term support arrangement with some legal teeth where there's enough $$$ involved to guarantee your continued engagement. Bus factor... meh, you're a one-person shop... if they want to mitigate that risk, have them pony up some money and you'll be happy to staff up. etc. etc.
[+] [-] beachy|7 years ago|reply
We had a "break glass" option. If the client wanted to take over the code, they had to pay us a prearranged amount. The actual amount in our case was about 2 x the lifetime revenue to us of the deal from memory.
This seemed to work well, they had insurance, but we knew that if they ever broke the glass we'd be laughing to the bank.
At one stage things got tetchy and we hoped they would break the glass - but they never did.
[+] [-] YorkshireSeason|7 years ago|reply
Typically a customer buys software because they lack (or are not willing to provide) the internal capacity to buy and evolve the software themselves. If the software producer fails, this will slow-down or kill software evolution, bug fixes, production of documentation etc, thus hurting the customer. As but one data point, consider Windows XP, which is still in widespread usage as of October 2018.
Avoiding this scenario is the customer's interest in the producer's continued success.
[+] [-] forkerenok|7 years ago|reply
So I agree with the sibling on this one.
[+] [-] __d|7 years ago|reply
We added a source-code escrow clause to our contracts, and (the much bigger and more difficult part of the commitment) a bunch of steps to our release process.
Escrow is not just the source code: we had to include full instructions for building the software, lists of dependencies and their versions, etc, etc. With modern CI and declarative DevOps, this would be a lot simpler.
We originally just arranged this with our local Intellectual Property lawyer, who (to my surprise) was pretty well set up for this. For instance, one time we accidentally failed to include some files, and they noticed and called us to get the drop resent.
We were later forced to move to using Iron Mountain by a large client who wasn't happy within anyone else.
When we later discontinued that product (due to pivoting to a more specific market niche) one customer took advantage of their escrow rights to continue to build and maintain the software in house for many years.
From memory, we didn't try to enumerate the circumstances under which the escrow would be triggered too much: just saying something like "becomes unsupported". If it's really necessary, lawyers can sort out whether that's the case or not.
[+] [-] hyperpallium|7 years ago|reply
Worse, like escrow, there's no guarantee (or likelihood) that it will be in a state maintainable by the client (or by anyone).
Here's my idea: clubsource, opensource within the exclusive club of customers. They all get source, and are allowed to modify and freely share source with each other - but only with each other. It's not open source. If they did want to share it (e.g. with a trade-partner or subsiduary etc), they need a new license from you. i.e open source, within a club.
The benefit is that they have access to source, now; they can assess it; they can build expertise in maintaining it; they can customize it. And most important for you, they can band together in these endeavours, to either share the load, or for those clients most capable to maintain it (probably for consideration; consultants could also take on this role, by being licensed).
The big benefit for you (apart from overcoming this objection), is it can keep improving and producing sales without you (though people will resent this, unless you make it sufficiently-cheap at that point).
The downside for you is you can't screw them for updates or features or maintenance like an Oracle. And someone could easily copy it directly, or "reverse-engineer" it, and you couldn't really trace it.
[+] [-] techdragon|7 years ago|reply
[+] [-] mherrmann|7 years ago|reply
If no commit is made to fman in more than 6 months, then it will be open sourced under a BSD license.
Commits are displayed live on the home page, so people can actually hold me to that promise.
1: https://fman.io/blog/transparency/#open-source-promise
[+] [-] microtonal|7 years ago|reply
But what happens when you disappear from the web, after you bought a tropical island ;). How are people going to get the source code? Do you use some escrow mechanism?
[+] [-] sleepychu|7 years ago|reply
Great looking file manager will give it a bash next time I'm on my mac :-)
[+] [-] caseyf7|7 years ago|reply
[+] [-] fsloth|7 years ago|reply
https://www.opendesign.com
ODA offers several licenses of their CAD related data processing tools. The most expensive licence gives direct access to source and the right to compile the source, but strictly controls how that source may be used.
You may want to take a peek at their licenses. The source code is available at the most expensive 'Founding' tier:
https://www.opendesign.com/join
The other alternative is software escrow but I would fathom you could just offer a premium license for full source code access and capture all that additional revenue yourself.
[+] [-] boyter|7 years ago|reply
I did get some attention here https://news.ycombinator.com/item?id=12459492 from the post at the time and have actioned on a lot of the feedback.
[+] [-] bradrydzewski|7 years ago|reply
edit: section 4.4 provides a business discontinuation clause that specifies the source code will be released under an open source license if the business is discontinued. The clause was written by an attorney (not something I added myself).
[+] [-] jively|7 years ago|reply
Though software escrow comes with added costs so it’s really down to the individual contract.
[+] [-] abeyer|7 years ago|reply
How so?
[+] [-] keyle|7 years ago|reply
The argument is that you may not be there next year and they'd be stuck in a hole with software out of date.
You could offer to commit 4 hrs per week on retainer in the maintenance mode of the software, later down the track. That gives you a retainer and gives them predictable cost. If the required changes are bigger than the allocated time per week (or they want it sooner) you'd have an hourly rate attached with it.
I always try to build relationships that last and not quick in/out software.
[+] [-] lifeisstillgood|7 years ago|reply
[+] [-] codegeek|7 years ago|reply
1. If YOU go out of business or cannot support the customer for any reason, they get access to the source code with a non-exclusive license.
2. If THEY want to leave (as some others are pointing out in the thread, then they have to buyout the IP for a price. You can either negotiate the price upfront (make it worthwhile for you and high enough that it is not worth for them to do the buyout easily) or leave it open depending on how far along you went with that customer.
[+] [-] PopeDotNinja|7 years ago|reply
[+] [-] tyingq|7 years ago|reply
I can't vouch for it, but I found a tool that does this: https://bitcannery.net/overview
[+] [-] kevinherron|7 years ago|reply
For clients that need/want/demand this you can pass the cost onto them.
On your side, you do the work once in your build/CI to upload/FTP source and artifacts to the escrow agent and you're done.
[+] [-] majewsky|7 years ago|reply
[+] [-] emilsedgh|7 years ago|reply
TrollTech -> Nokia -> Microsoft -> Digia -> Qt Company
Qt is still Free and Open Source under LGPL.
[+] [-] GrumpyNl|7 years ago|reply
[+] [-] cetico|7 years ago|reply
Obviously it still sells today. He doesn't own it anymore and it's not a proper license like what you're asking. But it's a precedent.
[+] [-] brazzledazzle|7 years ago|reply