this post was submitted on 18 May 2024
65 points (98.5% liked)

Open Source

31354 readers
196 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS
 

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!

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 62 points 6 months ago* (last edited 6 months ago) (3 children)

If you simply want to allow people to view your code, you can just upload it to GitHub or something similar.

By default, your work is copyright and you hold all rights, excluding those you give up to GitHub.

Open-Sourcing your project is all about choosing the license that you want your users to use.

Please, for the love of God, choose an existing license. Don't go out and try to make one yourself or mix and match. Not only do you open yourself up to liability but it just makes it harder for you to keep track of it.

Choosing a license is all about your personal preference and what your goals are. The two ends of the spectrum:

  • MIT License: do whatever you want, so long as you attribute me. Most libraries use this license.
  • GPL/AGPL: if you use my code, you must also release using GPL/AGPL or similarly appropriate license. Linux Kernel famously uses version 2. Linus Torvalds has issues with some of the terms in V3.

There is a lot of middle ground between these two philosophies. Most of the major licenses have seen some level of court cases. I personally use AGPL, which is often seen as one of the strongest, most restrictive, licenses.

I do not recommend releasing code to public domain. This often is a point of contention between OSS purists and OSS "spirit". I personally believe we're entering a new world of AI-driven content and I don't want more code feeding that beast.

The license is then copied and pasted to a LICENSE file at the root of your repo and, boom. You've open sourced your code.

Keep in mind: that commit (and all future commits) will be available under that license until your copyright expires, so long as that license exists in your repo. You cannot claw it back.

One word of advice: you aren't likely going to see a bunch of people downloading your stuff. So don't get your hopes up that you'll have people submitting bug reports or making PRs, etc. All of my projects are just for me to use with one or two people reviewing it for fun. All but one, anyway.

[–] [email protected] 13 points 6 months ago

Choose a license is great, they did an amazing job. I'm personally a fan of gpl. Sorry Amazon/Microsoft/corpo world. If you want to use my stuff great, but then you have to share your stuff too.

[–] [email protected] 12 points 6 months ago

and all future commits

Not entirely true. As long as you hold the copyright to all of the code (there are no contributions from other people), you can change the license however you like. The important thing is that this only affects commits after the licence is changed. All earlier versions are permanently available under the license they were released with.

[–] [email protected] -1 points 6 months ago

I personally use AGPL, which is often seen as one of the strongest, most restrictive, licenses.

Good choice, I use it as well, but please keep in mind that AGPL is not restrictive