Hey there.
Im working on a project for some software I want in the world. But I’m such a hobbyist that I’ve never thought of publishing any of my projects, but after doing so much work in it I kind of want other to have access to it after I feel its ready.
Whats the process of distribution? I guess I typically use github when interacting with FOSS community, but its still confusing for me to navigate as an end user sometimes, let alone being an uploader.
FWIW its simply a few python modules and other supporting txt and jsons. Targeting mostly Windows because that’s what I use.
Thanks! (If this isn’t the right place to ask please let me know!)
Edit: there are a bunch of great comments here! To clarify, I want to get it functional and somewhat bug free then fully upload everything so someone can see my idea and do it better. So I think I’m going to go with unlicense, because I don’t really care about getting credit or getting contributions necessarily. Thanks all!
- f00f/eris@startrek.websiteEnglish11·6 months ago
- Create a source control repository containing all your code, and publish it to an online code forge. GitHub’s docs might help with this: https://docs.github.com/en/get-started/start-your-journey
- Choose an open-source license and add it to the repository as a LICENSE file. If you want to require any projects that build upon yours to be open-source too, the GNU GPL is a good choice. If you want to allow proprietary programs to include your library without releasing any source code other than that which is directly based on yours, the GNU LGPL is good for that. If you want to allow people to do whatever they want, even use all your code as the basis of a proprietary program without credit, the Unlicense is a good choice. There are a lot of licenses with different degrees of “copyleft” and attribution requirements in between. Technically publishing with a license file is all you need to do, but there are more things you should do.
- Create a README text file describing what your program does, and instructing users on how to compile and run it. Consider including more detailed documentation on how to use it, as well.
- Clean up your code and file layout so that it’s as easy as is feasible for other programmers to understand.
- Promote your project to whoever you think might find it useful!