Fog Creek Software
Discussion Board




Odd situation

I'm in an odd situation and need some help.  I quit my last job because the paychecks were no good, not to mention that the software wasn't quite up to par.  I then developed the same software that the company makes, but my software corrects the flaws and what not in their software.  Two different software packages that do the same thing.  Now I need to know whether I should start my own company or go back to that company and say look what I have do you want it?  Can I have my old job back?  This would be taking my chances because they are obviously not doing to well, but I think I could help them by giving them this software in exchange for a job or some other deal.  It's very awkward and I don't know how to approach the situation.  I'm also a tad scared to start my own business.  Fear of failing I guess.  Advice?


Wednesday, December 10, 2003

Whatever you do, don't go back to your old company.

_
Wednesday, December 10, 2003

Insanity if doing the same thing repeatedly and expecting differenct results.

What would you say if I asked you the same question?


Wednesday, December 10, 2003

Never pay for a job. It's unethical and stupid.

A job is supposed to be an equal exchange, satisfactory to both parties.  The employer is supposed to find your work sufficient compensation for your wages.  If, at any time, your work becomes unsatisfactory, the employer will get rid of you.

Now, if you're paying an up-front fee to get that job, shouldn't the employer just take the money and fire you as soon as possible?  I mean, if your work was worth your wages to the employer you'd have that job anyway without giving them anything.

Don't give anything to anybody in exchange for a job.  It hurts your fellow workers, it'll also fuck you over.  I know that in some countries it is reasonable to pay small "application fees" or gratuities to get through various HR or other hoops - but not here in the USA!  And anyway, there's a big difference between tipping some bureaucrat $100 to expedite your application to be hired by someone else at the company and just buying yourself a job like you might buy a treasury bond.

Trollumination
Wednesday, December 10, 2003

From the sounds of things, your previous employer would screw you for dinner - probably make some promises to you, put your work in their product and then fob you off for ever.

If you've improved the product, I would say you're smart enough to contact the customer base and try to sell it too. It's hard but give it a go. Even if you don't sell any, you will learn a lot.

Also be prepared for someone to tell your previous employer. In fact, that would be the best avenue for them buying it from you - that they contact you. If they contact you with an offer, insist on full payment in advance, and charge whatever you think is reasonable.


Wednesday, December 10, 2003

Start your own business.  It's better to try and fail than never to try at all.

go for it
Wednesday, December 10, 2003

I'm surprised nobody has mentioned possible non-compete arrangements.  I would think that it is very likely were you to start selling this software (which you no doubt wrote with considerable insight from doing it before for that company) they would sue you over it.  Stealing trade secrets, non-compete, etc etc.

Something to think about.

Andrew Hurst
Wednesday, December 10, 2003

Didn't sign a non-compete.  Worked on W-2, but didn't copy any of their code.  Rewrote the whole thing from scratch.  I owe them nothing.


Wednesday, December 10, 2003

Be careful about competing with your former employer by "improving" on older code -- you're at a high risk of liability for copyright infringement.  An obvious case is if you've literally taken the code and then made some changes.  (I assume that you're smart and ethical enough not to do this.)

However, you could also be on the hook even if you've written every line in your program yourself from scratch, if the new code is similar enough to the company's code.  (For example, if it follows the same general structure.)  Since you were privy to the original code, any similarities would be highly suspect.  There are other legal issues that could also crop up, like misappropriation of trade secrets.

I know nobody likes this response, but you really should consult with a lawyer if you plan to take this route.

Robert Jacobson
Wednesday, December 10, 2003

Looks like our posts "crossed in the mail."  <g>  Glad to know you didn't copy the code.  However, the issues about copyright and trade secrets could still apply.  (Trade secrets are different from noncompete agreements.)

Robert Jacobson
Wednesday, December 10, 2003

And don't take it for granted that your software is already better. We, developers, tend to be outright optimists (at least when our code is involved).

GP
Wednesday, December 10, 2003

Nobody has mentioned the possibility of *selling* the code to your previous employer.  Might not be a bad idea.  But if he doesn't buy, or agree to your price, you've clued him in on the possibility of you competing with him, which could be bad if he can raise trade secret lawsuits against you.  Or you could sell the code to his competors.

Keith Wright
Wednesday, December 10, 2003

Q:  Now I need to know whether I should start my own company or go back to that company and say look what I have do you want it?  Can I have my old job back?

A:  the paychecks were no good

Mike
Wednesday, December 10, 2003

"didn't copy any of their code.  Rewrote the whole thing from scratch.  I owe them nothing."

Not that they could afford it, but wouldn't that be something you'd have to prove in a court of law if they sued you?

www.MarkTAW.com
Wednesday, December 10, 2003

What if I gave it away on the internet?


Wednesday, December 10, 2003

I second Keith's idea for trying to sell it back to the company.  (Or find some other business arangement, like a partnership or royalty payments.)

However, I don't think any other company would want to touch this with a ten-foot poll.  It just has "expensive lawsuit waiting to happen" written all over it.

Robert Jacobson
Wednesday, December 10, 2003

Technically speaking, they'd have to prove that he copied it, to prevail in a copyright claim.

Trade secrets are a different matter.  They'd need to show due diligence to protect the secrets, which means showing that he knew he was supposed to keep them secret.

And patents are a third matter: if they have patents, you're screwed, period.

Phillip J. Eby
Wednesday, December 10, 2003

"What if I gave it away on the internet?"

A)  The former employer can still sue the socks off you.  You don't avoid liability under copyright or trade secret law just because you give away a free product.

B)  You earn no revenue.

What possible benefit would this provide, except for the short-lived satisfaction of screwing your former employer?

Robert Jacobson
Wednesday, December 10, 2003

I know.  Open source it.

Running for cover
Wednesday, December 10, 2003

Not one line of my code is like the original program.

That would be my intention is to sell the code back to them and obtain a job maintaining it in the hopes that they make money selling quality software...  further research on the internet shows the business has lien on it.  Don't know what that is, but sounds bad.

The only thing I signed on upon emoployment was a W-2 or what ever the full time tax papers are.  They still have all the code I wrote for them.  Wasn't much, I was only there a couple months. 

No mention was made of trade secrets.  What is a trade sexcret in software?  I mean the software uses all standard components?  What's secret about that?

The company owns no patents either.


Wednesday, December 10, 2003

"Technically speaking, they'd have to prove that he copied it, to prevail in a copyright claim."

True, but it doesn't need to be an exact cut-and-paste copy.  It's enough if his code has many similarities to the old code, such as having a similar flow of control, similar structure for particular procedures, etc.

As a practical matter, since he worked extensively on the original code, any similarities between the original code and the new code will look very bad.

Robert Jacobson
Wednesday, December 10, 2003

What do you mean, "the paychecks were no good"? Do you mean that your paychecks bounced? Or that you were underpaid?

If your paychecks actually bounced, why on earth would you trust them again?

Also, don't "buy" a job, as stated already. Bringing free development work into a company as a way to get a job is cheating you out of your work. And if you make them aware of your duplication of their program's function, they may come after you (take legal action against you).

Your best bet would probably be to find a legal way to market your program independently of your past employer. I am not a lawyer. Find one.

If someone pays for this unfunded work you did, you need to be compensated for that work. Don't give work away.

Bored Bystander
Wednesday, December 10, 2003

>  It's enough if his code has many similarities to the old code, such as having a similar flow of control, similar structure for particular procedures, etc.

I disagree with this interpretation. Even if code actually has been copied, it can be quite hard to establish this to lawyers and judges, provided variables have been renamed and so on.

This is because judges don't understand the language, so they can't see the structure in the code, and the way it still exists.

a
Wednesday, December 10, 2003

If they can't pay you, their own employees, what makes you think that they can pay a lawyer to sue you? Go steal their market so that they don't have two pennies to throw at you. You did it on your own, and while they may be able to bring a case against you, do you think they can finish it?

Not legal advice of course ;)

Mike Swieton
Wednesday, December 10, 2003

"you could also be on the hook even if you've written every line in your program yourself from scratch, if the new code is similar enough to the company's code.  (For example, if it follows the same general structure.)  Since you were privy to the original code, any similarities would be highly suspect."

This is not an issue in the US. I got sued on this issue and prevailed because I was able to prove I had done a clean-room reimplementation.

The key thing will be that in court, experts will be comparing the code you did for them against the code you reimplemented. If there is ANYTHING that is exactly the same, or can be made the same by changing the variable names, they can get you. Usually it is much better to do the clean room by providing a reverse engineered spec to a real clean room of people who have never seen the original code. You document the heck out of everything during this specifically for the inevitable legal battle.

The situation with the same person doing it is more troublesome since it's very possible you could subconsciously do the same thing. You need to be very careful and intentional about having done everything a bit differently. One great trick -- if you use a totally different language, it'll be practically impossible for them to get you.

But do be prepared for them to sue you and make sure you have a few thousand (preferably a lot more) for competant legal rep. when it happens.

Good luck - go out on your own, it's the best choice.

The Reimplementor
Thursday, December 11, 2003

"True, but it doesn't need to be an exact cut-and-paste copy.  It's enough if his code has many similarities to the old code, such as having a similar flow of control, similar structure for particular procedures, etc. "

Robert Jacobson is completely wrong on this one if he means in the US.

The Reimplementor
Thursday, December 11, 2003

I think we are missing something here, the OP must have some deep seated issue or reason for wanting to go back that's not being disclosed because from what was posted only a nut would go back.

Running for cover
Thursday, December 11, 2003

Good catch, I think you're right.

What say you original poster? Why do you want to go back? Bosses daughter real cute? Something we've missed?

The Reimplementor
Thursday, December 11, 2003

"Robert Jacobson is completely wrong on this one if he means in the US."

Well, I happen to be a (currently nonpracticing) attorney with a background in copyright and trademark litigation, so it would be helpful if you could be more specific about how I erred.  <g>

At the risk of being pedantic, the legal test is that the plaintiff can prove copyright infringement by showing (a) that the defendant had access to the original materials (in this case the source code) and (b) that there is a "substantial similarity" between the original and the alleged copy. 

In your litigation, you won on the first point -- since you had a clean room, the plaintiff couldn't show that you had access to (and therefore possibly copied) the original code.  The OP here doesn't get that benefit, since he worked with the original code and probably remembers (and possibly subconsciously incorporated) significant chunks of that code.

There are some convoluted legal tests about what constitutes a "substantial similarity" for software (called the Abstraction-Filtration-Comparison" test from the Computer Associates v. Altair case.)  But the bottom line is that it ends up being an "I know it when I see it" type of inquiry that depends on how similar the two sets of code are. 

I agree with Mike that these types of cases are rarely open-and-shut.  In practice, each side will hire an expert witness who will compare the two sets of code.  The plaintiff's expert will point out all of the similarities, and the defendant's expert will point out all of the differences.  It's up to the judge or jury to decide who to believe.  That's why these cases can get expensive and ugly.

If you want a more formal discussion of this topic, there's a good law review article:
Software Copyright: Sliding Scales and Abstracted Expression
http://www.law.cornell.edu/commentary/intelpro/nim95int.htm

Of course, this is not specific legal advice.  The OP should consult with an attorney.

Robert Jacobson
Thursday, December 11, 2003

Robert,

Thanks, maybe I wasn't clear. I wrote the original for company Y then reimplemented it after I left. Clean room because I did not have the original sources in front of me but I did write the original sources, so it's like his example. Maybe I was lucky? I guess the law goes different ways and his mileage may vary. But as it was, I made sure that I used a different architecture and a different framework.

The Reimplementor
Thursday, December 11, 2003

"they may be able to bring a case against you, do you think they can finish it?"

They don't need to. They only need to find someone willing to buy them out and pick up the money at the end of the case (if sucessful).


Thursday, December 11, 2003

>> "What say you original poster? Why do you want to go back? Bosses daughter real cute? Something we've missed?"

I have an interest in going back to help a struggling company or what I saw as a struggling company.  I just couldn't take my paychecks bouncing anymore and so I quit.  Even after I had pointed out numerous flaws in the software and the timetable to fix them, I was still ignored.  Apparently this guy couldn't get over the fact that he paid an incompentant consultant some $20k to make a piece of junk.  He thinks the program is just fine, but he also never eats his own dog food.  (And I couldn't convince him to either.)

If I started out on my own, I would have to establish a new customer base etc. etc. whereas this company already has the customers if they could just boost the quality of the software (which I tried to help them with, but they can't afford new computers, new software etc etc.)  This company also makes several other products that compliment this one.  They all work together and come in a suite.  Any way I though if I introduced this rewritten - "hi-quality" software in-place of the old "crappy" program, the customers would be willing to pay more and the ones that keep calling and sueing over the old software would stop.

My intentions are true, that is an unfortunate consequence of being honest.  Damn myself.  I want to help them, but I don't want to be screwed again.  I also don't want to be sued.  Maybe it's best to dump the whole program in the trash.


Thursday, December 11, 2003

The OP can expect to be sued.

Clean room means you didn't ever see the code, not that you actually worked on it, but when you rewrote it didn't have it in front of you (scout's honour!).

Stephen Jones
Thursday, December 11, 2003

Dude, if their checks were bouncing to you, I mean really. Ok, so you are a nice guy and very gullible, right? has anyone told you that? Being nice is great, but business is business. You absolutely HAVE to separate your business life from your personal life where you are friends with people. In business, other people are not really your friends. I wish someone had explained this to me when I was younger and I would have avoided a lot of 'heartbreaks', so to speak. David Viscott, a (now deceased) psychologist wrote a book "Taking Care of Business" (I think; check amazon for exact title.) He's not the greatest writer but he has very useful insights. He treated a lot of people like you and I that confused the business world with their persoonal lives. Seriously consider reading the book or at least thinking about this. Regarding the psychologist, I'm not saying you need therapy or anything, but some issues psychs deal with are practical life skills issues where people just have the wrong model about something and it's causing them pain. You are setting yourself up for pain. Maybe you need to learn this life lesson by going back and then wondering how I knew what would happen. What will happen? You will be taken for a ride by these guys and you might end up bitter and discouraged.

Anyway, if you are uncomfortable with your code's possible similarity to the previous code or you rewrote it at all similarly, then do throw it in the trash. If you reimplemented it in a different language or using a totally different architecture, then go ahead and build a business. But do be prepared for being sued. The sued thing is not to discourage you at all - it's to let you know how the business world works and most of all to make sure you have a plan to prevail in court -- you need to know that your code and his code will be examined line by line for similarities by experts. As long as you can survive this examination, you'll be free and clear.

if you want better odds, consider writing up a great set of specs, maybe even a little pseudo-code, and paying some one to reimplement it for you. You'll get true clean room status that way and be pretty much assured a victory, although you still might get sued.

don't be scared of being sued - it is part of the life of a developer and entrepreneur. It's just life. You know you're doing well when you are being sued.

Check out "Getting Sued and other tales of the Engineering Life" by Meehan if you want a fun read through some of this stuff.

The Reimplementor
Thursday, December 11, 2003

One interesting thing about this issue is how it's being played out in the SCO/Linux litigation as we speak.  The big issue is how much (if any) Unix code got copied into Linux.  Right now, SCO is under the gun to identify all of the alleged similarities in the code.

Robert Jacobson
Thursday, December 11, 2003

I was thinking the same thing! Seems there are sections of direct cut and paste from unix sources that were marked with a copyright notice. The issue is apparently whether the folks who say the put them in the public domain really did so and had the authority, if I'm folloing the drama correctly.

On a related note, any opinions if someone publishes a large collection of data he has gotten from other sources and does not mark it as a copyrighted collection in his public distribution, does that make it public domain? I want to distribute something like this with one of my programs. Think phone book. It's not that but it's a similar idea.

The Reimplementor
Thursday, December 11, 2003

Hard to tell what the actual legal issues in the SCO litigation are, apart from the "SCO is the embodiment of pure evil" rhetoric.  <g>

Re. databases, the short answer is, "it depends."  In the U.S., copyright law protects "expressions" (something moderately creative/unique) but not pure "facts."  The general rule is that databases are only protectable is there's some original expression/creativity in the content or the arrangement of the facts. 

For example, there was a Supreme Court case a while ago where one telephone company published a telephone directory that was a verbatim copy of a competitor's directory.  The Supreme Court held that this was OK, since a basic alphabetical listing of names/addresses wasn't creative.

OTOH, a database that arranges facts in a creative fashion is entitled to copyright protection.  Also, European copyright law regarding databases is very different.  Details:

http://www.bitlaw.com/copyright/database.html

Also, something can be copyrighted (and probably is) even if it doesn't have a copyright notice.  A copyright notice provides the author with extra legal protection (the ability to sue for damages, I think) but isn't necessary.  In general, unless the author explicitly states that it's in the public domain, it isn't.

YMMV, This is Not Legal Advice, Consult an Attorney, yada yada.

Robert Jacobson
Thursday, December 11, 2003

Robert, you might be an attorney, but you are wrong on this issue of proving infringement.

I actually sued a BigCo who stole my source code, and I lost because they had changed all the names and made various cosmetic changes, as a developer does when taking over a project.

To the judge, it was new code. The structural similarity, the same functions, the same data structures - none of it registered with him.

a
Thursday, December 11, 2003

Sorry to hear that, a.  As I said, these cases are rarely open and shut -- although it sounds like yours should have been the exception.  Sounds like a dumb judge or bad attorney.  Did you appeal?

Robert Jacobson
Thursday, December 11, 2003

The SCO Linux case really does seem like SCO suing to intimidate, or trying a fishing expedition.

It has failed to identify the code it claims is protected by copyright, and indeed it is doubtful if it has much right to copyright anyway.

Stephen Jones
Thursday, December 11, 2003

OK, that article is extremely useful to me. The collection includes single line descriptions of each data atom, each of which which is a set of measurements, and the name and date of the person taking the measurement.

In a private email, the collection's compiler personally said to me that he didn't consider the work copyrighted. It actually contains substantial content, maybe 20%, of which I was the one making the measurement so he thought I was approaching this from a different direction and was quick to insist he was claiming no copyright. On the other hand, he has never made this feeling of his publically known.

Looking at copyright law, I think his collection is copyrighted even if he doesn't. In particular, I am concerned about it being a particular complete set of data, and about his one-line descriptions.

Now, to skate around the copyright issues I am pretty sure I should remove or rewrite 100% all his one-line descriptions. I can not leave even one of these in its original state. They are only descriptive but I personally thing they are his creative work and I don't want to be violating that - I just want to get the data set, which is definitely non-copyrightable (similar to a phone book, or maybe similar to a description of people buried in a graveyard and what plot they are in.)

I also plan to completely reorganize the material into categories - his collection is just arranged alphabetically.

I also plan to strip all his extraneous formatting and rewrite the entire set in a different format, even changing the numbers to use different units.

I will also remove duplicates in the data and toss out a few that are questionable. This will still leave me though with 99% of the same data atoms.

Anyone think I can skate through with this scheme? Or will I be nailed? I am not seeking legal advise and won't hold anybody responsible for their opinions -- just looking if any one sees any especially bad problems with this or has any ideas to be used to make this thing even more difficult to nail me for.

The Reimplementer, Notorious Skater at the fringes of Copyright
Thursday, December 11, 2003

Oh, and each and every atom is stored in its own file, with a name chosen by the other guy. I'm going to have to rewrite all these file names as well aren't I or are file names not copyrightable?

The Reimplementer, Notorious Skater at the fringes of Copyright
Thursday, December 11, 2003

My goal in all this is not to hide where I got the data but be able to openly and honestly admit in court that I took his collection and modified it, say 'so what' and prevail, just like the phone book case.

The Reimplementer, Notorious Skater at the fringes of Copyright
Thursday, December 11, 2003

You're right I am gullible and probably stupid for thinking other people would be honest with someone trying to help them.  I'll admit I am naive in more that one area.  I'm also scared to be sued.  It seems like something that would linger over your head for the rest of your life.


Thursday, December 11, 2003

Reimplementer, would it be possible just to ask the guy for permission?  If he says "go ahead and use it," you're fine. 

Otherwise, if you're merely copying numbers (and nothing else) and pasting into your own database with your own arrangement, you're probably OK.  You need to be a bit more careful about desctiptions -- if you just rewrite them with a paraphrase, you could be in trouble.

Standard disclaimer.

Robert Jacobson
Thursday, December 11, 2003

I have personal issues that I don't want to ask him. The guy wrote an article for a fringe magazine making extremist bigotted statements about people of my particular ethnic background last year, I'll spare the distasteful details. I used to be friendly with him until he found out about my background, then he got mean with me. He sells a somewhat popular niche application that has a terrible UI but comes with this great database, so it's pretty popular but people complain about the UI. He's using his profits to finance some Aryan supremacy nonsense and, completely motivated by spite, I have spent the last year of my free time cloning the functionality of his app but with a massively better UI and now intend to destroy his market share by providing nearly-free crossgrades to his customer base, and set my base price at 30% less than what he is charging. I want to completely put him out of business and, by extension, shut down the financing of his skinhead propaganda.

I'm understanding about the descriptions now. Just paraphrasing them is not sufficient, which makes it tricky since the information in the sentences is spartan enough to be hard to say another way but is useful enough that I need to include the information contained. One way I thought of is to reduce the information in the sentences into sets of tag:values, so instead of "These measurements by Dan Smith of the Bump Anomaly are notable for the unusual differences between the sixth and seventh leg.", could say source:Dan Smith, object:Bump Anomaly, notes: the 6th & 7th leg differential is not self-symmetrical. That part will be a huge amount of work, but necessary.

Regarding the file names, it looks like I can stick with them. I found this:

> Titles, names, short phrases, and slogans are not protected by copyright law. Similarly, it is clear that copyright law does not protect simple product lettering or coloring, or the mere listing of product ingredients or contents. The exclusion of these types of materials is not an exception to copyright law, but merely an application of the requirements for copyright protection. To be protected by copyright, a work must contain at least a minimum amount of authorship in the form of original expression. Names, titles, and other short phrases are simply too minimal to meet these requirements. This is why you will often see books and movies sharing the same title.
-- from http://www.bitlaw.com/copyright/unprotected.html

Thanks for your help. I really do appreciate it.

The Reimplementer, Notorious Skater at the fringes of Copyright
Thursday, December 11, 2003

*  Recent Topics

*  Fog Creek Home