Because corporations would use the code to make a commercial product and then try to kill off the open source by sending out their lawyers.
No Stupid Questions
No such thing. Ask away!
!nostupidquestions is a community dedicated to being helpful and answering each others' questions on various topics.
The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:
Rules (interactive)
Rule 1- All posts must be legitimate questions. All post titles must include a question.
All posts must be legitimate questions, and all post titles must include a question. Questions that are joke or trolling questions, memes, song lyrics as title, etc. are not allowed here. See Rule 6 for all exceptions.
Rule 2- Your question subject cannot be illegal or NSFW material.
Your question subject cannot be illegal or NSFW material. You will be warned first, banned second.
Rule 3- Do not seek mental, medical and professional help here.
Do not seek mental, medical and professional help here. Breaking this rule will not get you or your post removed, but it will put you at risk, and possibly in danger.
Rule 4- No self promotion or upvote-farming of any kind.
That's it.
Rule 5- No baiting or sealioning or promoting an agenda.
Questions which, instead of being of an innocuous nature, are specifically intended (based on reports and in the opinion of our crack moderation team) to bait users into ideological wars on charged political topics will be removed and the authors warned - or banned - depending on severity.
Rule 6- Regarding META posts and joke questions.
Provided it is about the community itself, you may post non-question posts using the [META] tag on your post title.
On fridays, you are allowed to post meme and troll questions, on the condition that it's in text format only, and conforms with our other rules. These posts MUST include the [NSQ Friday] tag in their title.
If you post a serious question on friday and are looking only for legitimate answers, then please include the [Serious] tag on your post. Irrelevant replies will then be removed by moderators.
Rule 7- You can't intentionally annoy, mock, or harass other members.
If you intentionally annoy, mock, harass, or discriminate against any individual member, you will be removed.
Likewise, if you are a member, sympathiser or a resemblant of a movement that is known to largely hate, mock, discriminate against, and/or want to take lives of a group of people, and you were provably vocal about your hate, then you will be banned on sight.
Rule 8- All comments should try to stay relevant to their parent content.
Rule 9- Reposts from other platforms are not allowed.
Let everyone have their own content.
Rule 10- Majority of bots aren't allowed to participate here. This includes using AI responses and summaries.
Credits
Our breathtaking icon was bestowed upon us by @Cevilia!
The greatest banner of all time: by @TheOneWithTheHair!
They are needed to tell users and developers what they can do with the project and whether they can change the source code, redistribute it, etc. Having no license by default means others can't look at your code or modify it in any way, as the terms on how to do so are not defined!
There are several licenses that are used for open-source projects. Generally, they are grouped as either permissive licenses (like MIT) or copyleft/protective licenses (like GPLv3). In a nutshell, permissive licenses gives the developer (or, in the case of commercial use of open-source code, the company) more freedom as the code can be used in any kind of project, including proprietary ones. In contrast, copyleft licenses aim to give users more freedom by ensuring that the code can only be used in projects that also use an open-source license.
There are other elements to licenses too, like how code used should be attributed, whether you are allowed to fork the project, additional copyleft restrictions for SaaS applications (see AGPLv3), loosening of copyleft restrictions (see LGPLv3), etc.
There's a pretty big debate on permissive vs copyleft licenses. The advocates for the former believe that fewer restrictions on how you can use software is better, while those on the side of the latter believe that use of open-source code by proprietary software is harmful to the open-source movement.
Liberals vs leftists essentially 🤣
I don't think that's a good comparison. The ideas of "liberalism" (usually focusing on the rights of the individual) and "leftism" (usually focusing on social justice) are so broad that they aren't very good descriptors.
A more suitable analogy would be a free-flowing river vs a dam. The free river allows all the water to pass through with no restriction, while the dam controls how much water can flow, being more limiting while also offering many benefits (e.g. preventing / reducing the impact of floods)
This is similar to permissive licenses letting any project, open-source or not, utilise their code with no real restriction aside from an attribution requirement for some licenses, while copyleft licenses add additional restrictions, like a dam, that aims to support the open-source movement.
Both permissive and copyleft licenses have their place, just as how not all rivers need to have dams. And either are better than the closed proprietary licenses, which in this analogy would probably be a still, perhaps frozen, lake not connected to any other rivers, as the code cannot be redistributed or modified legally.
Nah, not really.
Hi, I use a permissive license for my stuff so that other open source devs can use it in their projects even if they disagree on the details of licensing opinions.
That doesn't make me some kind of liberal/centrist/"not a Real Free Software Person™".
Sure, that also gives companies the ability to use it in proprietary stuff, but they're not gonna be interested in it and there's a good chance they'd just blatantly ignore the license anyway (see: the "AI training" shit).
Anarchism vs. communism might be a better analogy.
-- Frost
What have been your creations ??
Oh we make lots of random little one-offs!
https://git.brightfur.net/frost (for mine specifically), etc.
The license is what makes it possible to legally distribute the source code, or use it in other stuff.
Without that, the source code is still legally considered proprietary and the author could sue you if you distribute it to other people, or modify it and distribute modified versions. Even if they made it publicly available!
-- Frost
You could just say 'Public Domain' but then you have the issues around privatisation.
I've licensed some stuff under CC0 in the past since it makes it no-friction for individuals, but "embrace, extend, extinguish" is beyond trivialized with licenses like CC0. Licenses like the GPLv3 and CC BY-SA at least maintain some responsibility that corporate actors legally need to meet; they are, to me, better in cases of individuals publishing works, and I see licenses like MIT as basically scabbing the FOSS ecosystem in favor of letting corporations do whatever they want. (I moreso agree with public domain for things like government works.)
Yeah, a lot of my stuff is public domain actually! (I like the Unlicense! it's public domain + a fallback "do anything, no conditions" license because some jurisdictions are weird about the whole concept of public domain stuff.)
Without a license, a company can take your code, compile it into a program, publish that under a different name, slap their own proprietary license on it which prohibits free use, and then sue you, the developer, for copyright infringement.
Applying a license such as GPL to your open source code makes that legally impossible.
Actually, without a license, they can't legally do that but nobody else can use your code either!
(Nothing's stopping them from doing it illegally, license or no. Which is why I personally tend to default to permissive licenses myself. I'm more concerned with open-source cross-license compatibility than about corporations stealing the code for our little projects.)
-- Frost
No. All rights reserved is default. And as copyright is mostly harmonised around the world, I doubt there is any country where that is not the case.
Not sure what corporate hellscape you live in but that is not how it works at all.
If you left it as a public git repo you just have to point to the commits in your repo as existing before their product and the case falls flat.
As others have said, a license is a legal tool that allows you to enforce how you want your program to be used.
And in the case of FOSS this is a really big issue, because just publishing code doesn't put it into the public domain, and leaves you open to exploitation by big companies.
There are various types of licenses, but for FOSS the main ones are unlicensing and Copyleft licenses. Unlicensing essentially declares your code public domain, so anybody can use it for any purpose. Copyleft licenses are usually fairly permissive, especially for individuals, but obligate that any offshot/fork must also be made Copyleft - so prohibits close sourcing of your work.
License is the legal instrument which makes open source software/hardware/silicon possible, describing precisely what rights are granted or retained. The term "open source" usually means the definition propounded by the Open Source Initiative (OSI) but sometimes not in certain contexts. At the very minimum, an OSI-compliant open source license will allow any distribution of the software without having to seek additional permission from the author, must be accompanied with access to the source code, and the software does not come with provisos outright prohibiting its use for certain endeavors.
That last point is about the "use" of the software, and is a crucial distinction between "open source" and "source available". To have source available means the source code can be examined, but usually cannot be compiled. An open source license explicitly allows all uses, but possibly with additional obligations. For example, the AGPL license allows software to be used to run a server, but creates an obligation to provide the server source code to all users that connect. Whereas something like the MIT 0-clause license has zero additional obligations, while allowing the broadest use. When a license is both Open Source and allows free use, it is known as a FOSS license.
The exact verbiage of a license are the domain of lawyers, being a legal document. But the choice of license is down to the software author or corporate owner, and is a multifaceted consideration, including marketability, compatibility with other software, and whether it's more important that the code gets used or that it forever remains available.
The latter is the major battleground for advocates of permissive versus copyleft licenses. Some software (eg reference cryptographic algorithms) have the priority that the absolute most number of people should use them, so a permissive license makes sense. While other software (eg desktop 3D rendering suite Blender) have a priority that nobody can ever take it private by adding proprietary-only features.
Choosing open source is easy, but choosing a license to effect that choice can get tricky. For authors publishing their software, the choice may very well change the course of history (ie Linux GPL-2). For consumers or businesses using software, the license dictates how changes can be distributed.
The source is open for you to look at. Depending on the license, they allow you to do things with it. Sometimes they will show you the source but you’re not allowed to do anything with it besides maybe compiling it for yourself. Sometimes they don’t even give you full source code. Sometimes they let you do whatever as long as they get credit for their part.
Some licenses say that you can use their source code as long as you publish your own source code that used it. Linux Is like that. That is why Apple chose to go with BSD as opposed to Linux. They could remain closed source if they wanted to.
Personally, I release everything I do with “the unlicense” which is essentially public domain.