I'm very new to this, and largely self taught but I have created a little python 3 program that edits images (images created and supplied by myself).

I have used PILLOW, along with Kivy (for the UI) and its standard dependencies. The program is then packaged for windows using PyInstaller. I have also used a few of the standard python libraries (io,sys,copy and so on) but I am not sure if those are relevant.

My question is: If I wanted to go about distributing my app for fee use online what steps do I need to take to make sure I won't get into any trouble? I'd also just like to add that I really know nothing about software licensing and how it all works. I have no intention of selling the program, but I'd like to share it with others without having worry about any legal trouble.

  • 1
    Is "app for fee use online" a typo "app for free use online"? – Philip Kendall Nov 11 at 12:02
  • 1
    Who are you worried about getting in trouble from? – ctrl-alt-delor Nov 13 at 12:00
up vote 2 down vote accepted

If you like to stay out of trouble, I think you do not need to do much. Nobody is hunting small projects.

If you like to make it according to what the other people would like you to do, you can do the following:

  • Kivy is MIT licensed. Include the license in the files. Create an about page like all programs have it and include the license there to read or any other way to read it.
  • The Pillow license looks just like it with some modifications. You can also enable users to read this license.

Generally, what I do is allow people to read the license texts. Licenses like the GPLv3 have a small text at the bottom so you do not need to show the whole license.

If you like the users to stay out of trouble, grant them a license. Best, choose a well known one as mentioned by chicks. If you do not grant a license to them, they use your code illegally.

  • 1
    "If you do not grant a license to them, they use your code illegally." - No. If you have legally copied a program, then you do not need a license to simply 'use' (i.e. run) the program. You do need a license to copy and redistribute it, though. – Brandin Dec 5 at 6:13
  • (1) Thanks for correcting that. I am not sure of legal terms. If I tell a person "you can use this", I would call it a license. Would you agree with "If you do not give permission to them, they cannot copy your code legally."? (2) Since Samatha is using Python, the installer performs an act of copying the source code. Is there any chance people could legally install the program if Samanta does not agree to that before? – User Dec 5 at 23:37
  • "You can use this" on a computer implies you can click the installer and install it on your computer. Yes, behind the scenes things are "copied" by the computer, but copyright concerns what you do as the user. For example, you don't have any implicit permission to give that program away to someone else, or to modify it and produce a derivative work. That's why you need a license that gives you those permissions. – Brandin Dec 6 at 5:55

It sounds like you wrote your own code. It sounds like you want to distribute it for free on the Internet. (But that is an open question based on the comments.) Here are a few suggestions:

  • put your code on github or gitlab so others can have a place to post bug reports and such.
  • pick a license you can live with. BSD or GPL are popular choices. BSD is more acceptable to big corps. GPL has a stronger point of view, but one I also tend to like.
  • include docs as Markdown files in your repo.
  • consider git* or bintray as a distribution mechanism.

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.