-3

I was wondering what is the difference between these two licenses? I have looked around for GPL but in some places they say you have to post your code to public and in some places they say you don't have to!

Do I have to release my code if I make some changes to it and do I have to let the author know about it?

Also is there any difference between commercial use and personal use?

  • "Do I have to release my code if I make some changes to it and do I have to let the author know about it?" - Are you making changes and then releasing your own program based on the GPL code? Then you need to make the source code of your version available to the same people that you give the program to. It doesn't have to be "public." You don't have to let the author know. The GPL gives you these permissions already. – Brandin Dec 18 '17 at 5:20
  • @Brandin you should post this as an answer ;) – Philippe Ombredanne Dec 22 '17 at 9:02
4

Do I have to release my code if I make some changes to it? [...]

Yes for the GPL, as explained below. But only if you redistributed the code and not as a general public release.

[...] and do I have to let the author know about it?

No, but that's a nice thing to do.

Also is there any difference between commercial use and personal use?

No. There is a difference between mere use and actual redistribution (of source or binaries)

I have looked around for GPL but in some places they say you have to post your code to public and in some places they say you don't have to!

You do not need to post your code publicly. If you are redistributing source or binaries, you need to share your source modifications with everyone that you shared binaries with, only these, not anyone.

Now let's dive a bit in the details... The two key points of the GPL are:

  1. it allows any usage without restriction

  2. it ensures that any user can modify the code and shall share its modifications forever when sharing the code.

So, mere usage and modifications without sharing is not restricted.

If sharing or redistributing, you must notify the user you are sharing the source or binaries with; and make the modified source code available per and under the GPL. You do not need to share this in public (though this is encouraged) but only with the person that received source or binaries from you. That person in turn inherits from the same rights and obligations, and so on all the way down: This effect is commonly called "copyleft".

So what about the BSD? Like the GPL, it allows usage and modification without restrictions. But when sharing the code (for instance as a binary) there is no requirement to share the corresponding source code modifications. Only a requirement to provide credits.

In all cases, there is no requirements to "share" or "credit" things with the general public: only with the persons you share code with.

  • You do not have to release the code! The FSF are very clear about this. But if you do release it then to comply, you would have to release the source code with it. (this answer says the opposite, but then corrects/contradicts it self.) – ctrl-alt-delor Dec 21 '17 at 21:46
  • Actually my answer was indeed not 100% clear. – Philippe Ombredanne Dec 22 '17 at 8:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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