I agree. Bond is nice in theory, but I too see a much higher risk in implementation.
- Regulators will need to be iron-fisted and straight-backed, with any slack on their part allowing companies to get away with much. For example, if they do not properly audit a bond, a company goes under, and it isn't nearly enough to support maintenance... Guess that's it? What now? That's what I was alluding to earlier.
- Banks will need entire new departments and staff to understand the nuance of the companies that wish to take out bonds with them, to ensure the bond will be able to support the maintenance window as required by law. Or, if not the banks, the government could set up these departments. I suppose it doesn't need to be a dedicated team, and someone could fund researchers and industry experts to help when required, but that doesn't as well guarantee they will be impartial and honest in their assessment.
- Government must also make sure audits are processed quickly and efficiently. Get too backed up and companies will fail before they have a chance to fix things. And by that point, regulators have lost the initiative to get the company to rectify the bond before they go under.
- As mentioned, though in not so few words: no one is going to like this. Banks will hate having to set up these bonds, startups will hate having to set up an extra round of funding just to pay what will surely be exorbitant costs, investors will hate the initial round for startups skyrocketing, the government will hate having to constantly audit the bonds and the parties involved in them...
- What if the product or its infrastructure is so horrendously unmaintainable, that not even what was thought to be a sufficiently sized bond can cover it? What if no one wants to maintain it? You surely can't force the original employees to do so if they quit, and third party companies/government orgs are not going to know enough about a product to keep it going without any hiccups. What if they fail to maintain it and everything falls over? When do you throw in the towel, when all the money dries up? What happens to then consumers then, with their promised 10 years of support is over in one?
I still prefer the code escrow idea, because it encourages community support and personal innovation over extended support of a product that, let's face it, probably wasn't that good to begin with if the company went the way of the dodo. Of course, this is showing my own bias, as I personally would much prefer having code to tinker with, over some gizmo to keep whizz-banging for a wee bit longer. But I'm sure the average consumer (in today's culture) would vastly prefer the latter, nor would most of them benefit from the former.
And I also think the requirements to properly implement would be significantly easier on companies, investors, banks, and regulators. No reliance on a bank willing to fund a bond (which they all may deny). No possibility for funny business in shorting the maintenance costs. Very very easy to audit, since all you need to check for is that contributors have signed their rights away.
Simply add this standard clause to your CLA, super straightforward, no fuss. If and when your company goes under, and if no one buys it, your code, schematics, and other intellectual property must be released to the public. Fail to do so, figureheads get fined or go to jail. Yes, products will stop working compared to extended maintenance on bond, but if the products are good enough and popular enough, someone will step up and get them working again. We already see this with products that aren't open, through the sheer power of hard work via reverse engineering.
You would also surely see new companies spun up simply to continue the maintenance of products, since the code is now open and people can do whatever they want with it. Now, you won't be able to guarantee your market, since someone else could step up and do the same thing, but you would surely be able to make some money through a bit of extended support, and consumers would get a working product for your effort.