Thoughts on getting credit for a program you write?

Denaes

Senior Contributor
Joined
Jun 10, 2003
Messages
956
You know, the splash screen and help screen.

I have someone asking me to write software for them, but as a subcontractor.

They tell me "Here is our old Delphi software, play with it, rewrite it in .Net. After that, we'll start upgrading and adding new features"

The only thing close to code I had to go by was the old database it still had to fit.

So it would be their copywrite, written/coded by me?

Written by Joe Camel(me), liscensed by CompanyX 2000-2004

If it was 100% my program being sold, it would be more like:

Written by Joe Camel 2000-2004, liscensed for sale to CompanyX

Is this right? What is the proper way to do so? Suggestions?

Honestly I can imagine them not wanting my name on it, but you spend a long time writing a program, you expect to get credit for it. I can see them buying off your name, like paying more and you not having the right to say you wrote it.

How would you feel if you did a damn good work and someone wouldn't let you put your name on it?
 
Humm...
Put at least your name in it. You program it and you merit some pub for your next work.
Which of the right quote is right... I don't know.

But I wouldn't let someone publish a program made by me without my name being in it. An specificly if you are a subcontractor.
 
The "credit" usually depends on the terms of the contract - you have a contract, right? :)

For my company, if we are writing software and they want their name on it, not ours, that generally implies that they want to keep all the intellectual rights and sourcecode. That means they'll pay extra.

So scenario 1 would be:
They pay for all code - when the project is done they get all the sourcecode. The about box would only show their name (or whatever they want). Often they don't want their users knowing it was contracted out. Since you're working in contractor mode you're really part of their company for that contract. While technically you can't reuse any of that code for another project, you can often reuse some "common" libraries that you spent time writing. For example, say you wrote a library of routines that takes an int and convert it into a SQL String, converting 0 to DBNull, etc. That type of code is too "common" to be included in the above contract so you'd be safe in reusing it later.

Which brings up scenario 2:
The contract include some common "framework" or "library" of code. You would normally agree to only give them this as a DLL - they don't get the source unless they pay for it. You would generally sell this at a lower rate

The other part of the contract is like scenario 1 - most of the code you write is specific to their business and they're paying for it and get the source and their name on the app.

Scenario 3:
You keep full rights to the software you write and sell to the client. It generally has your name, though you may negotiate to have them put their name on it (with your name somewhere below) for a higher price. The benefit to the client is that it comes at a much cheaper price since you are planning on reselling it. They may negotiate to keep the sourcecode, if you want.

These are just 3 common scenarios. The terms of a contract can be changed/defined by whatever you feel is fair.

If you DON'T have a contract, then you'd better be best friends in real life - and even then there might be issues at the end of the project. A contract isn't like a pre-nuptual agreement in that one party is feeling like "hmm... why do they want a contract, shouldn't this just be an agreeable thing - maybe they're hiding something". It just states your intentions to use the code (or not) and what price everyone is agreeing on.

-Nerseus
 
Depends on the contract you get with the company, as for me, sometimes I need to hire an external company to develop some things, and I always tell 'em that they can't make any references to their company, only inside the source code, we buy the source code too, that's what the contract says.
So maybe the company won't allow you to leave your name in the app.
 
Nerseus said:
The "credit" usually depends on the terms of the contract - you have a contract, right? :)

I'm stupid, but it might possibly work out to my advantage.

I took this on as a psudeo favor for a teacher for a company they own a share in. No contract was specified, just "Remake this application so we/you can add to it and modify it". I was promised a percentage of profits, equivilent to the work I put into it.

So if there are 10 people in the project, and I do 60% of the work, I get 60% of the money.

I was VERY stupid to not have a contract, but this was my first real "paid gig". I'll learn from this.

Now, that said, they've already sold the application to a company on promise, and are showing the demo to multiple other potential clients. I"m about 96% done. No contract.

I won't hand over any source or finished application until I have finalized details, including payment and whatnot.

For my company, if we are writing software and they want their name on it, not ours, that generally implies that they want to keep all the intellectual rights and sourcecode. That means they'll pay extra.

That makes sense.

Very insightful. I'm glad to learn from those more experienced than I am.

So in general, "All Purpose" code should always be reusable. Like a component created for facilitating data entry, data selection, etc would still normally (unless specified differently) yours for reuse, but something specific to the program wouldn't.

Of course all of this is specified in the contract and if you have your own "Personal Library" or use purchased libraries, you'd have to specify that those are off limits - distributed with the program, but dll only.

Does that seem right? Well I guess anything is right if both parties agree to it. Does it seem feasable?
 
Last edited:
Well I guess anything is right if both parties agree to it.

That is probably the best, and simplest, description of a contract - whatever both sides agree to :)

If you trust your teacher well enough, you might not need a contract. If the program starts making a lot of money, just make sure you get what you hope for or write that contract now, before delivery. If it's been sold on "promise" with a contract, then the teacher (I think that's who you said is handling this deal) is responsible for delivering, not you. Things will probably work out Ok - but if they don't, you'll know for next time :)

"All Purpose" code should always be reusable
Yep. A company buying your sourcecode should know (you may have to tell them) that these "simple" libraries aren't being bought with exclusive rights - only their specific details are being bought.

To keep things simple in case they argue the point, it's best to keep the "all purpose" code in a separate assembly (at least one) so you can show them what they're NOT buying the sourcecode to. I've never come across a client who said "whoa! I thought we were getting EVERYTHING". Some have asked for the source to the common library, which I've given. In general, I only deliver the DLL for those common libraries. They generally don't care about the source for the common library unless they decide to hire their own internal people to continue development.

Good luck with the project. I hope you get some money from it :)

For the record, my first "contract" work actually had a contract - sort of. I wrote a program to cheat at a game back in college on the request of my roommate (Masters of Orien 2 I think). He paid me in 2 pizzas, one before I started (to keep my going through the night) and one the next day when it was done :)

-Nerseus
 
It was Master Of Orion 2. And it was a great game ! :p
Very complex but really funny !

Oh... and I love those "live" paiment that you can ingest right now.
Can we specify it in a contract ? :p
 
Back
Top