4 ms·
If you don't care about licensing, you should absolutely not default to a copyleft license. You should only ever use a copyleft license when you intentionally a
by eridius 8y ago
If you don't care about licensing, you should absolutely not default to a copyleft license. You should only ever use a copyleft license when you intentionally and explicitly want copyleft behavior.
The truth is, unless you're spending a significant amount of time building a high-quality, highly-useful piece of software, as well as marketing it, no company is going to pay you for your open-source software regardless of its license. If you are spending the time and effort necessary to produce something a company will go through the trouble of licensing, then you should be giving a lot of thought to the license you're using already instead of just going with a "default".
As far as actually making money off of open-source work, by far the best way to do that is to leverage your open-source contributions into getting a highly-payed job at one of the big companies. For these purposes, the actual license of the work is pretty much irrelevant, except that using a more permissive license is likely to result in having more users of your component, which in turn gives you as the author more prestige and therefore makes you a more valuable hire.
So basically, if you don't want to give any thought to the license you should use for a particular project, you should default to a permissive one. You can always relicense it later if you decide it's turning into something that might actually be valuable enough for companies to pay for.
- deleted 8y ago[deleted]
- js8 8y agoI think you described the trade-off between permissive and copyleft licenses well, but the argument that you shouldn't default to copyleft is weak. If you care about developers, you should use permissive license, if you care about end users, you should use copyleft license. The final decision is completely determined as who you see yourself more as a maintaner - developer of the software or end user of the software. The choice depends on the nature of software, and if you expect that you will be paid on either developing it or at least using it in another paid project. Unfortunately, there is no middle road. The middle road will just mean more free loaders.
- eridius 8y agoThat's a fair argument, but the counterargument is that permissive licenses are good for users because permissive licenses allow more software to incorporate your component, thus (presumably) increasing the overall quality of software, and it's good for users to have good-quality software.
- js8 8y agoThat is an argument which only works, however, when you're writing a component. Almost exactly dual argument can be made to defend end-users. And it is what we actually observe in the real world. Components that concern developers, such as libraries, often have liberal licenses, while finished programs often have copyleft licenses.
- michaelmrose 8y agoYou can change the license but you can't take but what you have given away. If you default to a permissive license you can't decide that people can't earn money with what you have already given them whereas you can always decide later on to offer a more permissive license should you desire.
- eridius 8y agoBy the time the project is at a point where it's worth someone else selling, you should have given some thought to the license you want to use.
- jancsika 8y ago> You can always relicense it later if you decide it's turning into something that might actually be valuable enough for companies to pay for. And you can just as easily relicense it from AGPL to 3-clause MIT for the odd case that it isn't valuable enough to sell but somehow valuable enough that some number of companies what to use it as a key piece of infrastructure. What is your argument for "absolutely not" doing that and defaulting to 3-clause BSD when an author doesn't care about licensing?
- eridius 8y agoYou can only relicense it if you're the sole copyright owner. Otherwise you have to get approval from every single person who's ever contributed non-trivial changes to the project. But the reverse isn't true; permissive licenses like 3-clause BSD are compatible with GPL, so if you default to a permissive GPL-compatible license, you can relicense under the GPL later if desired without having to get approval from all copyright owners (I'm assuming this is true of AGPL as well but I haven't investigated that particular point). Of course, someone else can fork it at that point and continue maintaining their fork under BSD, which is why you should think about the appropriate license to use before the project gets to a point where having the correct license is important. > What is your argument for "absolutely not" doing that and defaulting to 3-clause BSD when an author doesn't care about licensing? Copyleft licenses are actually fairly dangerous to developers. You have to basically treat any copyleft-licensed code as radioactive and keep it from tainting any other code on your computer. If you're the sole copyright owner it's not a big deal as you can relicense it, but once other people have contributed to the project, it becomes a problem. And on a related note, many developers (such as myself) are reluctant to contribute to GPL-licensed projects, and so using a permissive license is more likely to attract contributions.