bidding advice for a contract

C

cartercc

You've got no clear requirements and no clear scope, but any estimate
you make is going to be treated as a solemn promise.

This thread got me to print out a copy of IEEE Std 830 and read
through it again. Yeah, IEEE says that requirements specifications
should be detailed enough to directly code from it, but how often do
we get detailed specifications in a small shop?

Do you think that sending a copy of IEEE Std 830 to the client would
be a good idea? Probably not.

CC
 
C

Charlton Wilbur

cc> This thread got me to print out a copy of IEEE Std 830 and read
cc> through it again. Yeah, IEEE says that requirements
cc> specifications should be detailed enough to directly code from
cc> it, but how often do we get detailed specifications in a small
cc> shop?

There's a huge difference between having enough of a sense of the scope
and requirements to be able to determine whether the project should take
six weeks, six months, or six years, and having a spec detailed enough
to code from.

I pointed out that you are in the former situation, and that signing a
contract means that you take the blame when you don't deliver what they
wanted (but never specified - you have no clear sense of the
requirements) on a certain deadline (which may or may not be an
impossible task - you have no clear idea what the scope is).

It is true but irrelevant that the latter situation is frequently
unattainable.

Charlton
 
C

Charlton Wilbur

cc> I do this sort of thing for a living, already having a full time
cc> job, so I have a substantial code base already. It's not like
cc> I'll be writing this from scratch.

cc> I doubt that this would be the case. I work for a large public
cc> university in my day job, and the code I have written
cc> specfically for work assignments is no inextricably combined
cc> with code that I have written for pleasure and outside work that
cc> I don't see how it could be traced.

This is extremely unprofessional behavior, *because* of the intellectual
property issues it creates. There should be a clear line between what
the university owns and what you own, and the difference should be made
clear in writing.

cc> What if my employer 'borrowed' it from me? What if I took an
cc> application that I had written years earlier and adapted it to a
cc> current project at work? With all respect, I think this sort of
cc> concern is arrant nonsense, at least given the employers and the
cc> personalities that I work for.

When your employer pays you to do the work, in the absence of a contract
to the contrary, the code you write is the intellectual property of the
employer. If you do not want this to be the case, you need to get
something in writing from your employer that says otherwise.

In particular, if you take code that belongs to your current employer
and use it for your new employer, you are violating intellectual
property rights and exposing both your old employer and your new
employer to lawsuits. You don't have the rights to the code you wrote
for hire; your current employer would need to license the code to your
new employer.

You may find it arrant nonsense, but for the most part, it's the law,
and you have a professional obligation to behave ethically. Playing
fast and loose with this sort of thing is a very good way to torpedo
your consulting career before it gets off the ground.

Charlton
 
R

RedGrittyBrick

Willem said:
Charlton Wilbur wrote:
)
) cc> I do this sort of thing for a living, already having a full time
) cc> job, so I have a substantial code base already. It's not like
) cc> I'll be writing this from scratch.
)
) This sounds like an intellectual-property lawsuit waiting to happen.
)
) Unless you have a contract saying otherwise or you're operating under a
) very unusual legal code, the code you write as part of our employment is
) considered work for hire, and you do not retain any rights to it.

And if the code is written beforehand, and then used in the contract for
your company ? As in, I write a nice codebase/library in my free time,
tweak it until it suits me, and then I fullfill contracts by putting
together pieces from my codebase that fit the specs.

In the jurisdiction in which I live and work, I'd want a clear contract
between me and my employer that makes it clear who owns (copyright in)
any code I develop at work, at home or elsewhere. Otherwise the employer
might reasonably expect that they own any code I put into software for them.

I'd want wording that said ACME SpaceCars Inc is buying a licence for
J.Random.Developer's Foo and Bar libraries and that all rights in those
libraries remain the property of J.Random.Developer. I might consider
lodging the source of those libraries in escrow so that I can prove what
they consisted of at the time of the agreement. There's still a probable
grey area if you improve the libraries in the course of applying them to
the employer's applications.

Just a legal question that came to me when reading your comment.

My legal advice is worth about what I'm charging you for it!
 
C

cartercc

Charlton,

I practiced law for 17 years before I changed careers to IT. I was
licensed in two states. I mostly practiced commercial and consumer
law, domestic relations and insolvency, and didn't get into the IP
area at all, so I freely admit that I am not versed in the area.
However, I ~do~ understand the legal system and the dynamics of how
this plays out in a business setting.

What you say may (note: 'may') be true from a theoretical standpoint,
but I would be very, very surprised if it became a problem. Yesterday
afternoon, I mentioned this to my boss, bigger boss, and biggest boss,
and they all thought I had gone bonkers. I write some code, borrow
some code, steal some code, move it around, use it for purposes both
public and private, official and unofficial. I DON'T(!!!) use stuff
that the RIAA or the MPA would be concerned about, don't download or
copy movies or songs, don't copy books. But when it comes to my work
product, I view that as grist for the mill. After all, what's the
difference if I write code for work, then go to a second job and write
essentially the identical code to solve the same problem, and then go
home and write essentially the same code to some the same problem for
a non-profit that I volunteer for?

You are the only person that seems to think it is a problem. Let's
leave it that way.

This is extremely unprofessional behavior, *because* of the intellectual
property issues it creates. There should be a clear line between what
the university owns and what you own, and the difference should be made
clear in writing.
When your employer pays you to do the work, in the absence of a contract
to the contrary, the code you write is the intellectual property of the
employer. If you do not want this to be the case, you need to get
something in writing from your employer that says otherwise.

In particular, if you take code that belongs to your current employer
and use it for your new employer, you are violating intellectual
property rights and exposing both your old employer and your new
employer to lawsuits. You don't have the rights to the code you wrote
for hire; your current employer would need to license the code to your
new employer.

You may find it arrant nonsense, but for the most part, it's the law,
and you have a professional obligation to behave ethically. Playing
fast and loose with this sort of thing is a very good way to torpedo
your consulting career before it gets off the ground.

I think you and I probably have very different ideas of ethics. I am
very familiar with professional codes of conduct, and have even
violated a few of them, both intentionally and unknowingly. I am
familiar with the various codes that have been proposed for SWEs,
although I don't think that any have been officially adopted. Ethics
and morals are two totally different things. I don't have any
compunction about violating codes of ethics, which after all are
merely codifications of what a particular group thinks at a particular
time and frequently changes, sometimes 180 degrees. Morals never
change and are a constant in an inconstant world.

But I digress ... have a nice day, and no hard feelings.

CC
 
P

Peter Scott

I've been there and talked to the management staff. I've seen what
they do. They are focused on their product but their record keeping is
mostly manual. The literally keep track of inventory and purchases on
yellow pads. The use Excel to track testing data but have no security
or logging, so they can't tell who made what entry.

This is wildly at odds with your assertion that the company is 'big' in
the military ordnance systems industry. In that business, 'big' means
tens of billions of dollars in annual revenue.

If you insist on sticking your hand into this bear trap then do this:
contact a lawyer and pay them to draw up a contract for your engagement,
and present it to the company with the explanation that this is your
standard boilerplate. If (when) they balk, that will tell you volumes
about their real motivations.
 
C

Charlton Wilbur

cc> Charlton, I practiced law for 17 years before I changed careers
cc> to IT. I was licensed in two states. I mostly practiced
cc> commercial and consumer law, domestic relations and insolvency,
cc> and didn't get into the IP area at all, so I freely admit that I
cc> am not versed in the area.

Then you need to consult a lawyer who is versed in the area.

cc> You are the only person that seems to think it is a
cc> problem. Let's leave it that way.

Hey, it's your career. Good luck.

Charlton
 
M

Michael Carman

cartercc said:
What you say may (note: 'may') be true from a theoretical standpoint,

It is true.
but I would be very, very surprised if it became a problem.

Just because you're unlikely to get caught doesn't mean that the
behavior is legal or ethical.
Yesterday afternoon, I mentioned this to my boss, bigger boss, and
biggest boss, and they all thought I had gone bonkers.

Apparently your current employer doesn't place much value on the IP of
source code. I assure you that the attitude is not universal.
what's the difference if I write code for work, then go to a second
job and write essentially the identical code to solve the same
problem, and then go home and write essentially the same code to some
the same problem for a non-profit that I volunteer for?

There's a difference between leveraging general programming knowledge
(algorithms, data structures, etc.) acquired during the course of your
employment and re-using the solution to a particular problem. Even if
you rewrite the code from memory you could still create a legal quagmire
for yourself and your employer(s).
You are the only person that seems to think it is a problem.

No, he isn't. It seems to me that you're too far removed from the
reality that the rest of us live in to bother trying to persuade,
though. Perhaps others have had the same thought and remained silent.

-mjc
 
C

cartercc

It is true.

I don't think that it's true. Of course, this is a different statement
from the statement that some think that it's false. Law is a man-made
artifact that changes over time, sometimes rapidly.
Just because you're unlikely to get caught doesn't mean that the
behavior is legal or ethical.

Just as there's a difference between morals and ethics, there's a
difference between legality and ethics. Sometimes they conflict and an
ethical code may bound you to commit a crime. This isn't a
hypothetical situation, I can give some concrete examples of
situations that I have personal knowledge of that illustrate this.

Going a little bit further, sometimes laws have to be broken in the
interest of justice, for example, the Jim Crow laws in the American
South several decades ago. No one suggests that MLK Jr was immoral for
breaking these laws and getting arrested, charged, tried, and
convicted.
Apparently your current employer doesn't place much value on the IP of
source code. I assure you that the attitude is not universal.

My present employer is barred by law from deriving any commercial
advantage from this kind of work product. As was Bell Labs in the
development of UNIX, which is why they gave it away.
There's a difference between leveraging general programming knowledge
(algorithms, data structures, etc.) acquired during the course of your
employment and re-using the solution to a particular problem. Even if
you rewrite the code from memory you could still create a legal quagmire
for yourself and your employer(s).

How many times have you written something like this:
for ($i = 0; $i < $var; $i++) {...}
while(1) { ... if($var) {last); ...}
my ($count, $sum, $average);

???

I don't know about you, but I'm like a rat that runs a particular
trace. I don't reinvent solutions to problems I've solved every time I
have the same old problem. I use the same old solution. If you say
that this is a crime, I'm guilty.
No, he isn't. It seems to me that you're too far removed from the
reality that the rest of us live in to bother trying to persuade,
though. Perhaps others have had the same thought and remained silent.

I have my reality, you have yours. I doubt that I'm going to be
indicted for what I do. Let me reiterate that I don't do P2P, download
movies or songs, or do any of that. I don't even use unlicencsed
instances of software.

CC
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,982
Messages
2,570,186
Members
46,740
Latest member
JudsonFrie

Latest Threads

Top