0

Open Source licences are hard to read and understand for non-native English speakers because it sounds more like a constitutional text (at least I'm having problems to understand them and that's why I am asking this question). That makes it hard to choose a license for a piece of code I developed.

Suppose that I have developed some code (let's call it magic-code) and I want to make it open source with some limitations:

Usage limitations:

  • Any software that uses magic-code must state that it uses magic-code.
  • Any software that uses magic-code must state where it is obtained from (GitHub repo, package manager etc.).
  • Any software that uses magic-code must state the author of magic-code (by either GitHub account or email address specified in magic-code code).

An example statement for a software that confirms to usage limitations:

This software uses magic-code developed by https://github.com/ramazanpolat and obtained from https://github.com/ramazanpolat/magiccode

Modification limitations:

  • Any modification made to magic-code source code must be available publicly as it must include the whole code (modified and non-modified).
  • The publicly available modified code is also subject to Usage limitations.

Is there any existing Open Source licence that covers these limitaions?

  • 2
    Perhaps there is no such license. Don't invent your own license (see how can a "crayon" license be a problem...). Study existing licenses on Open Source and choose an existing one. – Basile Starynkevitch Jan 28 '18 at 15:27
  • 1
    However, you might ask (but not require ....) other users to give attribution. Most people will follow your wish – Basile Starynkevitch Jan 28 '18 at 15:28
  • Or give up the idea of publishing your code.... – Basile Starynkevitch Jan 28 '18 at 15:31
  • 6
    @RamazanPolat: Apart from a few licenses that are close to a public-domain dedication (like CC0), all copyright licenses require that the existing copyright statements are kept or explicitly require that there is no misrepresentation of who wrote the code. There is no way your code will accidentally end up belonging to someone else. – Bart van Ingen Schenau Jan 28 '18 at 17:19
  • 1
    I'm voting to close this question because requiring people to publish their modifications is against the Free Software and Open Source definitions, and therefore off-topic. – curiousdannii Jan 29 '18 at 2:06
4

There are two different licensed I can think of:

Any software that uses magic-code must state that it uses magic-code

I would say that even MIT falls under this: You need to include the license with, quoting:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.


Any software that uses magic-code must state where it is obtained from (github repo, package manager etc.)

AGPL/GPL and other share-alike licenses like CC-BY-SA - these require to provide the source code. Where it is provided from is not really included: The place of development may change, can be on your local computer, ... . If you include it in the header of the MIT license with a link, this will be copied with the software.

is obtained

is a passive formulation. You want the user to know where this one copy is stored? Or where it is developed? Whether it is in the cache?


Any software that uses magic-code must state the author of magic-code (by either github account or email address specified in magic-code code)

You can use the Creative-Commons licenses and specify links and name and what you like to have included in the license notice. https://creativecommons.org/choose/


Does this provice an overview? Maybe you are satisfied with AGPL or CC-BY-SA.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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