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 8 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 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
    Rick Shaub
    wrote on last edited by
    #41

    You could place a copyright notice in the header of any pre-existing code files that you plan to use, and provide a license file pertaining to that code. Perhaps you could persuade them to accept something licensed under The MIT License[^] Handling code snippets might be tricky, but if they are trivial, you could just rewrite them slightly for this customer. This Stack Exchange post may be helpful: copyright - How does fair use apply to code snippets? - Software Engineering Stack Exchange[^] Caveat: I am not a lawyer, but this is the type of approach I would use.

    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

      P Offline
      P Offline
      patbob
      wrote on last edited by
      #42

      Could you grant the customer an appropriate non-exclusive licence to the code? One that satisfies their desire to have a copy of the source that they can keep and modify, but they are not the sole owners of that code? Probably most important to you is that you don't want them to be able to restrict you from using it elsewhere, even on a competitor's project. That's the same kind of license they'd be getting from any open source code you used in their project. If you're developing the code you're claiming ownership of at the same time as working on their project, then you might have difficulty proving you didn't charge them for developing that code, thereby making them the owner of it instead of you. So don't do that.

      I live in Oregon, and I'm an engineer.

      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
        Member 10346655
        wrote on last edited by
        #43

        1. Explain that there are some code sections in the form of existing source code which are *already part of your own IP* and therefore you are unwilling to allow the customer to "own" these. However you are willing to provide a free license for the customer to use and redistribute said functions as part of the final binary. Or let them take the code and develop based on it freely without owing you anything else. 1a. Side-option here is to very quickly open-source that code, now the customer literally cannot own it, downside is, neither do you. But at least it's pretty easy to explain - "some parts of this code cannot comply with the contract as they are open-sourced under the 'Do whatever you want' license" If you are OK with that then this probably a good option as it forces the customer to compromise on the contract text. 2. If #1/1a doesn't fly and the customer refuses to modify the agreement - then your price just went up by a factor of 10-50. I'm not joking - the customer is essentially asking you to hand over something that is *already your IP*, and for that they need to pay, since you could get into legal issues later on if you ever re-use that code so you must be compensated for the loss of that IP. If a client refused to budge on this I'd fire them, I know that might not be an option for you but I would encourage you to dig your heels in a little bit on this. Chances are this is not the customer trying to own all your stuff out of greed, just a case of a standard contract where the customer wants to make sure you don't screw them later on by claiming ownership of the final codebase in its entirety, of do a bait and switch by forcing them to "licen$e these functions I own" later on.

        R 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

          E Offline
          E Offline
          englebart
          wrote on last edited by
          #44

          Set up a separate corporation to own the shared library, and license the shared library from the other corporation. For best case, have the customer also license the shared library directly under a maintenance agreement.

          1 Reply Last reply
          0
          • M Member 10346655

            1. Explain that there are some code sections in the form of existing source code which are *already part of your own IP* and therefore you are unwilling to allow the customer to "own" these. However you are willing to provide a free license for the customer to use and redistribute said functions as part of the final binary. Or let them take the code and develop based on it freely without owing you anything else. 1a. Side-option here is to very quickly open-source that code, now the customer literally cannot own it, downside is, neither do you. But at least it's pretty easy to explain - "some parts of this code cannot comply with the contract as they are open-sourced under the 'Do whatever you want' license" If you are OK with that then this probably a good option as it forces the customer to compromise on the contract text. 2. If #1/1a doesn't fly and the customer refuses to modify the agreement - then your price just went up by a factor of 10-50. I'm not joking - the customer is essentially asking you to hand over something that is *already your IP*, and for that they need to pay, since you could get into legal issues later on if you ever re-use that code so you must be compensated for the loss of that IP. If a client refused to budge on this I'd fire them, I know that might not be an option for you but I would encourage you to dig your heels in a little bit on this. Chances are this is not the customer trying to own all your stuff out of greed, just a case of a standard contract where the customer wants to make sure you don't screw them later on by claiming ownership of the final codebase in its entirety, of do a bait and switch by forcing them to "licen$e these functions I own" later on.

            R Offline
            R Offline
            Rick Shaub
            wrote on last edited by
            #45

            Member 10346655 wrote:

            Side-option here is to very quickly open-source that code, now the customer literally cannot own it, downside is, neither do you

            Open sourcing doesn't affect ownership. At least in the US, the copyright holder owns the code and distributes the code with a license. The license states what is required to use or extend the software. Most open source software uses one of a few well-known licenses such as the GPL, LGPL, MIT, BSD, or Apache.

            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

              N Offline
              N Offline
              Nelek
              wrote on last edited by
              #46

              Joan M wrote:

              - The customer wants you to sign down a confidentiality contract in which it states that the source code is customer's property.

              Confidentiality is not ownership. Things that you explicitelly develope for them, OK. Snippets that you own before working for them, should not be affected. Things that are everyday functions is just not possible... they don't own "hello world", "foo", "boo", the .Net Framework or the windows API.

              M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.

              J 1 Reply Last reply
              0
              • N Nelek

                Joan M wrote:

                - The customer wants you to sign down a confidentiality contract in which it states that the source code is customer's property.

                Confidentiality is not ownership. Things that you explicitelly develope for them, OK. Snippets that you own before working for them, should not be affected. Things that are everyday functions is just not possible... they don't own "hello world", "foo", "boo", the .Net Framework or the windows API.

                M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.

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

                yes... those should be 2 separate documents, but their lawyer made a strange mix there... ^^¡ and I'm not worried about confidentiality... but for being able to reuse code in the future...

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

                https://www.robotecnik.com freelance robots, PLC and CNC programmer.

                N 1 Reply Last reply
                0
                • J Joan M

                  yes... those should be 2 separate documents, but their lawyer made a strange mix there... ^^¡ and I'm not worried about confidentiality... but for being able to reuse code in the future...

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

                  N Offline
                  N Offline
                  Nelek
                  wrote on last edited by
                  #48

                  Joan M wrote:

                  but for being able to reuse code in the future...

                  As others said... Before pasting your functions to their project... CTRL+H (find and replace) and use var1, var2 and so on... ;P :laugh:

                  M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.

                  J 1 Reply Last reply
                  0
                  • N Nelek

                    Joan M wrote:

                    but for being able to reuse code in the future...

                    As others said... Before pasting your functions to their project... CTRL+H (find and replace) and use var1, var2 and so on... ;P :laugh:

                    M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.

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

                    :laugh: :laugh: :laugh: And when they ask about it just look at them with a mad man look and say "who is the crazy one now hu? hu?" :laugh: :laugh: :laugh:

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

                    https://www.robotecnik.com freelance robots, PLC and CNC programmer.

                    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