Slashdot Mirror


"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?"

25 of 57 comments (clear)

  1. Try this? by man_ls · · Score: 3, Informative

    Go with, customer may perform any modifications to the source code and program for the purpose of developing applications for their customers, but may not resell the source code without an additional license fee/royalties.

    I.e.

    May modify code and build modified binaries, and redistribute binaries.

    May not distribute their source code in any form.

    1. Re:Try this? by Glonoinha · · Score: 5, Funny

      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.

      If they go for it ... send me 10%. That ought to be enough to buy me some nice toys, like maybe Brazil and Bermuda.

      --
      Glonoinha the MebiByte Slayer
    2. Re:Try this? by Prior+Restraint · · Score: 3, Funny

      If they go for it ... send me 10%.

      Tut, tut. I shall ask for only 1% of the first license (rounded down: $0.00), 2% of second license (rounded down: $0.00), 4% of the third license (rounded down: $0.00),...

      Clearly, my offer is much more generous than Glonoinha's, so I urge you to take me up on it.

    3. Re:Try this? by gcaseye6677 · · Score: 2, Interesting

      I hate to say it but, these guys are going to get fucked. There's no avoiding this. The company has their source code, and there's been no agreement for them to pay. Now is not the time when they can or should try to force a license agreement. The company most likely will pay something, but it won't be favorable to the authors of the software. They will have to take whatever they are offered and if they don't like it, what can they do? I doubt they can afford an attorney at this point. Chalk it up to a lesson learned, and never make the same mistake again, guys.

  2. Consult an attorney... by mOoZik · · Score: 5, Insightful

    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 /.

    1. Re:Consult an attorney... by mOoZik · · Score: 3, Insightful

      My point is the information here may not be accurate, as this is the internet and anybody is anybody. I would not spend a cent on the sayings of an anonymous few, perhaps you would?

      Keep in mind this is different from product recommendations or other such things: this is a serious matter, at least it would be if it were not asked on Slashdot.

  3. Well... by addaon · · Score: 5, Interesting

    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.

    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 /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.

    --

    I've had this sig for three days.
  4. Simple answer by reynaert · · Score: 3, Insightful

    If I'm going to get a good, simple answer that puts money in our pockets for our work, it will be here.

    Yep: get a lawyer. Also, don't ask for legal advice on Slashdot.

    1. Re:Simple answer by Glonoinha · · Score: 2, Funny

      Legal / financial / technical advice on Slashdot : good, accurate, free (pick one.)

      --
      Glonoinha the MebiByte Slayer
  5. What it the goal? by narrowhouse · · Score: 4, Insightful

    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.
  6. Split this one up by coyote4til7 · · Score: 4, Insightful

    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
  7. Can You Deliver 1000 Units? by reallocate · · Score: 4, Interesting

    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"
  8. You don't have to be Microsoft.. by mr.scoot · · Score: 5, Funny

    Just be SCO instead. Give the code to your customer. Then, sue IBM.

  9. Slashdot?!? by Anonymous Coward · · Score: 5, Funny

    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.

  10. copyrights are easy enough by Anonymous Coward · · Score: 5, Insightful

    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.

  11. Facts by fozzmeister · · Score: 3, Insightful

    Unless there is something saying they can use the software, they can not. the whole point of a license is to give the customer a right to use it, and it will not matter how many thousands of pounds they paid you to build it! Therefore it doesnt technically matter if it is delivered. to put it into context they are un the same situation as if you had a warez copy of MSWord. Of course they know you've done the development so they may think they are in a very strong bargaining position, so its just how much you are prepared to stick to your guns. Id say your position is strong er than if you'd done this before starting work, as they know the quality of the end product and if you tell them "the license is you can use it on christmas day" they will have to pay someone else to develop and have yet more delay.

    In short, be a hard bastard!

  12. Dare I even mention this.. by maskedbishounen · · Score: 2, Funny

    Step 1: Develop Code
    Step 2: Meet to negotiate license
    Step 3: ????
    Step 4: Profit!!!

    --
    "An infinite number of monkeys typing into GNU emacs would never make a good program."
  13. Cost by sql*kitten · · Score: 4, Funny

    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.

  14. Bad move by duffbeer703 · · Score: 4, Insightful

    "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
  15. You. Are. Screwed. by Anonymous Coward · · Score: 2, Informative
    You have done quite possibly the stupidest move in software engineering. Delivering product without even an agreement to pay, let alone actual payment.

    After you get out of bankruptcy, try to remember this incident, mmkay?

    Negotiate payment BEFORE A SINGLE LINE OF CODE IS WRITTEN. Your contract starts with a MINIMUM amount, which MAY INCREASE depending on the work involved in the project. Don't EVER give the client a chance to screw you, BECAUSE THEY WILL.

    1. Re:You. Are. Screwed. by dubl-u · · Score: 2, Insightful

      Negotiate payment BEFORE A SINGLE LINE OF CODE IS WRITTEN. Your contract starts with a MINIMUM amount, which MAY INCREASE depending on the work involved in the project. Don't EVER give the client a chance to screw you, BECAUSE THEY WILL.

      If you do business with people who will screw you just because you can, you're fucked no matter what contracts you have. Even if you have 100% airtight agreements written by the world's best lawyers, a malicious client can make your life a living hell. As my lawyer says, "They can sue you for anything they want. Eventually you'll win, but that can take a long time."

      Instead, do business with people you like and trust. Then, as you suggest, get everything in writing up front. The main benefit isn't the ability to have a court enforce things; the benefit is that everything's clearly spelled out while things are still sunny. That makes getting through the storms much easier.

  16. How to hire a lawyer by mbstone · · Score: 3, Informative

    1. Your Friends
    2. The Yellow Pages
    3. The County Bar Association

    Some people worry they can't afford a lawyer. You have a deal for 1000 units, so this is not your problem.

    Some people have an irrational fear of actually picking up the phone and making an appointment with a lawyer. If this is your problem, stand on your head and take ten deep breaths. Consult with a doctor before beginning any exercise program.

  17. Business Models 101 by Anonymous Coward · · Score: 3, Informative

    Your question gets to the overall question of business models. How best to turn a good situation to all participants advantage? That is, you, in selling the units want to not just recoup costs, you also want to make a profit to invest in future business activities, including the possibility of "down time" while you are not making sales, generating revenue, etc. Most folks forget this.

    What you do not want to do is to ask your customer to set the price for you. In any negotiation, you have to make sure you control the conversation, make the initial offer, and steer it along the lines you need. This means something like the following:

    a) compute the development costs for the system. Be realistic and honest. Do not discount your and your companies time/efforts/equipment.

    b) compute the production and support costs. Rampup is not cheap, requires procedures be developed. Support is not cheap. Requires people/procedures.

    c) compute the space costs, and other indirect costs of doing business. These are not cheap. If these folks are your only customers, then all your indirect costs are due to work on their behalf. If they are one of several, try to apportion the fraction of the indirects that are due to their project to this.

    d) sum up the costs. Call this variable $cost.

    e) now what profit do you need to make? Look at it this way. If the customer stopped ordering after the 1000 units, how much money would you need to stay in business for a month or two if they are the only customer? Figure out what a reasonable profit is for this. Call this $profit.

    f) now sum together $cost + $profit and divide by 1000. That is your price per unit to your customer.

    Once you have this price, do not, and I repeat, do not tell this to your customer. Give them a number 10 - 20% higher.

    They are going to negotiate with you over the price. Their goal is to minimize their costs. Your goal is to attain the number you need ($price + $profit). These two are incompatible without agreement, so you start a little high, and let them talk you down to their number. You get a concession for this number. They help you find another customer, or they promise to order another thousand or so. That is, it is in their interest to provide you what you want, in order for them to get what they want.

    Note: if the customer simply says "OK" and starts writing a check, you have made a critical sales mistake. It is called "leaving money on the table". The customer would likely have been happy with a higher number, which means that you missed out on that profit.

    Remember, you do not want to gouge your customer. If what you deliver is critical for their efforts, they will be willing to negotiate with you. Just be aware that the stances that some folks take when negotiating can be infuriating, no matter how cordial the relationship is prior to that.

    Your goal is to build a long term supplier relationship with these folks. Repeating revenue is much much better than a large revenue infusion. The latter will seem bigger, but it is harder to maintain business with this. This is why everything is going to subscription based services.

    As for the software, well, this is going to be unpopular here, but tough.

    Open source does not a business model make.

    It is a bad strategy if there is value in what you have done here. You may want to grant the customer freedom to modify the code, or to hire others to modify the code (why, thats revenue off your company, or if you are a small operation, food off your table). You can give them the right to alter the source code.

    Do not give them the right to redistribute the source without your permission. This is a bad thing if you have competitors who would benefit from seeing the code.

    GPL advocates are likely to be up in arms over this. Runs counter to their thinking. Then again, when you have a family sitting across from you at the table, and you are worrying where your next che

  18. Re:You're in a really strong position by Animats · · Score: 2, Informative
    He's in a strong position because they are using the program without the right to use it. He owns all the rights, and the user has to come to terms with him to use the code. Otherwise, he can drop the big "anti-piracy" law hammer on them, going after them for DMCA violations and such.

    This is when you need the intimidating law firm.

  19. Don't sell on cost, sell on value by JohnQPublic · · Score: 3, Insightful

    In either case, just ask them honestly what there budget for the project is. Do this /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.

    No no no, don't do that! Your costs have nothing to do with the price a customer will be willing to pay. One of the basic tenets of capitalism is that goods trade at or near their perceived value. If that value exceeds your cost, you make a profit (congratulations!), if not you take a loss. How much profit you make is direct compensation for the value you added to the parts you obtained before selling the result to your customer. This is the true meaning of "value added" (not to be confused with the "value added reseller", a synonym for "retailer").

    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.

    Now that's good advice, or at least almost. There are two schools of though on deals: "Everyone should feel some pain" and "Everyone should feel happy". The former is based on non-recurring sales, where you can squeeze all the profit you want and then scorch the ground. The latter assumes that your repuration with this customer is valuable to you, and theirs with you likewise. If you believe in recurring sales (usually a good thing!), you should always leave some money on the table, although I'd say 20% is too much.