foo_48120 asks:
"My small development shop, myself and four employees, is taking on a fairly large job that will run a substantial part of the clients business. To protect themselves they want the source code to the project. Frankly I don't blame them. We bid aggressively to get them to underwrite our own efforts to build this code, which we plan to resell again and again. That is the basis for our company.
I have no problem with them holding the source but need to make it clear that we own the code and that they have a license to use it in their business. They may at their discretion hire others to modify the code, but would still be required to pay their maintenance contract and be prohibited from reselling it or using it to run an additional business. How do you provide open source without escrow, yet protect what we are documenting up front as out intellectual property rights in the ownership of this code?"
Of course third party developers may break things and we would not be responsible for that or for fixing it without further renumeration.
Ideally, if we make them happy then we will do all future upgrades and add on modules as well. I am not worried about that. I do want to know if anyone has experience in the writing of such a licensing agreement? Perhaps they could provide me with a sample copy of their text?
Let's leave aside for now the issue of totally open source vs. closed source. There are times when you want the product to be proprietary as we do, however I want them to feel comfortable using our code so that if a proverbial plane were to fly into our building and wipe us all out then they don't go down the tubes with us."
Talk to a lawyer (Score:2, Insightful)
This is a legal issue, you'll need legal contracts and agreements, all of that.
Talk to a fucking lawyer.
Re:Talk to a lawyer (Score:5, Funny)
You clearly don't know the difference between what you talking to a lawyer costs, and what talking to the slashdot-crowd costs
Re:Talk to a lawyer (Score:3, Insightful)
Re:Talk to a lawyer (Score:5, Funny)
Re:Talk to a lawyer (Score:5, Insightful)
You clearly don't know the difference in the quality of advice that a lawyer will give and what talking to the slashdot-crowd will give
In this case you get what you pay for. Seriously, when my brother-in-law who's a realtor has a problem getting his wireless networking problems debugged, do you think he should send out an email to his real-estate buddies? What kind of advice do you think he'll get? They all usually have very strong opinions from what "they knew worked" in the past. It's also usually dead wrong. It's the same here.
Re:Talk to a lawyer (Score:5, Insightful)
Asking Slashdot will likely generate a lot of dumb ideas that won't fly legally, but it also at times generates the occasional 5-Insightful that contains the idea that neither you nor your lawyer would have thought of. Get the idea from Slashdot, run it past the lawyer, and you might just get an idea that would not have been used otherwise.
Re:Talk to a lawyer (Score:3, Funny)
Unfortunately, a large number of "5-Insightful" comments on
Voting is a lousy way to arrive at the truth.
Re:Talk to a lawyer (Score:5, Insightful)
Many of us at Slashdot have been in similar situations. As such, we know there are certain details to keep in mind regardless if the use of a lawyer or some other type of consultant is necessary. For example:
I play rugby and in a recent match I landed on my foot wrong and parts of my foot went numb. Now, I asked some friends of mine and what do you think they said? "Go talk to a fucking doctor?" No, because they have had past experience with similar situations. They gave me anecdotes about past injuries they had, how they felt, etc. some of which helped, some did not.
Now this is the same here, all of the info given here may not be helpful, but the few comments that are made could tremendously help the person asking the question. So please, if you have something to say about the situation, say it, if you don't, try to help in whatever way you can -- remember, we're a community here.
Re:Talk to a lawyer (Score:5, Funny)
Go ahead and give them the code. When they start modifying it, taking it to 3rd parties, and using it at other businesses, stare at the ground and tremble your lower lip. That night, get into an argument with your wife and kick the dog.
Re:Talk to a lawyer (Score:3, Funny)
--
Damn the Emperor!
Re:Talk to a lawyer (Score:3, Insightful)
Well, theoretically of course; they will still be there, since tons of people wouldn't actually read the question. I'd suggest putting "I ALREADY HAVE A LAWYER AND AM JUST POSTING THIS FOR INTERESTING AND FUN ANECDOTES" in bold at the top. Although I'm not sure about the wisdom of discussing potentially private legal strategies in public...:-)
Re:Talk to a lawyer (Score:3, Insightful)
Your foot will probably heal by itself. It might heal faster given certain generic treatments (ice, stretching or immobilization or whatever.) And if it doesn't get better in a couple of weeks, you go see a doctor anyway, who goes "tsk, tsk, you should have seen me last week" but fixes you up all the same.
But the contract that he writes and signs will effectively "own" his business and the payrolls of four other people for the next year. If he forgets to dot a legal 'i' or cross some legal 't', a troubled client might take serious advantage of him. Hiring a lawyer to draft the contract will help cover those clauses that might otherwise expose him to some unforseen liabilities.
I'm not saying that his client is shady, or that he isn't honest. I'm saying keep in mind that three years ago every dot-com had a million dollars of venture capital to fund these projects. These days, money is not so free and customers may have their financial situations change. If his client starts feeling the money belt tighten, this guy had better have an airtight contract to make sure that 1) he gets paid for work he does; or at least 2) he can stop working if he doesn't get paid.
The Slashdot crowd will no doubt have some ideas regarding coverage of intellectual property, and I'm sure that's what this guy wants to read. But he needs to spend a few dollars on a decent contract lawyer to ensure that his company's future isn't thrown away by a PREVENTABLE turn of the die. Isn't protecting a million dollar investment worth $5000?
Re:Talk to a lawyer (Score:5, Funny)
Re:Talk to a lawyer (Score:3, Funny)
Not a problem - screwing is part of their job description.
Re:Talk to a lawyer (Score:3, Insightful)
First we're talking about IP, copyright, and trademark. You don't talk to 'a lawyer' becuase most lawyers pass the regular Legal Bar and not those for IP, which are much more difficult.
Second, this kind of issue is best discussed with slashdot AND a lawyer, AND newsgroups, AND maybe a second lawyer.
Third, (I agree) -- talk to a lawyer . :) I have worked with IP lawyers who do non-profit work for free, and personal work for very low cost ($10/hr, more or less). This sounds like you are getting professional work done, but IP lawyers aren't that expensive.
Most of us think of 'Hiring a Lawyer' as an unattainable task, or costing thousands of dollars for extensive work, like is done in court cases. Finding an IP lawyer is easy. Look in the phone book, call the people who don't have full-page ads, and find one that charges between 25-50 per hour and specializes in IP. Find a small business with several lawyers and a single receptionist that has a low, reasonable hourly rate for small projects like that.
In this case where there was extensive bidding going on for the project, the small cost of $200-300 for a day with a competent lawyer should have been included as part of the bid. They probably should have spent $50-100 for a morning with the lawyer while working on the bid, just in case.
Signed contract... good lawyer. (Score:5, Informative)
Re:Signed contract... good lawyer. (Score:5, Funny)
Re:use the law (Score:3, Interesting)
Escrow (Score:2, Informative)
Re:Escrow (Score:5, Insightful)
Escrow contracts are voided by bankruptcy (Score:5, Informative)
Conventional escrow doesn't work when customer needs it - when your company fails. A bankruptcy judge will review your company's assets, and may find that the source code is the only marketable asset, and must be preserved for your debtors. Judges have voided escrow contracts in order to maintain the remaining value of the company.
Thus, your customer is wise to ask for the source up front. And if your company is bankrupt, it's not going to matter much to you - except that you'll know you didn't screw the customer.
You need a lawyer. It's a pretty simple contract, once you've explained the parameters.
If you want to use Free-Software-friendly attorneys, I can direct you to several, but pretty much any attorney will do.
Bruce
Re:Escrow contracts are voided by bankruptcy (Score:3, Informative)
If your company has no problem with opening the code to your clients
a lawyer (Score:5, Insightful)
When it comes to selling source code, that's the only method that works.
And make them get a bond to back up their word (Score:3, Interesting)
It's a hell of a lot more bulletproof than the courts, and oftentimes bond issuers will make them put up some hard assets as collateral (property, buildings, tools, or a big cash percentage) which is no big deal if they're honest, but fucks them right in the ass if they're not.
The bond issuer will be legally required to pay the bond based upon the contract surrounding the bond's payment terms, but they don't care that much since they've got the pink slip to the factory. Sure, they'd rather not liquidate the factory, but that's the business they're in and they're good at it.
Jury trials are a huge hassle, and even if you're right you don't always win, and even if you win you lose due to costs, delays and lame jury awards (contract to Republican fear mongering, they're not always generous).
Re:And make them get a bond to back up their word (Score:4, Insightful)
Doug
First, grab a dictionary. (Score:5, Insightful)
First off, find out that what you are talking about is not open source. If it was open source, or a compatible license, than your client company would be free to redistribute.
Second, it's called a contract. And lawyers. Slashdot is neither. Just (have a lawyer) draft a contract specifying exactly what can be done and saying anything not listed is expressly forbidden unless written permission is granted.
Although he's not likely to find the definition. . (Score:5, Funny)
For instance, after modifying the code his firm is indeed likely to renumerate it, i.e., give it a different version number.
For doing this his firm will expect to be *remunerated.* It's from the Latin remuneratus, derived from munis, from which we also derive the English words "munificent" and even "money."
( Munis is a gift, to remunerate is to *re*gift, i.e., effect an exchange)
This note brought to you by the ever hated Slashdot Lexical Patrol ( also known as SLaP), who believes that language is form of code and believes code should be well formed, it's terminology and functions properly called and invoked and even. .
Our patron saint is William Strunk, Jr., along with his acolyte E.B. White and our Demigods include such figures as Gibbon, Thoreau, Conrad ( who managed in a "foriegn" language no less), Yeats, Voltaire and Kipling ( The OS booted up like thunder!).
Just as Knuth is ( and should be) venerated, so should geeks venerate and study the "code" of these honored figures.
We all write faulty code at times. It's no shame to have to debug and reversion. .
In fact, I rather imagine that some of the more ironically inclined are about to take a hearty whack at this missive itself.
KFG
Re:Although he's not likely to find the definition (Score:5, Funny)
I would like to call your attention to the fact that the character sequence "it's" is a macro that is expanded by the preprocessor to the sequence "it is". Thus the sentence fragment above, once preprocessed, reads "...believes code should be well formed, it is terminology and functions properly called and invoked..." This bit of code, as it were, is clearly not well formed.
Re:Get one yourself. (Score:2)
License the Source (Score:2)
A reply: (Score:2)
C//
Contractual Clauses (Score:5, Informative)
Additionally, create an Intellectual Property clause in the contract spelling out specific ownership rights/responsibilities.
Insert IANAL comment here.
This seems bad... (Score:3, Insightful)
So, you've got the possibility that you'll be responsible for supporting the product even though other people are modifying it? How are your people going to have expertise in the work being done by these others?
Why ask on Slashdot? (Score:2, Insightful)
B) This is purely a legal question. Ask a lawyer. It's all a matter of the contracts. The first company I worked for did exactly the same thing for one of their product lines, a COBOL-based transaction processing system. You got the code, but if you wanted support, you had to pay us. You couldn't resell the code without getting your ass sued off. It's just that simple. There is no technical solution to it. You just make it very clear that you can take them for all they're worth if they resell your code.
Get a lawyer. Leave the work to them.
Because some of us work in software companies.. (Score:5, Insightful)
You always ask your friends about similar situations they may have encountered before you go into some situation. Fools would go ahead and get a lawyer without first discussing it with people who might have had experience with the situation.
Another question for an IP lawyer, not Slashdot (Score:2)
You need to see an IP lawyer. He will tell you to write an agreement then he will revise it. He will include provisions in the agreement that spell out your protection under copywrite, trade secret and licensing issues.
You really do need to get a lawyer for this. I've written many agreements myself and am good at it, but would defer to a lawyer on this one.
Sometimes I fail to understand people (Score:4, Insightful)
Re:Sometimes I fail to understand people (Score:2, Interesting)
Then again, I could be completely wrong here.
Re:Sometimes I fail to understand people (Score:5, Insightful)
Wrong. The company is paying you for whatever the contract says they are paying you for. No more, no less.
This issue is hardly as black and white as that... (Score:5, Insightful)
The actual issue here is, "How much is the client paying for?" Are they buying use of the end product? of course. Are they buying all rights to and use of the design or source? Probably not all rights and use. So, therefore, the challenge is to work out an equitable and profitable distribution of rights and use between the original client and the artist/programmer.
This post is asking, "What are the methods that are established for describing who gets which uses and rights on a piece of software that was part of a custom contract?"
Re:Sometimes I fail to understand people (Score:3, Informative)
That's just what guru.com says, and it is always best to have everything in writing, and it is always best to consult a lawyer, not a site like guru.com (or even slashdot.org, although we all love pointing out this fact every time this question arises over and over!)
Re: (Score:3, Interesting)
Outstanding service and support (Score:4, Informative)
I bought source MANY times for vast amounts of $ (Score:2, Interesting)
I have FULL source to the entire PRIME operating system (Primos), and full source to many things I ran on that mini-computer mainframe.
I had full source to ADP's Manage 2000 system. (over 100,000 dollars per copy per machine)
All sorts of things.
I did some amazing hacks and rewrote some crital bits, but mainly I wanted the source because only an idiot would trust a rinky dink outfit like yours to follow up on an escrow arrangement if you went belly up.
deal with it.... your precious source means NOTHING to the customer but comfort. YOu can salt it with lots of identifying special lines and variable names and sue for millions if they ever give it to someone that cares about your damned source.
No one is going to exploit you... they will merely see if you are billing correctly for mods.
Trust (Score:5, Interesting)
The only thing I can think of that might work would be to add extensions to the language you use (like extra keywords) and provide your own closed-source compiler, which is hobbled so it only works on the original system, perhaps with some kind of hardware dongle, or net connection that connects to your server to verify the compiling machine's serial number and some cryptographic key.
This wouldn't prevent it from being hacked, but it might make it difficult enough to make the prospect less likely.
Re:Trust (Score:3, Funny)
Copyright Law... (Score:4, Insightful)
So, all you should need is an (C) Your Co.
All Rights Reserved.
If that doesn't work, a handy lawsuit works wonders.
Re:Copyright Law... (Score:3, Informative)
It has to be the same copy as originally purchased, and you couldn't keep a copy of that for yourself, but it could be redistributed.
They may also be able to create a derivative work if it is sufficiently remote from the original, as well as make fair use of it, etc.
Re:Copyright Law... (Score:3, Interesting)
It doesn't accord to the principles of copyright law, of the UCC, or even particularly to contract law. It's probably bunk, and it's utterly useless.
Sadly, there's been no serious test case. There is no willingness of developers to risk finding out that EULAs are garbage and that they've been outright selling software all this time, and too few purchasers that are otherwise acting in accordance with the copyright laws.
Personally, I have no respect for licensure that interferes with copyright policy. A license that grants me a right that I wouldn't have if I just bought the work, or which occurs in a transaction that is distinguishable from a mere sale of the work -- that's all I can see being acceptable.
Have you read the Softman case? It's not squarely on point, but it gets mighty close. Bobbs-Merril _is_ directly on point, OTOH, and comes out 100% against the licensor.
Software is no different than books, CDs, movies, or any other copyrighted work. It's not generally licensable.
too late? (Score:2, Interesting)
Re:too late? (Score:2)
In other words, call your friendly contract attorney.
I have a back pocket free... (Score:2)
My company (Score:5, Informative)
There are two basic ways (as we see it) to do this. Keep ownership and grant a license that has a specific list of allowed uses or just the reverse where you give them ownership but retain specific license for yourselves.
You can usually make it work as you need it with either party having ownership, since ownership just means they have final say, can change the license, and get any non-specified (default) rights.
Keeping in mind this is only one small part of the whole contract and I don't promise this is safe or useful for you as it is... here is a paragraph right out of our standard contracts:
(b)Grant of License. Steem hereby grants to Client, upon the terms and conditions set forth in this Agreement, a non-transferable, non-fee bearing, single use, worldwide right and license, without the right to sublicense, for software developed by Steem for use with the Web Site. Any artwork, graphics, or designs created to Client specifications for use in the Web Site become property of the Client upon the Web Site Launch. However, Steem retains the right to display any created artwork, graphics, or designs as part of Steem's portfolio of design work. Steem retains sole rights and ownership of all interactive code. The provisions of this Section 7 will survive indefinitely regardless of the completion or termination of this Agreement.
Re:My company (Score:3, Informative)
Get a lawyer... (Score:2)
Get a lawyer.
For what purpose? (Score:3, Insightful)
You said "for their protection". Protection from what, precisely?
If they are concerned that you, as a company will cease to exist, and they will no longer be able to modify their code, then the previously mentioned escrow service should be perfectly fine with both of you. If this is another issue, the question of relevance comes to mind. If they want it to be sure that the software is "secure" from buffer overflows, etc, then you will need to hire a lawyer and write some sort of ironclad document to make sure they can't steal it, sell it, or claim any royalty fees on it. If they want it for any other purpose, I don't see them having a ligitimate claim to the software. I mean, sure, they're your employers, but unless there was something funny in the bid documents, they probably don't have any "right" to see the code.
Sounds to me like... (Score:2)
More seriously, this really is a legal problem. I don't know if you were looking for a technical solution or not (I got the impression you might be), but the short answer is that it doesn't exist - once they have the ability to look at the source, it's a matter of their honesty and your ability to detect and prosecute infractions.
If you must try a technical solution, you could maybe attempt some kind of crypto-escrow: They get the code encrypted, and if they ever want to look, they have to buy the key - or if your company folds, you are contractually bound to give it to them gratis. But you'll probably have trouble getting your client to go for that, as it really doesn't offer them any advantage over you just giving them the source (except perhaps some liability protection).
Good luck,
- B
Ask them to pay you want you want? (Score:3, Insightful)
Is the concept of "pay me for work" completely dead? Must everything be "pay me for work, and keep paying me for years later too?"
Why do you not just simply charge them for getting a job accomplished, and then, if they want you to come back, tell them it will cost them more money?
If you think that there is something to your work, and if the source code get distributed, then you may see that others will want to pay to have you come and work for them to help them integrate whatever it is that is so wonderful that you wrote up.
What you sound like you want is "pay us now, but we want to hold our code hostage so that any time someone uses it, you want to get paid."
If you were to ask 3 times as much for your work, and they got an unlimited use of your code, would that be sufficient?
IANACIAAA (I am not a coder, i am an analyst), so please, this is not a "you suck" post.. this is an honest question.... where does my idea fall flat, if it does, please tell me, i want to be educated.
So that you can get a sense of where i'm coming from.... what i do every day is i sell out my brain power (and those of my partners here) by the hour.
I get paid to give someone a analysis of this, or an analysis of that... and i tell them "that will take 6 months and cost you $100,000". My reputation is good, so i get more people to come back to me and keep hiring me to do more work for them.
I do not hold my output hostage..
What else they do with the data, i don't care, and its not my business....I have gotten plenty of work simply from others seeing my output, and they were impressed.
My customers always have new problems, and i'm here to help them when those problems come up. They also have partners, and so, they come to us for help because they saw what were were able to accomplish.
When they do, they ask me how much it will cost.... they pay us then....
rinse, lather, repeat.
Re:Ask them to pay you want you want? (Score:4, Insightful)
Why do you not just simply charge them for getting a job accomplished, and then, if they want you to come back, tell them it will cost them more money?
In a business situation, its never about just paying for software, and you are done. Nobody wants to pay $100,000 dollars for a chunk of software, have a CD arrive in the mail, and have that be it. They want the peace of mind of knowing that bugs will be fixed, support will be offered, and most importantly, that the expertise of the developers will be available to them if they choose.
No offense, but this isn't just a report or some finite amount of data that you provided. This sort of thing always goes way beyond just delivering a binary.
Re:Ask them to pay you want you want? (Score:3, Insightful)
Analysis of a problem doesn't solve anything directly, so you work in a service-oriented field. It's information to be used or not used, but at the end of the day, you haven't solved the problem being analyzed. They might hire 20 analysts (wastefully) to provide insight or estimates, and they might all disagree, and they won't have solved the problem. However, after a programming team does their work, the problem is solved now and forever. Programmers are content/solution producers. Analysts are not.
I'm not judging either field. I'm simply stating that your analogy and your plea for "A Day's Pay For A Day's Work" is meaningful ONLY in a service oriented profession. Otherwise, you'd have musicians that could never get paid more than once for making a recording, and authors that would always get paid one time for a book, or programmers that could never sell the same software several times. Do you see the difference?
Re:Ask them to pay you want you want? (Score:4, Insightful)
It's not that, it's distributed payment for work. It's "I want to be paid in full, but they don't want to pay that much so we'll compromize."
Let's say a coder produces a program at $100/hr and it takes 4,000 hours. This will cost $400,000. No one wants to pay $400,000 for that software. This company in question specifically does not want to pay $400,000.
So what do you do? You sell it to them cheaper and say "but you can't sell this to anyone else, because you haven't fully paid me for it."
It's like a rental, except it's not time based because no one ever has to return it. Instead, it's instance based. You rent x copies of the code, forever. To be fair, they should be able to sell their copies so long as they stop using them (and don't sell more than they've bought).
Now eventually the coder may have made the full cost of the software, been fully compensated. They could release it for free after this, but software isn't a sure bet. You can have one product make a substancial profit and have another be a total loss. If the potentially profitting projects were cut off when they had been fully paid, all software companies would lose money.
Comanies that do this. (Score:4, Insightful)
Second, this does simply sound like a licensing issue. You trust your customers not to hack the license keys for the binary form of your product, or to redistribute it. So perhaps it's all about trust....
answer (Score:4, Funny)
By hiring yourself a good lawyer.. and not taking law advice from a bunch of pimple-faced
-gerbik
Palladium (Score:2)
I think that I can help. (Score:2)
Can you send me a copy of the code in question and I can get back to you on what to do.
Warmest Regards
Guy Montag
I always use.. (Score:5, Funny)
GPL: The Guido Public License
Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the the Scarpelli family's Guido Public License gives you more freedom with the benefit of protection for you, your family and your business. The Guido Public License applies to most of the Scarpelli Family Software Foundation's software and to any other program whose authors commit to using it. (Some other Scarpelli Family Software Foundation software is covered by the Guido Library General Public License instead.) You can apply it to your programs, too.
Accidents, fires and floods happen. The Guido Public License protects you.
We protect our rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy and distribute the software.
Failure to abide by the rules of any of the Guido Public Licenses will mean a visit from Guido Scarpelli himself.
You don't want that.
Yes you can do this and it works (Score:2, Informative)
In one case, client has the source, but the company owns the rights and if the client modifies it, all warranties are void.
In another case the client has the rights to use the code, but pays a license fee for each instance. Yes, you can have your cake and eat it too.
You need a lawyer (Score:2)
It's really quite simple: you have complicated legal requirements. Therefore, you require a well-paid lawyer who understands the legal implications of what you're requesting, to write up a detailed unambiguous contract.
That's not open source (Score:5, Insightful)
I'm sure there will be those here who will take an activistic viewpoint and urge you to do something different. I will not. You have every right to release code under any terms and conditions you may legally obtain, and more power to you. But my opinion is that you ought not use the phrase "open source" unless it meets the OSI mark requirements (which your plan most certainly would not).
This isn't open source. (Score:2)
Pragmatically, if you provide them the source, there is no practical limit to their ability to modify, redistribute or sell the code.
Therefore, it falls back upon the legal system: you need a contract that you can both agree that protects the intellectual property rights
that you think are important to preserve.
Of course, none of this has even the tiniest bit
to do with open source. The restrictions on
modifications and redistribution that you seek
are explicitly disallowed by any definition of
open source licensing you are likely to run accross.
Frankly, I'm unsure why any business would pay
you to develop software that they integrate into
their business but for which they retain few
rights in the future, but you might be able to
hoodwink them into such a circumstance.
It probably would be easier to get them to agree to
a true open source license, where both parties
retain the same rights to modification and redistribution
Just Ordinary Source Licensing (Score:2)
> yet protect what we are documenting up front as
> out intellectual property rights in the ownership
> of this code?"
This has nothing to do with Open Source. You're just looking for an ordinary source license such as companies have been using for decades. Hire a lawyer.
Add a distribution clause (Score:3, Interesting)
An honest client simply needs to know the rules. If they are unsure of your intent, their lawyer will ask you to clarify.
Even if you got a lawyer to write it, a crook isn't going to care...
Spaghetti code? (Score:4, Funny)
Re:Spaghetti code? (Score:5, Insightful)
-1 Unemployable.
Dave
ACTUAL CONTRACT EXCERPT... (Score:3, Informative)
This is an excerpt from one of our (my small consulting firm) contracts, where we are trying to achieve something similar, but unfortunately not exactly the same. I think it will help though.
For background, in this case, we were trying to maintian rights to the tools we developed, on the clients time, as ours, while they maintained rights to the end result - the product(s). This was to protect us for being good consultants, not building everything from scratch, as well as spending time to build reusable tools to help us build the product faster and better, and make maintenance and continuing development simpler.
I can post more of the contract if necessary, but I think this is the most pertinent.
Also, to all the "get a lawyer" folks, although you are right, he should, when drafting this contract, it was very helpful, and much more economical, to start with a contract that was similar to what we wanted and to make modifications, than it would have been to start from scratch. Lawyers are expensive.
8. Deliverables.
8.1 Work for Hire. The Consultant acknowledges that the Company is retaining the Consultant's services to, among other things, provide and/or produce original works for the Company, under the Company's direction and supervision, as identified in properly executed Statements of Work incorporated into this Agreement. The Consultant hereby assigns to the Company all right, title and interest in and to the Deliverables as "works made for hire."
8.2 Transfer of Rights. The Consultant acknowledges and agrees that the rights purchased by the Company comprise all rights in and to the Deliverables of every kind, nature and description, including, but not limited to, (i) the Deliverables themselves; (ii) the right to secure copyrights and/or patents thereon anywhere throughout the world, in the Company's name or otherwise; (iii) any and all publication rights therein in whatever form; (iv) the right to use, license, exploit, sell or otherwise dispose thereof in any manner and for any purpose the Company or its assignee sees fit; (v) any and all subsidiary rights therein; and (vi) a right of first refusal to obtain, upon terms equal to those offered to any third party, any and all rights therein which may revert to the Consultant by statute or otherwise.
8.3 Grant of Rights to Consultant. The Company hereby grants to the Consultant a perpetual, non-exclusive, worldwide, royalty-free right and license to use the Deliverables in connection with the Consultant's conducting of its internal business and in order to facilitate the Consultant's providing services to the third parties; provided, however, that the Consultant may not sublicense such rights to any third party without the Company's prior written consent.
8.4 Assistance in Obtaining Rights. The Consultant furthermore agrees that, for a period of one year from the expiration or termination of this Agreement, it will execute any documents, give testimony or do anything reasonably required by the Company, at the Company's expense, to assist the Company in obtaining, enforcing, and/or renewing copyrights and other legal protections for all Deliverables hereunder created and/or developed. The Consultant will be compensated at Consultant's then current rates.
9. Tools.
9.1 Ownership. The Company acknowledges that in the course of developing or implementing the Deliverables, Consultants may develop certain software or methodologies for the development, maintenance, or support of the Deliverables ("Tools"). Tools are not required for the intended use of the Deliverables, but merely assist in the maintenance, development, or support of the Deliverables. Notwithstanding anything to the contrary in this Agreement, Consultant will retain and own all right, title and interest in and to the Tools, including, but not limited to, copyright rights.
9.2 Grant of License to Company. The Consultant hereby grants to the Company a perpetual, non-exclusive, worldwide, royalty-free right and license to use the Tools in connection with the Company's maintenance, development, or support of the Deliverables and other Company development efforts outside the scope of the Agreement. The Company and its successors shall not sublicense, assign, provide or sell the Tools to any third party.
What about standard copyright law? (Score:3, Insightful)
Tim
GPL (Score:3, Interesting)
We only charge access to the cvs server (basically a subscription).
This is for companies who find they want to manage the code themselves, or hire thier own programmers.
IN the end though, you still need programmers. Whether it be us, or someone else, they will have to contribute those changes back into the community.
So, many companies stick to component subscriptions, and then use the API's against software they write explicitly, which is private.
Very similiair to what Nvidia does right now with XFree86.
The company gets too keep thier software process unique, and fundamental to thier business edge. (i.e. nobody can buy the process they use...)
While at the same time, the components they use to power that software get updates from said company to our cvs server for others to use.
Very nice arrgangement. I haven't found any company yet that has had an issue with the GPL cvs server arrangement we use.
We are a component company.
-hack
Personal experience (Score:3, Insightful)
When we quote a project, we do it based on the amount of work it will take to accomplish it, but we don't sell them hours of engineering work. We sell them a working system. If we budget 500 hours and it takes 1000 hours to write some custom piece of software, the customer doesn't have to pay us twice as much for the project. We sell them a system, with the license to use the software, and we give them a copy of the code as a deliverable for them to modify and use for the specific system we sold them.
Most people think companies like ours try to retain ownership so that the customer has to pay us royalties, but the fact is, we rarely, if ever, charge for maintenance. We sell a warranty with the system, so we fix any bugs that arise. If we do a good job, they hire us back to make changes to the system, which we do get to charge for. However, our customer can just as easily go to a different company and hire them to make the change, because our software license permits that.
The real reason we have to retain ownership is so that we can freely copy portions of code from previous projects to use in future projects. Say, for instance, we wrote a code module that abstracts a certain piece of hardware. If we used that same piece of hardware on another project, we would want to use the same code module to make our life easier. Unfortunately, if our previous customer owned the software, we would have to pay THEM royalties to use that software!!! The fact is, retaining ownership of that code gives us a competitive advantage in future projects, because some of our development is already done, so we can try to under-bid our competition (who are doing the same thing we are, by the way).
In fact, writing software today is rarely a case of writing code from the ground up, and selling it to someone. Now our job is to take existing pieces and put them together to form a system. That's why companies in our industry are called "Systems Integrators".
Re:Leave out the Comments (Score:2, Insightful)
C//
Re:I would make two version of the tree (Score:5, Insightful)
It sounds like they want the code so that they can make changes to their business software when and how they want it.
If you intentionally make it difficult or impossible to do what they're entitled to do (it sounds like they're wanting to basically buy a copy of the code, like a book or something), then you're in violation of the spirit, if not the terms, of the contract.
Plus, if you're not nice to the people who are paying you lots of money, you're less likely to get repeat business from them.
Re:I would make two version of the tree (Score:5, Funny)
You just need to write an obfuscator then, something that takes the inhouse code and changes variable names and adds bogus modules and subroutines.
I know developers who do this part without really trying that hard...
Re:I would make two version of the tree (Score:3, Informative)
That said, the other posters on this thread are quite correct in saying that the "right" approach is to craft a contract that specifies how your code may be used.
Well, who pays for that? (Score:5, Insightful)
And I suppose you bill the client for the time it takes to obfuscate and confuse the code? Or you eat the cost?
Trusted relationships are enforced by contracts all of the time. Comfort yourself with some analogies from other industries, then define the terms of the contract and call your lawyer.
That reduces your problem to catching them if they break ranks with the agreement. Rich comments and the occasional random readme in the source tree (e.g., Java package.html files, copyright headers/footers) help give your code a signature.
Something else just came to mind here. What about splitting the code into libraries versus their proprietary code (unique to their project) and only give the source to the latter? It doesn't sound applicable for your current project, but you may find yourself with an opportunity to reduce your risk later by doing this.
Re:I would make two version of the tree (Score:5, Funny)
so we convert it to perl then?
OW.. OW
Re:My theory (Score:2)
I swear, this sounds exactly like me. I hate group projects at school, and when I had to do one for software engineering, I made my teammates do all the documentation work while I wrote the code. ;)
Re:Give it to them for Free (Score:5, Insightful)
Programmers are morally obligated to give the code to their users and allow their users to freely modify and redistribute the code.
When did this happen?
Is [insert popular novelist here] morally obligated to give away his/her novels, allowing the readers to freely modify and redistribute the text?
I respect the open source movement and I think free (as in speech and beer) software is a Good Thing(tm), but I think saying coders are morally obligated to give away their source code is a step too far.
Re:Give it to them for Free (Score:3, Insightful)
Having said that, it is pretty low down dirty and slimy to have a company PAY YOU to write a program, PAY YOU to maintain a program, PAY YOU to give them a copy of the program, then you turn around and claim that they are bound by a license. If they commissioned the work to be done, you shouldn't be trying to shove a license up their butts.
It's just my opinion, but I've had to deal with these kind of consulting companies. If the customer is reading this story, some advice: Hire yourself a different consultant.
And if the consultant is reading this post: You are over stepping your ethical rights. They paid for it, they should control it.
Re:Give it to them for Free (Score:5, Insightful)
What? You had better share that insight with all of the commercial software vendors out there quickly before they go out of business! Make sure to include Microsoft, Oracle, IBM, etc...!
Programmers are morally obligated to give the code to their users and allow their users to freely modify and redistribute the code. Again... WHAT? I am not aware of any code of morals saying that developers have an obligation to give away their code. Can you explain to me, all GNU and FSF rhetoric aside, why my company should spend countless resources to create a product that we give the code away for and let people do as they wish with it? I personally don't get that logic.
Slightly offtopic (but not by much): I think that the ideal license is one that says something like: "By purchasing this software you get rights to the source code, to do with as you like *within* your organization. If you plan on offering your changed product outside of your organization, you must sign an approved Royalty agreement with the Publisher..."
Don't bite the hand that feeds and don't assume that you can make money by putting a product out as OSS and that someone will pay you to extend or support it.
Re:Give it to them for Free (Score:2)
Any rights that the public at its whim graciously chooses to confer upon authors are intended PRECISELY to achieve that end result of totally removing the author from the finished work.
As for your ideal license, it's not bad, insofar as it extends powers to the licensee that he wouldn't normally have as a mere purchaser of the copyrighted work, BUT should include a clause that voids out the license without any loss of rights by the licensee when the copyright expires. (i.e. in 2098 or whenever when the copyright runs out, they don't get stuck with having to continue under this now rather pointless license OR having to cease their use of the work in order to get out from under it)
Re:Give it to them for Free (Score:3, Insightful)
WRONG! It is at programmers discretion. A progammer wrote the program to fulfill the users requirements for software. It can be interpretted both ways, unless the user specifically wants the source-code, the programmer has no obligation to give it to them.
Generally in contracts I've seen the user retains the rights to that specific binary, but not the source-code. Meaning that the programmer/company can make dirivitives of it, but not hand out the exact same program.
Rather then say open-source every second, in the vastly competitive software development world it is not feasible to say open source all the time. I like open source as much as the next guy, but if they open sourced their program their software technologies could be stolen, and honestly who would know? If they gave the source-code away, even under the GPL, you could modify it and no-one would be the wiser. Yes some people could complain about infringing on the GPL, but if the progammers are good enough at changing things, nobody would know and now your out a good technology.
In a last thought, why is closed-source so bad? If your company spent 5 years and millions on researching an algorithm for X, I personally see no reason why can't make a bit of profit off it and keep it closed source as long as they don't play the patent/copyright/trademark game and take away everyone elses rights to anything similar.
It's a shame that some companies would sink to these levels, but we live in mainly unethical world where business rules everything (or atleast in North America).
Re:Give it to them for Free (Score:2)
Sez you. I'll decide what my morals say, thank you.
Re:Give it to them for Free (Score:5, Funny)
I just heard a thunderclap. I think it was the sound of Bill Gates' bank account entering the atmosphere of your argument. I estimate about five minutes until it re-enacts the scene from the end of The Forge of God when it meets up with Scott McNealy's.
Re:Give it to them for Free (Score:3, Insightful)
I think your advocacy might go better if you didn't sound so astonished that your preferred scheme actually worked for someone. (Albeit someone in a business niche that has next to nothing to do with what this guy does.)
And isn't someone going to flame him for claiming that Lunix is buggy and hard to use unless you buy it with Red Hat support?
Mod Parent up, +5 Funny... (Score:4, Insightful)
Let's see how your opinion of free software changes after Mommy and Daddy stop paying for school and you have to get a job. Your tune will change when you realize that people who give away software won't be hiring you, because....they have no money to pay salaries! Hell, where does Linus get his paychecks? Not from a company releasing its intellectual property for free. As for consulting...you want to add up all the dollars spent on software (binaries) compared to consulting services? It isn't remotely close. Nice try.
This whole "all source code should be free" crap is only popular among people who don't work for a living (and, somehow, Stallman). When you own your code, and make a living off of it, it's amazing how your views tend to change. It's kind of like how the hippies of the 60's became the 80's Me-generation - money and power (and closed source code!) is only bad when someone ELSE is controlling it.
But thanks for the troll, that was a good one!
Re:Give it to them for Free (Score:2)
You have it backwards. You're not morally obligated to do anything but document it.
Re:Give it to them for Free (Score:3, Funny)
Re:Three words: (Score:3, Interesting)
The other company was worried about us being able to finish the project to their specifications. We'd develop a contract with them, send it to them, and their lawyers would change it to basically ensure that we would at some time be in breach of contract. If that happened they would get the source code. We were already willing to share the code with them as part of the deal so long as they didn't resell it or market it themselves. No need to get hostile about it. We learned quite rapidly that only lawyers can fight lawyers (without massive time committments on our part), and by spending the extra money on a good set of lawyers, including an IP specialist, we saved ourselves lots of future headaches and problems.
In the end we ended up not doing business with the company, and we lost the sale and opportunity. The other business spent ten times what we would have charged to implement a generic software package for their needs, and to cutomize that package to work with their business. Do I feel bad about it? Yeah -- it sucks to lose business like that, and it was a good opportunity. But I would have felt much worse if I hadn't involved expert lawyers along the way to protect us and explain what the other side was trying to do (the good parts along with the bad things they were doing).
Re:Easy (Score:3, Insightful)
A lawyer is like a complier. You write code in English, he compilies it into airtight Legalese. However, if you give him a bug in the unput, his contract can still crash.
That's not "Open Source" (Score:3, Informative)
Just because you get the source, is not sufficient to qualify as Open Source.
The Open Source Definition [opensource.org] is effectively the same document as the Debian Free Software Guidelines [debian.org], and as such both have conditions that require that the software be alowed to be redistributed, even if modified or aggregated:
Re:Sure (Score:3, Insightful)