Seeking Someone to License the Heart of Your Company?
dcdukeu asks: "We're a small software company that is about to enter into an 'Acceptance Period' with a much larger company for the purpose of determining if they want to license the source code and intellectual property of our main product. This involves giving them our source code, whitepapers, and providing the technology transfer of how things work. Once they receive this they get 45 days to determine if they want to move forward and incur royalties plus payment minimums. What I want to know is if other people have dealt with this before and what would they recommend in terms of how we can turn our information over to them in a time sensitive way (e.g. after 45 days the documents they receive cannot be viewed any more). We are basically giving up everything we have and training them before they say 'yes' or 'no' as to whether or not they are going to move forward. Thoughts?" Unless there are numerous protections already in place to prevent the larger company from running with the information gleaned from this transfer, this so does not sound like a good idea. If you've been in a similar situation before, what suggestions would you have for dcdukeu?
If you do this, first: prepared to be so incredibly reamed. American companies have long sice lost the concept of business ethics. They are NOT buying your source, they are looking to buy your engineers, understand this. Why? becuase if they aren't interested in your engineers, then they aren't interested in maintianing your code, which means if your code can be profitable to them then they are going to steal your source or at least the concept behind it *no matter what*, prepare yourself for this.
If you must give them code, do it by providing actual *sealed* machines minus networking cards, and disk drives and usb ports (CD is ok, only if it is NOT writable). Seal up the box professionally with security seals that will show tampering. Place keyboad loggers and other spyware on it to watch and record what is done on this box. Go overboard and force the use of tempest-resistant fonts and lock down the system such that new software cannot be installed and add a *hardware* clock that will accurately mark off 45 days. On that day, have the system nuke the hard drive.
"Your superior intellect is no match for our puny weapons!"
Lets just say I've encountered a similar setup when trying to put Linux on a Win box.
Put the hood open, and *whoops*, looks like the CMOS battery got knocked out of place. No more BIOS protection.
Quick rescue floppy, and you've magically got root.
CMOS batteries die. Happens all the time. It would be pretty obvious that they screwed you, but you wouldn't have any grounds to seek damages.
int func(int a);
func((b += 3, b));
'Acceptance Period' with a much larger company for the purpose of determining if they want to license the source code and intellectual property of our main product.
Contrary to the majority Slashdot opinion, I wouldn't worry too much about the deal. Get a good lawyer who does this sort of work exclusively and you will be just fine.
45 days isn't all that long either. We (a Fortune 500 company) often get hardware and software for months before we make up our mind. (More than once, we had Cisco gear on loan for so long the model has been discontinued or replaced before we got around to approving it for purchase.)
When viewing source, the company viewing it is almost always in the more dangerous position. Once they see your code, should they every come up with a similar application, they will have to jump through hoops to prove it isn't based on your code. That can be very expensive.
Usually when I do this sort of review I'm looking for clean, well-commented code and good overall documentation. I am not a programmer by trade so I'm generally not evaluating the code itself but the overall maintainability.
Buying code from a company as small as you seem is dangerous. Often times, there are only a couple programmers who really know the application. Should they get run over by a truck or leave the company, I want to make sure that the code is clean enough that someone else (either in your company or mine) can pick up the torch and keep my business running.
It's not enough to have an excellent product today. I want to know that the product can change with our needs. That's the real reason I want to see the code and documentation as well as the finished product.
In summary, get a good lawyer and relax. This is common practice and a lawyer who has done it before will keep you from getting screwed.
InitZero