Freelancing Non Disclosure Agreement. Myth and Reality.

Employer:  I need exclusive rights on the code you write for me. You will be work on NDA.
Case scenario I. Public code.
   Freelancer: Yes, you will. But this mostly will be a code which I already published under MIT license and which is already
               freely available for everyone.
   Comment:    In this case, "exclusive rights" is not more than a myth. For the next employer, freelancer will use the same 
               fragments of publicly available code. Most likely freelancer will create even better quality and ideas code than
               for previous employer. Although, new project may be completely different, but for former employer, there is no way to 
               protect innovative ideas of general nature like methods to access database, innovative methods to inject the script into
               Web page, programmer's skills of improving algorithms, ideas of rendering graphics into Web page there is no NDA.

Case scenario II. Private code.
   Freelancer: Yes you will. I will write the code exclusively for you, you will have royal write to it, and I will erase all of
               code and all the drafts from my PC.
   Comment:    For small projects, "exclusive rights" is still a myth. 
               No programmer is agree to degrade. Everyone likes to progress. So, for next employer, the project written from scratch
               will be much better than former, will have the same or better ideas, design and quality. Of course, it will miss
               specific materials provided by NDA from previous employer and specific business logic from previous employer.
               But, no protection of ideas of "general nature".

Conclusion: NDA is very delicate part of employment. Should be discussed in details. Especially definitions of "idea", "innovation",
            "double licensing".
            If NDA assumes too broad or unclear definition of "idea", the employer will never get a good programmer
            unless for huge fee.  Because, no programmer would like to loose the right to progress and develop own ideas
            which is most precious product and asset of developer's work.

            If such NDA is signed, this will make programmer reluctant to innovate - too much to loose.

            It is too fresh example in our memory. The company abandoned the development of project and this project became a
            cemetery of few years programmer's work implemented ideas and inventions. Even a buried work is a disappointment.
            How much disappointment is a loosing of ideas?