What if working as a freelancer needs you to hand out personal copyrighted dlls?
-
Let's say you are working as a freelancer and along with the executables you hand out, in the end of your cooperation the source is asked by the client. Within the source though lie some dlls of your personal framework and the client insists on you giving it also. My response was to pay extra for all, about the 2/5s of the overall price, as most companies selling components do to hand out the source code. In any way I would not hand out the source to my framework, rather rewrite using only necessary classes and methods. What's your opinion?
-
Let's say you are working as a freelancer and along with the executables you hand out, in the end of your cooperation the source is asked by the client. Within the source though lie some dlls of your personal framework and the client insists on you giving it also. My response was to pay extra for all, about the 2/5s of the overall price, as most companies selling components do to hand out the source code. In any way I would not hand out the source to my framework, rather rewrite using only necessary classes and methods. What's your opinion?
This should have been discussed before hand, if in the contract, they expect you to turn over all source code applicable, then it's your responsibility to isolate any portions of the code so that you don't have to turn over all your personal work. Giving out dll's without source code to a customer is really not fair to them, they have to be able to support this stuff long term.
-
Let's say you are working as a freelancer and along with the executables you hand out, in the end of your cooperation the source is asked by the client. Within the source though lie some dlls of your personal framework and the client insists on you giving it also. My response was to pay extra for all, about the 2/5s of the overall price, as most companies selling components do to hand out the source code. In any way I would not hand out the source to my framework, rather rewrite using only necessary classes and methods. What's your opinion?
I think you should charge and give them a license to not distribute beyond the original purpose. In any case why would the client want the source code? Compiled binaries of your own is one thing (and a smaller price) but your source code is money and lots of it. Does the "hand out" also involve support for it? If so than you definitely have to stand your ground.
Alberto Bar-Noy --------------- “The city’s central computer told you? R2D2, you know better than to trust a strange computer!” (C3PO)
-
This should have been discussed before hand, if in the contract, they expect you to turn over all source code applicable, then it's your responsibility to isolate any portions of the code so that you don't have to turn over all your personal work. Giving out dll's without source code to a customer is really not fair to them, they have to be able to support this stuff long term.
True. But, as you might realized, this was not discussed before hand, if it was there would be no gray areas. Theses issues allways come along when the cooperation starts to fade due to problems from one or both sides. Added to that, ther was no contract to bind anything, it was more of a gentlemen's agreement this one. And the client did not even honour the payment as initially agreed.
-
I think you should charge and give them a license to not distribute beyond the original purpose. In any case why would the client want the source code? Compiled binaries of your own is one thing (and a smaller price) but your source code is money and lots of it. Does the "hand out" also involve support for it? If so than you definitely have to stand your ground.
Alberto Bar-Noy --------------- “The city’s central computer told you? R2D2, you know better than to trust a strange computer!” (C3PO)
Couldn't agree more. :)
-
True. But, as you might realized, this was not discussed before hand, if it was there would be no gray areas. Theses issues allways come along when the cooperation starts to fade due to problems from one or both sides. Added to that, ther was no contract to bind anything, it was more of a gentlemen's agreement this one. And the client did not even honour the payment as initially agreed.
Yeah, I guessed there was little discussion as to the use of pre-existing frameworks... but to be honest... you probably shouldn't be using any code that you wouldn't want them to get their hands on. After all, they paid for a product, if they can't reproduce or edit all portions of the product, then the responsibility rests on you to inform them of limitations before-hand. Sort of like when you download a framework (MFC, Qt, or whatever) from a company you usually get a list of limitations for use.
-
True. But, as you might realized, this was not discussed before hand, if it was there would be no gray areas. Theses issues allways come along when the cooperation starts to fade due to problems from one or both sides. Added to that, ther was no contract to bind anything, it was more of a gentlemen's agreement this one. And the client did not even honour the payment as initially agreed.
Tell me something dear Nektarie... Is the client from your country of origin? Why I ask? Because (and here come the univotes but remember I was born and bread at the same country as our fellow CPian here) if this is the case, not making a binding contract and relying on gentleman's word and honor, then please look out of the window and see gentleman's word passing bellow it.... Moreover if there is nothing binding and the customer did not pay the full payment what guarantees you full payment upon hand out? Why should you keep your word if he does not keep his? Or even add stuff to the original content delivered? Katalaves palikari mou? Ama aftos den plironi esy giati dineis?
Alberto Bar-Noy --------------- “The city’s central computer told you? R2D2, you know better than to trust a strange computer!” (C3PO)
-
I think you should charge and give them a license to not distribute beyond the original purpose. In any case why would the client want the source code? Compiled binaries of your own is one thing (and a smaller price) but your source code is money and lots of it. Does the "hand out" also involve support for it? If so than you definitely have to stand your ground.
Alberto Bar-Noy --------------- “The city’s central computer told you? R2D2, you know better than to trust a strange computer!” (C3PO)
Alberto Bar-Noy wrote:
In any case why would the client want the source code?
They usually do... most clients hire programmers to do portions of a project that can continue to get developed as need arises. I think it's an exception when someone hires you to do something and expects only binary. If they're paying you while you're building the product, any work is usually deemed their property.
-
Yeah, I guessed there was little discussion as to the use of pre-existing frameworks... but to be honest... you probably shouldn't be using any code that you wouldn't want them to get their hands on. After all, they paid for a product, if they can't reproduce or edit all portions of the product, then the responsibility rests on you to inform them of limitations before-hand. Sort of like when you download a framework (MFC, Qt, or whatever) from a company you usually get a list of limitations for use.
And the client did not even honour the payment as initially agreed.
And here is the catch.
Alberto Bar-Noy --------------- “The city’s central computer told you? R2D2, you know better than to trust a strange computer!” (C3PO)
-
And the client did not even honour the payment as initially agreed.
And here is the catch.
Alberto Bar-Noy --------------- “The city’s central computer told you? R2D2, you know better than to trust a strange computer!” (C3PO)
That is a bit of a catch...
-
Let's say you are working as a freelancer and along with the executables you hand out, in the end of your cooperation the source is asked by the client. Within the source though lie some dlls of your personal framework and the client insists on you giving it also. My response was to pay extra for all, about the 2/5s of the overall price, as most companies selling components do to hand out the source code. In any way I would not hand out the source to my framework, rather rewrite using only necessary classes and methods. What's your opinion?
So far I've basically written new versions of my existing code for each client. Especially my last client where I wasn't allowed to "attach a storage device to the network", i.e. I wasn't allowed to plug a USB drive into the company computer I was issued, ergo I couldn't just copy my codebase over. So I wrote new watered-down versions of my data access classes. It was a good exercise. I did email myself a few small snippets of my regular code as needed. And as I developed new library routines I emailed them home to merge into my main codebase. I agree with giving the client a library that contains only those classes and methods that are required by whatever application you deliver. As I'm in the business of selling my time, not my code, I have no problem with clients having access to my code.
-
Tell me something dear Nektarie... Is the client from your country of origin? Why I ask? Because (and here come the univotes but remember I was born and bread at the same country as our fellow CPian here) if this is the case, not making a binding contract and relying on gentleman's word and honor, then please look out of the window and see gentleman's word passing bellow it.... Moreover if there is nothing binding and the customer did not pay the full payment what guarantees you full payment upon hand out? Why should you keep your word if he does not keep his? Or even add stuff to the original content delivered? Katalaves palikari mou? Ama aftos den plironi esy giati dineis?
Alberto Bar-Noy --------------- “The city’s central computer told you? R2D2, you know better than to trust a strange computer!” (C3PO)
I wouldn't want to expose him, even though this came to be one of the worst outsource projects I had so far. To satisfy your curiosity a bit, he was born and raised outside the country, in Europe though, and 1 parent was from totally different country also. So it's a universal problem! :-D It's exactly like that. Ofcourse to secure things, for the final hand out, I asked to be payed in advance -take it or leave it way, because of all these issues... I offered to do a final addition of the source code, rewriting out only necessary parts and not the complete personal framework ofcourse, just out of professionalism. And ofcourse I note again that no source has been asked to be handed out throughout our "agreement". I share this mostly to remind to us all to be very accurate in all our transactions, no "friends" exist when you are exchanging money in any way, and even after 10 years in the business, there are people who think they can make a sucker out of you... :) Kala ta les kai pali...
-
So far I've basically written new versions of my existing code for each client. Especially my last client where I wasn't allowed to "attach a storage device to the network", i.e. I wasn't allowed to plug a USB drive into the company computer I was issued, ergo I couldn't just copy my codebase over. So I wrote new watered-down versions of my data access classes. It was a good exercise. I did email myself a few small snippets of my regular code as needed. And as I developed new library routines I emailed them home to merge into my main codebase. I agree with giving the client a library that contains only those classes and methods that are required by whatever application you deliver. As I'm in the business of selling my time, not my code, I have no problem with clients having access to my code.
I'm on the opposite side of things... I occasionally hire contractors if there's too much work for the in-house engineers and developers to finish in a timely manner. From that end, it would royally piss me off not to be able to continue to support any code that was developed by a contractor. You can bet I would never hire (or recommend) them again (may even follow up legally if deemed necessary). On the other hand... if I'm happy with the work and performance of a person. I'll continue to send work their way when possible. So... happy customer is a good customer. :)
-
Alberto Bar-Noy wrote:
In any case why would the client want the source code?
They usually do... most clients hire programmers to do portions of a project that can continue to get developed as need arises. I think it's an exception when someone hires you to do something and expects only binary. If they're paying you while you're building the product, any work is usually deemed their property.
Yes ofcourse, you allways want a way to reuse, expand or solve a new bug after all colaboration is finished and they are on their own. But it is completely different when you are working as a freelancer. All must be predefined to avoid misinterpretations of what should and what should not be handed out. Code belongs to both the author and the company that the project is originated for. You may reuse your code but you can not present a solution created by even only you in a company as yours. On the other hand, when there is code that you bring along that is a totaly yours. Code that you might have developed on your spare time, or as a colaboration of you and 5 other friends...whatever. Noone can get hands on those assemblies unless the truly copyrighted author agrees to hand it out. And that would be for fellow programmers mostly, not for commercial use, otherwise there's no point getting paid for our work...! :)
-
True. But, as you might realized, this was not discussed before hand, if it was there would be no gray areas. Theses issues allways come along when the cooperation starts to fade due to problems from one or both sides. Added to that, ther was no contract to bind anything, it was more of a gentlemen's agreement this one. And the client did not even honour the payment as initially agreed.
Antoniades Nektarios wrote:
And the client did not even honour the payment as initially agreed.
imho this puts the whole situation in a very different "light." The question that becomes essential to answer is then: did the client not pay you a promised initial amount before these issues arose around source code ? If the client is in "default" on an initial promised payment made before any disputes, then you owe the client nothing, imho. I believe, at least in America, you'd have the right to sue for that promised payment: whether it would be worth the time and expense of suing, of course, is another issue. However, if the client is now in possession of some of your valuable work, and can use it, and has not yet paid you for it: then, imho, you are: "over a barrell." And, then again, if the client cannot fully get value from what they may have now, without your further co-operation: then you, as well, have "leverage" in this situation. The only idea I can think of is to propose a "cooling off period" ... if the dispute is getting nasty ... and also propose negotiating a settlement using 3rd. party arbitration: there are lawyers who specialize in such. good luck, in any case, Bill
"It is the mark of an educated mind to be able to entertain a thought without accepting it." Aristotle
-
I'm on the opposite side of things... I occasionally hire contractors if there's too much work for the in-house engineers and developers to finish in a timely manner. From that end, it would royally piss me off not to be able to continue to support any code that was developed by a contractor. You can bet I would never hire (or recommend) them again (may even follow up legally if deemed necessary). On the other hand... if I'm happy with the work and performance of a person. I'll continue to send work their way when possible. So... happy customer is a good customer. :)
To not get out of our subject though, because I fear we are close to that, the idea is not whether to hande out source code, but the source of additional dlls that create a code base created by the author.
-
And the client did not even honour the payment as initially agreed.
And here is the catch.
Alberto Bar-Noy --------------- “The city’s central computer told you? R2D2, you know better than to trust a strange computer!” (C3PO)
We had a contractor at a previous job caught in a not disimilar position. Stuff he'd developed previously he wanted to sell using a sort of non-disclosure licence, otherwise you get the assemblies only. Okay, they said, we'll settle for the binaries only. After he left, the manager of that team asked one of his guys to reverse engineer it. Aha! Then they discovered it was obfuscated! The called him back in soon enough. Rumour had it, the price went up.
-
To not get out of our subject though, because I fear we are close to that, the idea is not whether to hande out source code, but the source of additional dlls that create a code base created by the author.
It's source required to produce the product you made for them... it's part of the project. Like I said, this should have been cleared up before-hand. If they hire you to make a product, then saying "I made the product, but you don't have access to 30% of the source because it's in my personal libraries" is not really acceptable, or wouldn't be for me... as a project manager. Then again, our contracts explicitly spell out that all work made is company property.
-
I think you should charge and give them a license to not distribute beyond the original purpose. In any case why would the client want the source code? Compiled binaries of your own is one thing (and a smaller price) but your source code is money and lots of it. Does the "hand out" also involve support for it? If so than you definitely have to stand your ground.
Alberto Bar-Noy --------------- “The city’s central computer told you? R2D2, you know better than to trust a strange computer!” (C3PO)
I disagree.
Alberto Bar-Noy wrote:
your source code is money
Software is meant to be free.
Alberto Bar-Noy wrote:
why would the client want the source code?
Partly to see what kind of quality it has. If you're reluctant to show your code, it's probably horrible.
-
Antoniades Nektarios wrote:
And the client did not even honour the payment as initially agreed.
imho this puts the whole situation in a very different "light." The question that becomes essential to answer is then: did the client not pay you a promised initial amount before these issues arose around source code ? If the client is in "default" on an initial promised payment made before any disputes, then you owe the client nothing, imho. I believe, at least in America, you'd have the right to sue for that promised payment: whether it would be worth the time and expense of suing, of course, is another issue. However, if the client is now in possession of some of your valuable work, and can use it, and has not yet paid you for it: then, imho, you are: "over a barrell." And, then again, if the client cannot fully get value from what they may have now, without your further co-operation: then you, as well, have "leverage" in this situation. The only idea I can think of is to propose a "cooling off period" ... if the dispute is getting nasty ... and also propose negotiating a settlement using 3rd. party arbitration: there are lawyers who specialize in such. good luck, in any case, Bill
"It is the mark of an educated mind to be able to entertain a thought without accepting it." Aristotle
The truth lies somewhere in the middle, I got paid less that agreed, became sceptic and holded all work from there on till we rearranged our agreement, then the client asked for source code of everything fearing the more than expected fact of me walking out of the equation. He loses more than I do in this case, because (a) my dlls are secured and (b) it's original work so it would need me to at least pass some experience and source in order to continue supporting the projects. I don't think is something to go legal for, from either side, since as I mentioned it was a contractless project this one. No contracts, no formal agreements, no signatures rather than our word, which is in most cases easily forgotten and not honoured..