Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Freelancers: How do you cope with that?

Freelancers: How do you cope with that?

Scheduled Pinned Locked Moved The Lounge
comdesignsaleshelpquestion
49 Posts 26 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    Joan M
    wrote on last edited by
    #1

    Hi all, - Customer asks you to make a program. - To do that program you may need functions, code snippets... that you already created time ago. - The customer wants you to sign down a confidentiality contract in which it states that the source code is customer's property. - The problem with this is that you must sign down the confidentiality contract before starting working: you make the program design afterwards so you don't know what you will reuse at the end. - Working in the industrial sector programming, libraries usually are not encrypted/linked therefore it's not possible to specify that all the code in certain library or file is left out of the contract, and in some systems you can't separate the code in files as you'd like... - I can't give the source code at the end as some of my customers ask me to store the repositories in their servers so the code is directly there since the beginning. I need to get legal advice but the lawyers I've contacted doesn't understand a thing about my questions... Have you solved this kind of situation? And if you have... How? Thank you all! :beeR:

    www.robotecnik.com[^] - robots, CNC and PLC programming

    OriginalGriffO F M J Sander RosselS 16 Replies Last reply
    0
    • J Joan M

      Hi all, - Customer asks you to make a program. - To do that program you may need functions, code snippets... that you already created time ago. - The customer wants you to sign down a confidentiality contract in which it states that the source code is customer's property. - The problem with this is that you must sign down the confidentiality contract before starting working: you make the program design afterwards so you don't know what you will reuse at the end. - Working in the industrial sector programming, libraries usually are not encrypted/linked therefore it's not possible to specify that all the code in certain library or file is left out of the contract, and in some systems you can't separate the code in files as you'd like... - I can't give the source code at the end as some of my customers ask me to store the repositories in their servers so the code is directly there since the beginning. I need to get legal advice but the lawyers I've contacted doesn't understand a thing about my questions... Have you solved this kind of situation? And if you have... How? Thank you all! :beeR:

      www.robotecnik.com[^] - robots, CNC and PLC programming

      OriginalGriffO Offline
      OriginalGriffO Offline
      OriginalGriff
      wrote on last edited by
      #2

      By making the original agreement specific to "software written for this project" and excluding "pre-existing library modules" which may be provided in binary form but which aren't supplied in source code. Most customers will understand that library software isn't being produced for them, and that you don't actually charge for the use of it - unless they would like you to reinvent it all in which case the extra time will have to be added to the contract price?

      "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony AntiTwitter: @DalekDave is now a follower!

      "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
      "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

      J 1 Reply Last reply
      0
      • OriginalGriffO OriginalGriff

        By making the original agreement specific to "software written for this project" and excluding "pre-existing library modules" which may be provided in binary form but which aren't supplied in source code. Most customers will understand that library software isn't being produced for them, and that you don't actually charge for the use of it - unless they would like you to reinvent it all in which case the extra time will have to be added to the contract price?

        "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony AntiTwitter: @DalekDave is now a follower!

        J Offline
        J Offline
        Joan M
        wrote on last edited by
        #3

        Yes, that would be easy if the code is linked into a library... But when you program robots or PLC's usually you can't do this as the code must be copied into the project as is...

        www.robotecnik.com[^] - robots, CNC and PLC programming

        K D 2 Replies Last reply
        0
        • J Joan M

          Hi all, - Customer asks you to make a program. - To do that program you may need functions, code snippets... that you already created time ago. - The customer wants you to sign down a confidentiality contract in which it states that the source code is customer's property. - The problem with this is that you must sign down the confidentiality contract before starting working: you make the program design afterwards so you don't know what you will reuse at the end. - Working in the industrial sector programming, libraries usually are not encrypted/linked therefore it's not possible to specify that all the code in certain library or file is left out of the contract, and in some systems you can't separate the code in files as you'd like... - I can't give the source code at the end as some of my customers ask me to store the repositories in their servers so the code is directly there since the beginning. I need to get legal advice but the lawyers I've contacted doesn't understand a thing about my questions... Have you solved this kind of situation? And if you have... How? Thank you all! :beeR:

          www.robotecnik.com[^] - robots, CNC and PLC programming

          F Offline
          F Offline
          F ES Sitecore
          wrote on last edited by
          #4

          You'd probably need to clarify what they mean by "property". Giving someone the source files and agreements that the code was written uniquely for them, or that you won't use the same code elsewhere are different things.

          J 1 Reply Last reply
          0
          • F F ES Sitecore

            You'd probably need to clarify what they mean by "property". Giving someone the source files and agreements that the code was written uniquely for them, or that you won't use the same code elsewhere are different things.

            J Offline
            J Offline
            Joan M
            wrote on last edited by
            #5

            F-ES Sitecore wrote:

            you won't use the same code elsewhere

            Is what they mean...

            www.robotecnik.com[^] - robots, CNC and PLC programming

            F D 2 Replies Last reply
            0
            • J Joan M

              Yes, that would be easy if the code is linked into a library... But when you program robots or PLC's usually you can't do this as the code must be copied into the project as is...

              www.robotecnik.com[^] - robots, CNC and PLC programming

              K Offline
              K Offline
              KSmithDev
              wrote on last edited by
              #6

              I work at a robotics integrator and we've had similar situations in our engineering team. In the end, it usually came down to talking to the client about it. These kinds of things are usually designed to protect the client from someone coming back later and demanding money. The code you'll be writing for this project will be owned by them and therefore never require a license agreement. Are the function and code-snippets truly unique and novel or are they common implementation patterns that you apply to many projects? Just remember that if you write a for-loop for someone else doesn't mean you can't ever use a for-loop ever again. So talk to the client. Let them know you have these functions and code snippets that you've used prior and plan to use in the future. That will help clear up the root issue they're trying to protect against.

              ...never send to know for whom the code faults; if faults for thee.

              M 1 Reply Last reply
              0
              • J Joan M

                F-ES Sitecore wrote:

                you won't use the same code elsewhere

                Is what they mean...

                www.robotecnik.com[^] - robots, CNC and PLC programming

                F Offline
                F Offline
                F ES Sitecore
                wrote on last edited by
                #7

                If that's what they want then it doesn't seem like a tenable contract. If you operate within certain industries you have to respect and understand the basics of how things work, and the fact that you might include libraries etc that don't belong to you is surely the norm in almost all software development.

                1 Reply Last reply
                0
                • J Joan M

                  Hi all, - Customer asks you to make a program. - To do that program you may need functions, code snippets... that you already created time ago. - The customer wants you to sign down a confidentiality contract in which it states that the source code is customer's property. - The problem with this is that you must sign down the confidentiality contract before starting working: you make the program design afterwards so you don't know what you will reuse at the end. - Working in the industrial sector programming, libraries usually are not encrypted/linked therefore it's not possible to specify that all the code in certain library or file is left out of the contract, and in some systems you can't separate the code in files as you'd like... - I can't give the source code at the end as some of my customers ask me to store the repositories in their servers so the code is directly there since the beginning. I need to get legal advice but the lawyers I've contacted doesn't understand a thing about my questions... Have you solved this kind of situation? And if you have... How? Thank you all! :beeR:

                  www.robotecnik.com[^] - robots, CNC and PLC programming

                  M Offline
                  M Offline
                  musefan
                  wrote on last edited by
                  #8

                  I don't think there is a problem with you re-using code, unless it is very specific and unique to that one customer. Which is probably more to do with overall end product of features, rather than the lines of code that come together to make said feature. Imagine if you used a simple console output, such as:

                  Console.Write("hello");

                  Would that mean you can never use that again in another project? Of course not, they can't stop you using that. So what makes a 'block of code' any different? It's your intellectual property. From the legal side of things it would really have to come down to exactly what is written in the contract, but keep in mind that just because something is written in a signed contract, it doesn't mean that it is automatically enforceable by law. Personally I would just use common sense here. Imagine if you are the company and you found out that a particular 'bit of code' had been reused. Would you be overly bothered about that particular 'bit of code'? If yes, then perhaps the code is unique enough that you can't reuse it. But mostly I think the answer will be no. Plus, unless you are copying some UI elements, it's pretty hard to prove code reuse.

                  S W 2 Replies Last reply
                  0
                  • J Joan M

                    Hi all, - Customer asks you to make a program. - To do that program you may need functions, code snippets... that you already created time ago. - The customer wants you to sign down a confidentiality contract in which it states that the source code is customer's property. - The problem with this is that you must sign down the confidentiality contract before starting working: you make the program design afterwards so you don't know what you will reuse at the end. - Working in the industrial sector programming, libraries usually are not encrypted/linked therefore it's not possible to specify that all the code in certain library or file is left out of the contract, and in some systems you can't separate the code in files as you'd like... - I can't give the source code at the end as some of my customers ask me to store the repositories in their servers so the code is directly there since the beginning. I need to get legal advice but the lawyers I've contacted doesn't understand a thing about my questions... Have you solved this kind of situation? And if you have... How? Thank you all! :beeR:

                    www.robotecnik.com[^] - robots, CNC and PLC programming

                    J Offline
                    J Offline
                    Johnny J
                    wrote on last edited by
                    #9

                    They can have the compiled program. Just put a high enough price tag on the source code. Seriously, I couldn't give a flying hoot. How will they EVER be able to prove you have used the same code in a program for another client?

                    Anything that is unrelated to elephants is irrelephant
                    Anonymous
                    -----
                    The problem with quotes on the internet is that you can never tell if they're genuine
                    Winston Churchill, 1944
                    -----
                    Never argue with a fool. Onlookers may not be able to tell the difference.
                    Mark Twain

                    Sander RosselS 1 Reply Last reply
                    0
                    • J Joan M

                      Hi all, - Customer asks you to make a program. - To do that program you may need functions, code snippets... that you already created time ago. - The customer wants you to sign down a confidentiality contract in which it states that the source code is customer's property. - The problem with this is that you must sign down the confidentiality contract before starting working: you make the program design afterwards so you don't know what you will reuse at the end. - Working in the industrial sector programming, libraries usually are not encrypted/linked therefore it's not possible to specify that all the code in certain library or file is left out of the contract, and in some systems you can't separate the code in files as you'd like... - I can't give the source code at the end as some of my customers ask me to store the repositories in their servers so the code is directly there since the beginning. I need to get legal advice but the lawyers I've contacted doesn't understand a thing about my questions... Have you solved this kind of situation? And if you have... How? Thank you all! :beeR:

                      www.robotecnik.com[^] - robots, CNC and PLC programming

                      Sander RosselS Offline
                      Sander RosselS Offline
                      Sander Rossel
                      wrote on last edited by
                      #10

                      The source code you write is owned by the company, meaning you can't deploy that exact code or package at other customers. That doesn't mean you can't recreate (parts of) the code from memory. Of course it depends on the code. When you make some smart use of some code pattern, you can reuse that all you like (because that's literally your job). If your customer has some calculation they use to run their business, you can't use that for other customers (unless they use the same calculation, in which case you'll need to rewrite it from memory). Reusing what you know is called knowledge and experience and it's exactly why this customer is paying you and also why the next customer will be paying you. Just don't share anything that's specific to your current contract with others (which could also be specific code, but more often is about ideas, formulas and processes).

                      Best, Sander sanderrossel.com Migrating Applications to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                      S J 2 Replies Last reply
                      0
                      • M musefan

                        I don't think there is a problem with you re-using code, unless it is very specific and unique to that one customer. Which is probably more to do with overall end product of features, rather than the lines of code that come together to make said feature. Imagine if you used a simple console output, such as:

                        Console.Write("hello");

                        Would that mean you can never use that again in another project? Of course not, they can't stop you using that. So what makes a 'block of code' any different? It's your intellectual property. From the legal side of things it would really have to come down to exactly what is written in the contract, but keep in mind that just because something is written in a signed contract, it doesn't mean that it is automatically enforceable by law. Personally I would just use common sense here. Imagine if you are the company and you found out that a particular 'bit of code' had been reused. Would you be overly bothered about that particular 'bit of code'? If yes, then perhaps the code is unique enough that you can't reuse it. But mostly I think the answer will be no. Plus, unless you are copying some UI elements, it's pretty hard to prove code reuse.

                        S Offline
                        S Offline
                        Slacker007
                        wrote on last edited by
                        #11

                        musefan wrote:

                        I don't think there is a problem with you re-using code, unless it is very specific and unique to that one customer.

                        Exactly.

                        It's much easier to enjoy the favor of both friend and foe, and not give a damn who's who. -- Lon Milo DuQuette

                        1 Reply Last reply
                        0
                        • Sander RosselS Sander Rossel

                          The source code you write is owned by the company, meaning you can't deploy that exact code or package at other customers. That doesn't mean you can't recreate (parts of) the code from memory. Of course it depends on the code. When you make some smart use of some code pattern, you can reuse that all you like (because that's literally your job). If your customer has some calculation they use to run their business, you can't use that for other customers (unless they use the same calculation, in which case you'll need to rewrite it from memory). Reusing what you know is called knowledge and experience and it's exactly why this customer is paying you and also why the next customer will be paying you. Just don't share anything that's specific to your current contract with others (which could also be specific code, but more often is about ideas, formulas and processes).

                          Best, Sander sanderrossel.com Migrating Applications to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                          S Offline
                          S Offline
                          Slacker007
                          wrote on last edited by
                          #12

                          Sander Rossel wrote:

                          Just don't share anything that's specific to your current contract with others (which could also be specific code, but more often is about ideas, formulas and processes).

                          Exactly.

                          It's much easier to enjoy the favor of both friend and foe, and not give a damn who's who. -- Lon Milo DuQuette

                          1 Reply Last reply
                          0
                          • J Joan M

                            Hi all, - Customer asks you to make a program. - To do that program you may need functions, code snippets... that you already created time ago. - The customer wants you to sign down a confidentiality contract in which it states that the source code is customer's property. - The problem with this is that you must sign down the confidentiality contract before starting working: you make the program design afterwards so you don't know what you will reuse at the end. - Working in the industrial sector programming, libraries usually are not encrypted/linked therefore it's not possible to specify that all the code in certain library or file is left out of the contract, and in some systems you can't separate the code in files as you'd like... - I can't give the source code at the end as some of my customers ask me to store the repositories in their servers so the code is directly there since the beginning. I need to get legal advice but the lawyers I've contacted doesn't understand a thing about my questions... Have you solved this kind of situation? And if you have... How? Thank you all! :beeR:

                            www.robotecnik.com[^] - robots, CNC and PLC programming

                            L Offline
                            L Offline
                            Lost User
                            wrote on last edited by
                            #13

                            What you could do is copy your code snippets to a "customised set" specifically for that job. in that copy make a few changes - variable/method/class names and even comments. they can own the set used for thir application(s), not the original. I did a similar thing once, copied some code, and refactored/re-commented it into Nederlandse (just to throw off anyone looking at it, very few here speak it.) alternatively for some snippets [those you are very familiar with even in your sleep] change the variable names to "a", "b", "c" ... and minimise the comments (i.e. just show input and output, not the way it achieves it or even any detail of what it does)

                            List scrub(List sl) // scrub list: input: source list sl, returns: scrubbed list

                            - note: purposely obfuscated the parameter name to "sl" - why "sl" if it's not scrubbed?

                            after many otherwise intelligent sounding suggestions that achieved nothing the nice folks at Technet said the only solution was to low level format my hard disk then reinstall my signature. Sadly, this still didn't fix the issue!

                            1 Reply Last reply
                            0
                            • K KSmithDev

                              I work at a robotics integrator and we've had similar situations in our engineering team. In the end, it usually came down to talking to the client about it. These kinds of things are usually designed to protect the client from someone coming back later and demanding money. The code you'll be writing for this project will be owned by them and therefore never require a license agreement. Are the function and code-snippets truly unique and novel or are they common implementation patterns that you apply to many projects? Just remember that if you write a for-loop for someone else doesn't mean you can't ever use a for-loop ever again. So talk to the client. Let them know you have these functions and code snippets that you've used prior and plan to use in the future. That will help clear up the root issue they're trying to protect against.

                              ...never send to know for whom the code faults; if faults for thee.

                              M Offline
                              M Offline
                              musefan
                              wrote on last edited by
                              #14

                              Pixelfish wrote:

                              So talk to the client. Let them know you have these functions and code snippets that you've used prior and plan to use in the future. That will help clear up the root issue they're trying to protect against.

                              Although I don't disagree with what you have said, I just want to make a point that you should be careful what you talk to a client about. If this client is paranoid (maybe they have been burnt before) then this could get their tails up and cause more problems than it's worth. This is even more so if the client is 'uneducated' in the world of programming - it might be nigh impossible to convince them that code by nature will always be 'similar', and they could easily just assume you are trying to scam them. Maybe even enough for them to decide to cut their loses and find someone else.

                              H 1 Reply Last reply
                              0
                              • M musefan

                                I don't think there is a problem with you re-using code, unless it is very specific and unique to that one customer. Which is probably more to do with overall end product of features, rather than the lines of code that come together to make said feature. Imagine if you used a simple console output, such as:

                                Console.Write("hello");

                                Would that mean you can never use that again in another project? Of course not, they can't stop you using that. So what makes a 'block of code' any different? It's your intellectual property. From the legal side of things it would really have to come down to exactly what is written in the contract, but keep in mind that just because something is written in a signed contract, it doesn't mean that it is automatically enforceable by law. Personally I would just use common sense here. Imagine if you are the company and you found out that a particular 'bit of code' had been reused. Would you be overly bothered about that particular 'bit of code'? If yes, then perhaps the code is unique enough that you can't reuse it. But mostly I think the answer will be no. Plus, unless you are copying some UI elements, it's pretty hard to prove code reuse.

                                W Offline
                                W Offline
                                W Balboos GHB
                                wrote on last edited by
                                #15

                                musefan wrote:

                                Imagine if you used a simple console output, such as:

                                Console.Write("hello");

                                Would that mean you can never use that again in another project? Of course not, they can't stop you using that. So what makes a 'block of code' any different? It's your intellectual property.

                                The question is how far does the above (sensible) example go? Let's consider a painting. They put blue paint on a brush and rubbed it off on the canvas. Done before (prior art in patent terms) and cannot be held hostage. On the other hand, if you keep taking and smearing paint on canvas - at some point are you copying an existing work? Somewhere in that spectrum from a single brush stroke to a an art forgery is that boundary. Neither can one demand exclusivity (patent, copyright) on something in public use for at least one year (in US) - so, even if there is no patent on the Beer Stein Lid, you cannot patent it yourself. I do like the suggestion that if they don't want you to use existing (and thus not proprietary fro them) modules than they have to pay for you to re-develop it as legally unique for them.

                                Ravings en masse^

                                "The difference between genius and stupidity is that genius has its limits." - Albert Einstein

                                "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010

                                1 Reply Last reply
                                0
                                • J Johnny J

                                  They can have the compiled program. Just put a high enough price tag on the source code. Seriously, I couldn't give a flying hoot. How will they EVER be able to prove you have used the same code in a program for another client?

                                  Anything that is unrelated to elephants is irrelephant
                                  Anonymous
                                  -----
                                  The problem with quotes on the internet is that you can never tell if they're genuine
                                  Winston Churchill, 1944
                                  -----
                                  Never argue with a fool. Onlookers may not be able to tell the difference.
                                  Mark Twain

                                  Sander RosselS Offline
                                  Sander RosselS Offline
                                  Sander Rossel
                                  wrote on last edited by
                                  #16

                                  Well, let's take an extreme example. Someone who worked for Google now works for Bing and Bing suddenly becomes a decent search engine that just so happens to show the exact same results as Google... ;) I agree it'll be hard to impossible to discover, let alone prove, that code is intentionally duplicated. I would copy and paste generic bits of code if they didn't have any specific customer logic in it. That said, I consider it professional courtesy to not sell a customer's secrets or processes to other customers (whether I've signed a contract or not) ;)

                                  Best, Sander sanderrossel.com Migrating Applications to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                                  1 Reply Last reply
                                  0
                                  • M musefan

                                    Pixelfish wrote:

                                    So talk to the client. Let them know you have these functions and code snippets that you've used prior and plan to use in the future. That will help clear up the root issue they're trying to protect against.

                                    Although I don't disagree with what you have said, I just want to make a point that you should be careful what you talk to a client about. If this client is paranoid (maybe they have been burnt before) then this could get their tails up and cause more problems than it's worth. This is even more so if the client is 'uneducated' in the world of programming - it might be nigh impossible to convince them that code by nature will always be 'similar', and they could easily just assume you are trying to scam them. Maybe even enough for them to decide to cut their loses and find someone else.

                                    H Offline
                                    H Offline
                                    honey the codewitch
                                    wrote on last edited by
                                    #17

                                    "This code helps me develop faster, and therefore more cost effectively" "I can do it without it, but the project will cost more and require more testing"

                                    hack everything.

                                    J 1 Reply Last reply
                                    0
                                    • J Joan M

                                      Hi all, - Customer asks you to make a program. - To do that program you may need functions, code snippets... that you already created time ago. - The customer wants you to sign down a confidentiality contract in which it states that the source code is customer's property. - The problem with this is that you must sign down the confidentiality contract before starting working: you make the program design afterwards so you don't know what you will reuse at the end. - Working in the industrial sector programming, libraries usually are not encrypted/linked therefore it's not possible to specify that all the code in certain library or file is left out of the contract, and in some systems you can't separate the code in files as you'd like... - I can't give the source code at the end as some of my customers ask me to store the repositories in their servers so the code is directly there since the beginning. I need to get legal advice but the lawyers I've contacted doesn't understand a thing about my questions... Have you solved this kind of situation? And if you have... How? Thank you all! :beeR:

                                      www.robotecnik.com[^] - robots, CNC and PLC programming

                                      R Offline
                                      R Offline
                                      Rage
                                      wrote on last edited by
                                      #18

                                      Here also an interesting read: intellectual property - If you transfer all IP rights to client, can you still reuse parts of source code? - Law Stack Exchange[^] To be pragmatical: - You are not allowed to reuse. - There is no way to change this. - If limited to generic concept (string handling lists, parsers, file handlers, ... ), I doubt anything is ever going to happen if you reuse it despite above statements. - The limit is your own ethic. To reuse examples stated above, if I worked for Google on the PageRank algorithm, and after being hired by microsoft Bing starts to act as a real search engine because of me reusing source code, I would say the red line has been crossed. If I reuse a hex to decimal string converter, it is illegal, but I have no problem with it, and most probably nothing is going to happen anyway.

                                      Do not escape reality : improve reality !

                                      A J 2 Replies Last reply
                                      0
                                      • R Rage

                                        Here also an interesting read: intellectual property - If you transfer all IP rights to client, can you still reuse parts of source code? - Law Stack Exchange[^] To be pragmatical: - You are not allowed to reuse. - There is no way to change this. - If limited to generic concept (string handling lists, parsers, file handlers, ... ), I doubt anything is ever going to happen if you reuse it despite above statements. - The limit is your own ethic. To reuse examples stated above, if I worked for Google on the PageRank algorithm, and after being hired by microsoft Bing starts to act as a real search engine because of me reusing source code, I would say the red line has been crossed. If I reuse a hex to decimal string converter, it is illegal, but I have no problem with it, and most probably nothing is going to happen anyway.

                                        Do not escape reality : improve reality !

                                        A Offline
                                        A Offline
                                        AFell2
                                        wrote on last edited by
                                        #19

                                        I have portions of code that I reuse all the time in other projects (including freelance commercial work), and I am ethically not obligated to sign over this code because I package it as a library on GitHub with an MIT license (which anyone can then also use, too), and then use it in my other work from that source. If the client has any issues with this, all they need to do is review the code and they will see that it is sourced appropriately, and the MIT license is open enough that it won't interfere with any other license they want to slap on it.

                                        1 Reply Last reply
                                        0
                                        • J Joan M

                                          Hi all, - Customer asks you to make a program. - To do that program you may need functions, code snippets... that you already created time ago. - The customer wants you to sign down a confidentiality contract in which it states that the source code is customer's property. - The problem with this is that you must sign down the confidentiality contract before starting working: you make the program design afterwards so you don't know what you will reuse at the end. - Working in the industrial sector programming, libraries usually are not encrypted/linked therefore it's not possible to specify that all the code in certain library or file is left out of the contract, and in some systems you can't separate the code in files as you'd like... - I can't give the source code at the end as some of my customers ask me to store the repositories in their servers so the code is directly there since the beginning. I need to get legal advice but the lawyers I've contacted doesn't understand a thing about my questions... Have you solved this kind of situation? And if you have... How? Thank you all! :beeR:

                                          www.robotecnik.com[^] - robots, CNC and PLC programming

                                          J Offline
                                          J Offline
                                          jsc42
                                          wrote on last edited by
                                          #20

                                          The problem exists in Permanent employment as well. I had a contract that changed wording to (something like) 'all inventions, writings, creations etc done during the time that you are employed by the company become the property of the company'. I challenged by progressively weakening their responses. I queried if that meant that if I made a rocking horse (a creation) on a weekend whether they owned it (it was not a creation relevant to their business and whilst still employed by the company I was not 'on the clock'). Then challenged if ideas I've had for personal projects (by the previous response owned by me) could be used in their projects (they agreed that that was acceptable; otherwise I'd have to delete huge chunks of code written for them that included 'my' stuff). And then I asked about generic routines / utilities designed 'off the clock' but modified for their use 'on the clock'. At this stage, the management handed the problem to the Lawyers. Over a year later, I got a reply - read out over the phone and told that I would not see the written version. This, pragmatically, said they understood that you cannot carve up 'own' and 'company' work and they were happy for me to reuse anything that did not include company owned products or services and that I must remove any references to the company in the code (this was to remove any liability for them if anything untowards happen as a consequence someone using code that could be traced back to them). No, I cannot tell you who the company was (even though it does not exist any more). I suppose that I was fortunate. As a Freelancer, if you run as a limited company (or whatever the equivalent is where you live), then you work for yourself and you can make the same rules as they have. Namely, all code written as an employee of the company (you) belongs to the company (you). If they want access to your code, you can provide a perpetual one-off license for it at the cost equal to the cost of your contract with them. That means you get paid for it, they have the code, you have the copyright. (Actually, copyright has its own bonus. If you put a copyright for yourself in the code and they remove it then the code they have is not whatg you wrote for them and, if they get stroppy about it, you could bluff them for a breach of your copyright).

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups