"Licensing" of Already Delivered Software?
Matterama asks: "My partner and I are treading on thin ice. We delivered six microprocessor controllers with source code libraries to a customer, under a written agreement to negotiate the license for that code from us once they got it working with their system. That time is upon us, and we realize that we do not know how to go about this (yep, we're pathetic). They want to buy 1000 units, and we are not setup to be a Microsoft (nor do we want to be). If I'm going to get a good, simple answer that puts money in our pockets for our work, it will be here. Can Slashdot recommend solutions or sites with solutions?"
This is the kind of matter that's not meant for Slashdot, unless you enjoy seeing your question published and replied to without any gain in real knowledge. Consult an attorney, as they really know how to manage situations like these, unless the armchair-lawyers here. I can't quite understand why you would base your business decisions on replies from /.
A blog like any other.
If you 'don't want to be a microsoft', I assume you mean you're willing to be a decent person about this. That can only work if the customer is also a decent person. If you think that, here's what you do.
/after/ explaining your expenses; that is, how much you want and why you want it, broken up (honestly) into sunk costs, future development, and the stuff for your pocket. Once they quote a budget, if it's reasonable, take 80% of it. If it's not reasonable, say so. That'll make them want to come back.
First off, there are two distinct possibilities. Either they'll be a customer again in the future (in which case they have a vested interest in helping you out) or this was a one time thing. In either case, just ask them honestly what there budget for the project is. Do this
I've had this sig for three days.
Are you hoping to make money off the code? Off of the controllers? Given the information you gave us so far you will end up selling 1000 controllers ("units" I'm assuming refers to hardware) so that is good. License the code any way you like and charge a one time cost for the code. GPL, MPL -like, whatever, allows you to charge for your code. If the code gives you some particular advantage in your market then write up a license that stops them from delivering the code to others but allow them to modify it for themselves.
In short, license it in the most liberal way you can to allow your company to keep the value invested in it without ruining its value to the buyer (they have been working with it all this time, if they lose the ability to alter it now they won't be happy).
Insert pithy comment here.
Here's a better way to get paid, OP : next meeting with the business folks, bring a chessboard and a pocket full of pennies. Set down the chessboard and put the pennies next to it - tell them the first license costs one penny and put a penny on the first square on the chessboard. Tell them the license for the second copy is two pennies and put two pennies on the next square on the chessboard. Tell them for each additional copy just double the previous amount, and put four pennies on the next square to reinforce the concept while explaining that those four pennies just paid for license number three.
... send me 10%. That ought to be enough to buy me some nice toys, like maybe Brazil and Bermuda.
If they go for it
Glonoinha the MebiByte Slayer
You've basically got two questions to answer:
1) What do they get now (binary usage, source usage, source ownership) at what price
2) What will be your ongoing relationship (will you provide bug fixes, future versions, telephone support) at what price.
Make sure you handle both sw and hw.
But, the key thing is to talk to a lawyer who knows this area and understands the tradeoffs between different approaches, especially between proprietary and open source.
the clock on the wall says 4 til 7
Licensing aside, can you actually deliver 1000 units to this customer within the timeframe specified by your contract? (You do have a contract?)
If you can't meet the contract's terms, the license won't be your real problem.
That said, use your head about the licensing terms. You have every right to construct a license that is in your best interests. That's not being "Microsoft", it's just not being stupid.
If your business future depends on your exclusive access to that code, you may already be in trouble, since you agreed to negotiate terms after the potential customer has their hands on it.
If you believe there's a lot of future profit to be made selling that code, then negotiate a license that allows you to do that and prevents this customer, and future customers, from selling or otherwise distributing the code. Yes, this is not in keeping with the spirit of open source, But, are you willing to trade the existence of your business or your future livelihood for the warm fuzzies you get releasing it as open source?
If the code has nothing at to do with your future business prospects, you might as well hand it out on street corners.
It's easy giving things away when your bank balance isn't at stake.
-- Slashdot: When Public Access TV Says "No"
Just be SCO instead. Give the code to your customer. Then, sue IBM.
Ummm...wait a minute. You expect advise, from slashdot, about how to make money on software. You do realize that this place is full of socialists who think all software should be free, right? Good fucking luck. Go eat your ramen, plebeian.
lots of folks saying you need a lawyer... if you have a lawyer, go talk with him, but remember, it's the *lawyers* that come up with these long convoluted "licenses" which blur the boundaries between "license" and "contract" and are full of of BS. It's "job security" for lawyers.
When it comes to copyrights and licensing, the law is on your side to begin with. If you deliver 1000 units with your software, and no license, then they can use the software in the usual way, but they cannot redistribute, copy, etc., etc.
You can grant them additional rights through a license, or you can REMOVE their rights with a *signed* *contract*. Contracts and licenses are different things. Usually a contract includes a license, just to keep things simple, but look at the GPL or other open-source licenses, they are not signed, because they aren't contracts.
So what I would do in your situation is come up with a contract that says you will deliver the units for X dollars, and include a "license section" in the contract that simply says they can't copy, redistribute, perform, reverse engineer, whatever (look at some open-source licenses for ideas).
If you don't have experience with contracts, then definitely get a lawyer since a contract is so "general". But when it comes to software licensing I wouldn't sweat it. If they do anything with your software, the law is on your side, you can sue (you might want to register those copyrights too, by the way).
When I enter a contract with a costomer, my biggest fear is "what if they don't pay, and there's some loophole in here", not "what if they start selling my program", because unless you explicitly give them that right, they can't sell it. Then again I'm an open-source-minded guy, I don't believe in per-copy licensing fees, I only charge for labor and "set up fees" and so forth. I go out of my way to simplify the licensing for the customer.
Just remember that a lawyer is going to go out of his way, making your license as complicated as possible, for *his* benefit.
Figure out how much it has cost to develop/will cost to deliver, double that, there's your price. Pick a number based on the local market rate for embedded developers, and include every hour in your calculation, even time spent in the shower thinking about it. Even if you don't charge for them, you'll need the real number so you can estimate jobs in the future.
In fact, triple the number, then you can give your customer a big discount and they'll love you for it, and you'll still come out ahead.
"under a written agreement to negotiate the license for that code from us"
That probally means nothing. You need to see a good attorney ASAP, because you probally don't have any kind of valid contract.
Conformity is the jailer of freedom and enemy of growth. -JFK