×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

Source and object code - who owns what?

Source and object code - who owns what?

Source and object code - who owns what?

(OP)
Background: We have been designing with micros ever since the 4004 appeared back in the early seventies. We have always thought that the customer has the right to source and object. And we have always delivered both to the customers.

Now, we hear that we shall protect ourselves from "pirates" by keeping the source. And even I can think that that is a reasonable thing to do. Especially since most jobs involve a high percentage of R&D before you get to the keyboard and you seldom get paid for that part of the job. There are also special techniques (tricks) that you develop in order to use the cheapest possible processor so that a customer with volume production can produce at the lowest possible cost. This IP is valuable information that we want to keep to ourselves.

Therefore, we have started to keep the source code in our archives and deliver the object to the customer so that he can program his parts. There is nothing in writing that says that source code shall be delivered.

One of our customers that we developed a family of appliances for has now decided to "in-source" the development and we suddenly (after about four years) get an e-mail where he demands that they get all code, including source code.

What is your opinion about this? How would you act?

RE: Source and object code - who owns what?

In general, unless other specified in writing, the source code belongs to the one who paid for its development.  This too may vary from country to country.

First and foremost, you have to look at the wording in the contract between you and the customer, with respect to the disposition of the source code.  If there is nothing, then check if there is some other document which does address the issue.

You definately need to consult an attorney, but without any signed document that allows you to keep the IP, and/or ownership, most likely, the code will belong to the customer.

RE: Source and object code - who owns what?

One caveat about "who paid" is that normally, at least  for aerospace contracts, is a "data rights" clause, where we stipulate that certain portions of the source may be proprietary and that the customer is only entitled to any modifications to the code that was necessary to integrate proprietary code into the design.

In many cases, this can become a contentious issue and certain contracts allow the customer full data rights after X units of production.

You'll also need to research whether the customer was given design reviews and other technical data, e.g., did he receive or expect to receive detailed design documentation on the electrical and mechanical design?  If not, then it's unlikely that he's entitled to the software data.

TTFN

RE: Source and object code - who owns what?

First, consult an attorney
But in my opinon the source code was not part of the deliverables,  the client knew that when he took delivery, did not complain, used the product for four years, and then needed to accomidate a change in his organzation.
My opinion the deal was done, both parties knew only the object code was delivered and both parties were satisfied, as evidenced by the buyers payment without exception (hopefully).
If the deal had happened recently, the buyer may have an argument that he felt he could expect the source code shortly but after four years, he has a lot of uphill swimming.
Just rember my free opinion is wort what you pay.
Good luck!

RE: Source and object code - who owns what?

(OP)
Thanks all,

There is some more background in this specific case. We did an original estimate about development time that was based on an AVR processor with interrupt and built-in A/D. The AVR processors also have a good memory organisation that is easy to use.

This customer then asked us to try and use a PIC without interrupt and without A/D. We had done some work for him before where we had used capacitor discharge A/D (joystick style) and also triac control without interrupt (polling the mains for sync) and that is why we were asked to use these techniques in this project. We decided to try and were confident that we should get paid for the extra work.

The reason for the change of processor was that the customer had negotiated an extremely low price for the PIC processor.

We had no problems in the beginning and even told the customer so (a mistake, perhaps), but when we started integrating measurement, triac control and some rather lengthy math (linearising and temp compensation of RH transducers), we ran into execution time and register use problems. We sorted those out, but it took some time to do that.

The customer could reduce his mfg costs with a yearly amount that was about twice the development cost and ten times the extra cost caused by the change of processor. In other words, we overran our original estimate with 20 percent as a result of the change. But our first invoice was "bounced" with a harsh comment about limits. We finally managed to get half of the extra cost paid. R&D not included.

How would you act? Given this background?

RE: Source and object code - who owns what?

They paid for half the R&D, give 'em half the source code!

If they had paid all the disputed invoice would you give them the source code?

Cheers

Greg Locock

RE: Source and object code - who owns what?

>  What does your contract say about "deliverables"?

>  Would you have charged more and can you show that you would have charged more for the source?

TTFN

RE: Source and object code - who owns what?

(OP)
There were not much formalities. We had been working together before and things were OK then. I trusted the customer. Perhaps one time too many. But I still think that mutual trust is a good thing and makes life a lot easier.

We wanted to set up a structured development plan and have a specification sheet written up. None of these happened. "Not necessary" according to the customer.

Our estimates about development costs are in one of half a dozen progress reports. Remember that the problem is not so much the pay that we did not get. It is more that customer comes back after four years asking for more free lunches.

Tell me that I was naïve. I know that already. But how would you act in my shoes? Remember that this Forum is about Ethics, not Law.

RE: Source and object code - who owns what?

Well, since the customer did not pay for the full development of the software, I would have zero compunction about withholding the most critical 10% of the code, since that's OBVIOUSLY the part that you paid for out of pocket, plus whatever was developed on your own nickel to begin with.

TTFN

RE: Source and object code - who owns what?

When I write code, less than ten percent of the source text is actually used to generate object code.  The bulk of the text comprises commented-out dead ends, records of meetings and decisions, block diagrams, electrical schematics, essays about why certain things were done in certain ways, conjecture about future improvements, cautions about why certain obvious improvements should not be made, test reports, performance metrics, clips of pertinent passages from spec sheets and errata sheets, etc.  IOW, my source text usually serves as a complete record of the project, because IMHO the only way to keep the project record and the source current and linked is to make them one and the same.

I wouldn't deliver that sort of source code to a customer such as yours.  I'd deliver completely uncommented and unformatted source that would produce the object code already delivered, without providing the slightest hint of 'why' or 'how'.

To do that, I'd either filter my source to remove all comments, expand all macros and make all symbolic substitutions, or I'd just run the binary through a disassembler and deliver the result.

-Mike-

 

Mike Halloran
NOT speaking for
DeAngelo Marine Exhaust Inc.
Ft. Lauderdale, FL, USA

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources