2

This should be obvious, but I searched for a while and could not come up with a definitive answer:

  • What license should I use if I don't want software to be shared at all?

Let me explain the use case:

  • We are creating a software product that is partly being licensed to our client, but there are other parts which we do not want to be licensed or shared at all. We want it to be proprietary. I understand that we can and should simply hide it. That is what we're planning on doing. But I would also like to establish a license somewhere to explicitly say that everything associated with the packages under this area are not to be shared, and if they somehow came across it, that was mistaken.
    • (I.e., while keeping things secret is best, at least letting folks know they should never have seen it is a nice fallback.)

I am not a lawyer, and have until now always been able to use some sort of open source license or simply avoided a license since it was clear the software would always remain private.

3
  • This is a little confusing. Are you worried about accidentally sending them software you didn't want to send them? Are you worried you'll accidentally expose server code? Are you sending them software and hoping they just won't notice part of it?
    – D M
    Commented Jan 16, 2018 at 5:55
  • I am worried about #2 most of all (accidentally exposing), but I am also worried about #1 (accidentally sending). I am not worried about myself, per se, but others in the company. Commented Jan 16, 2018 at 6:03
  • 1
    Are you giving them the file you don't want shared? Based on your description, you are giving them some files, say "share_me.exe" and "secret_file.dat" and you want to say in your license "You are allowed to use and redistribute 'share_me.exe' but you are not allowed to redistribute 'secret_file.dat'."
    – Brandin
    Commented Jan 16, 2018 at 9:42

3 Answers 3

6

If you don't want someone copying your stuff you don't need a licence at all - that is the default way copyright works.

Simply put a copyright notice in the deployment and any splash screen or about screen.

4
  • Hi Dale, yes, I understand, but it is not clear to me how I even have proof that I wrote it. Please see the comment I wrote to "user6726". Thanks! Commented Jan 16, 2018 at 6:07
  • 3
    Put a copyright notice on the code
    – Dale M
    Commented Jan 16, 2018 at 6:15
  • 1
    Thanks, @Dale M. I think simply putting the copyright notice in a readme doc will be sufficient in my case. I accepted the answer, but I also edited the answer to include the copyright notice, which is what I think I really wanted to know. Commented Jan 16, 2018 at 23:24
  • You can include a LICENSE file that describes the project as proprietary: softwareengineering.stackexchange.com/a/68150
    – Ryan Allen
    Commented Oct 27, 2021 at 18:30
4

If you write software, nobody can use it at all, in any way, shape or form, without your permission (license). That would mean that the people you are writing the software for cannot actually use it, unless you grant them a license. The courts would ultimately decide that you had implicitly granted them a license, but the exact nature of that license is not self-evident, and it's never better to let the courts sort out what you should have said in the beginning. (In the case of the previous works that you created without bothering with a license, there is some risk of misunderstanding and litigation down the line. The courts may find that the implied license in your sale of software includes rights that you didn't intent to grant).

You need to write a license agreement that explicitly states what rights you retain and what rights you grant. If you are writing software for a client, you have to license it all to them, in one form or another: otherwise, they cannot legally install or execute the software.

It is possible to write a complex license that grants permission to use and redistribute parts A, B, C of the software, but licenses only the use of part D, in a very restricted manner (for example, one a single copy can be installed on a central server, whatever technical details are necessary to restrict access in the way you want). The license agreement would need to say clearly and unambiguously what is allowed versus prohibited: saying "you cannot share" is very unclear, since you're not saying what counts as "sharing". An attorney with experience in software licenses would be appropriate.

2
  • Hi, thanks! Yes, I understand that no one else can use it if I haven't given permission (although it is nice to have my thoughts confirmed). However, how do I ensure that there is proof that it is mine? If I simply have a README.md file with the author and date, is that sufficient? Author, date, and "copyright" written somewhere? What else should I have? Thanks! Commented Jan 16, 2018 at 6:06
  • 1
    @MikeWilliamson Although not required, it is said that registering your copyright can help in proving damages. For proving authorship, you might look into digital watermarking for computer programs. In theory this can be done, but it is uncertain if such a code watermark would be meaningful in court. You might consider asking about that in a separate question.
    – Brandin
    Commented Jan 16, 2018 at 10:03
1

You can include a LICENSE file that describes the project as proprietary: http://softwareengineering.stackexchange.com/a/68150

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .