How to publish/make program public? [closed]

I have just made a program that I want to make publicly available, but I am confused at what I should include. I am putting it on github for the sake of making it easy, but I haven't been able to find anything on what to include in the repository. Obviously I am including all the source files, but since it is a java program, should I have a script to start the program with the right arguments or is that the users responsibility? Should I make it run on startup, or leave that up to the user? What files should I include in the repository to install the program? (i.e. Makefile/script to put the files in the right directories and make any other changes)

More simply, what is the developers responsibility to include in an opensource program? What standards are there for installing/deploying programs?


Solution 1:

You might wanna chose a license. https://en.wikipedia.org/wiki/Creative_Commons_license

You can check out gitignore.io, it creates a gitignore file which can help determine which files not to upload to github.

Should I make it run on startup, or leave that up to the user?

Please don't make it run on startup automagically, that might annoy those who do not want or expect that behaviour (but you can add that as an option for people who want to use it).

What files should I include in the repository to install the program? (i.e. Makefile/script to put the files in the right directories and make any other changes)

You can create an installer if you want to, but that is certainly not required. Something like Inno Setup comes to mind. https://en.wikipedia.org/wiki/Inno_Setup

Should I have a script to start the program with the right arguments or is that the users responsibility?

You can do that, but you can also just explain how to use it in the README.md.

More simply, what is the developers responsibility to include in an opensource program?

Basically nothing, other than the source code. You can just post something like this online: System.out.println("Hello World!"); and you are done.