I have several private projects that I might be needed to show to my prospective employers. I haven't uploaded them to any online version control system because not only do I not have the patience to filter the many many licenses available and choose the most appropriate one (as I am not yet sure how I would want my open source code to be used), I also feel the projects aren't fit enough for upload in public domain as they are not tested rigorously enough for me. I could create a private repository somewhere and allow access to the prospective employers, or I could simply take a USB stick with me, but the question still remains about licensing.

So, I thought of creating an ad-hoc license to the effect of saying "this code is made available to you and no part of it shall be reproduced from memory...", which is almost like signing a NDA. I know it might sound silly, or inane, but I want to protect my IP in someway (you never know what your code could become!).

What is the best way of going about this? If indeed license creation is an option, how would the creation work? Would merely writing a prologue at the beginning of every source file suffice, or is there some long winding legality involved?

closed as off-topic by durron597, GlenH7, Dan Pichelman, user40980, Ixrec May 30 '15 at 13:47

  • This question does not appear to be about software engineering within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    You don't have to license your code at all – with no license stating otherwise, other people can't do anything with your code except read it (with some exceptions through copyright laws, e.g. the US fair use). It is however sensible to explicitly state your copyright when publicising stuff: a line “Copyright 2014 by My Name” is sufficient. – amon Mar 29 '14 at 15:49
  • @amon Thanks. If that is all there is to it then please re-post it as a reply so that I could accept it. – vin Mar 29 '14 at 17:05
  • 5
    I'm voting to close this question as off-topic because legal advice is off topic on Programmers, we can only answer common, broad strokes questions about common licenses. See When is a software licensing question on topic? – durron597 May 29 '15 at 2:17

You don't have to license your code at all in order to publicise it – with no license stating otherwise, other people can't do anything with your code except reading it. There are some exceptions:

  • Copyright law may grant limited use of your work. One important example is the fair use clause in U.S. copyright law, another common exemption would be citations in an academic work – but all of these vary from country to country.

  • If you distribute your code via some service, you grant this service the right to do so which essentially is a kind of license. Depending on the service, you may also be granting further rights. For example, GitHub has the following paragraph in its TOS:

    We claim no intellectual property rights over the material you provide to the Service. Your profile and materials uploaded remain yours. However, by setting your pages to be viewed publicly, you agree to allow others to view your Content. By setting your repositories to be viewed publicly, you agree to allow others to view and fork your repositories.

Your works are protected by copyright even without any markings or boilerplate clauses. But while you don't need any license, you should make sure that it's perfectly clear who owns the copyright: you. A simple comment “Copyright 2014 by My Name” is sufficient for that. To emphasize that you aren't granting any rights to the reader, you can also use the phrase “all rights reserved”, although it has no legal significance.

Note: IANAL either.

Not the answer you're looking for? Browse other questions tagged or ask your own question.