"Free" software licenses – what's "sane" to you?

What's a "sane" license for free software?

  • BSD 2-clause

    Votes: 10 52.6%
  • BSD 3-clause

    Votes: 3 15.8%
  • MIT

    Votes: 0 0.0%
  • Apache

    Votes: 0 0.0%
  • GPLv2

    Votes: 1 5.3%
  • GPLv3

    Votes: 2 10.5%
  • CDDL

    Votes: 1 5.3%
  • Other (please name in comment)

    Votes: 2 10.5%

  • Total voters
    19

zirias@

Developer
Inspired by another thread, I remembered something I have in mind for quite some time now: It seems we all have different opinions about what "free software" actually means.

Among BSD users, I kind of expect the BSD licenses to "win" such a poll. Still I'm interested in comments. When exactly is software "free", according to your opinion?

I'm voting for BSD 2-clause myself. I like it simple. No restrictions whatsoever. Just give credit if you use it.
 
Don't get me wrong, i like to and i do give credit if i use someone elses code, but i think it's nice that you don't have to!
I totally get that. I kind of like this requirement in my preferred BSD-2clause, cause I think it's a matter of fairness. But OTOH, for "true" freedom, you could argue it shouldn't be obligatory.

edit: I also think all the restrictions of GPL take freedom "ad absurdum" in an attempt to ensure it. But I'm really curious whether any proponents of that will add some good arguments!

edit2: I'd call that WTFPL the "libertarian license", hehe :cool:
 
The GPL isn't a free license imho. Too many dothisdothats ;)
I completely agree. But it gets interesting when someone joins who doesn't ;) I'm kind of curious whether some love for "more restrictive free licenses" (IMHO an oxymoron) exists among BSD users ;)
 
I see value in the two extremes: (a) Release the software into the public domain. Let people do with it whatever they want. (b) Do not release the source code.

Everything in between is a difficult compromise. If you want to make a compromise, you need to specify what competing interests you are trying to serve. This discussion can't be had in a vacuum, without talking about "why" and "versus".
 
I still prefer GPL over BSD licenses. But it prefer *BSD OSes over Linux distros. I had many arguments on discord regarding that. GPL isn't that bad at all, it ensures that no one can take your code and make profit of it without contributing changes back in and sometimes that can get complicated. I even like original BSD license where it makes sure that you advertise the original code you base your software on. Its fair and sane to me. But many BSD people disagree on that. I mean just think about it, you make something, someone takes that and just shuts everything out and its like you didn't make it and its not your effort all. I don't agree with that.

But people don't even care about that, they are giving away everything like its worth nothing.

EDIT:
I am ready for your BSD bullets, i took them all i think in the past.

In reality BSD enables money-grabbers to do what they want, that's why companies prefer BSD software. GPL on the other hand is not stopping you from selling software and making profit out of it, but why the hell is everyone hiding their code? Why? Trade secret? Intellectual property? What a load of BS. GPL is totally fine for businesses, shady "i like to hide my code" people don't like that.
 
Hello ayleid96 – thanks for your opinion. I (obviously) don't agree with you as I think giving credit is enough. I've seen this WTFPL suggested in this thread, which is almost the same as PD, it doesn't even require credit. I think that's interesting discussing what "freedom" actually means, but I still prefer BSD 2-clause cause it requires the credit.

May I ask you directly what you are missing IF credit is given? Do you really think it's a bad thing when your code is for example used in some commercial and closed-source product (WITH appropriate credit given, so ppl can find your original code)? If so, why?
 
I understand what are you saying, giving credit is fine and using code in commercial stuff is not bad thing of course. But why commercial stuff needs to be closed? Why are people closing things? Does that mean that FreeBSD for example is not good enough or is it some sort of experimental project for others to base their software on?

Take a look at macOS, you can see "Regents of University of California" credit only if you boot darwin in text mode. And who the hell boots macOS in text mode? And credit is visible only for fraction of second. Sony for example give credit but DEEP-DEEP-DEEP into their technical documentation. It is clear that companies exploit BSD code to(Not everyone, but majority). Surprisingly as i can see now is that Xinuos's OpenServer 10 is based on FreeBSD and they are actually giving credit to that on official page.

For personal projects for example lets say i have my own video game, i would release(only engine code of course) it with GPLv1/2 or original 4-clause BSD license.

EDIT:
Stallman battles this closeness and greed with GPL, because 95% of companies won't give a penny to you without forcing them to at least release changes to the code. Apple can take FreeBSD's code to make money out of it, but FreeBSD cannot to the same with macOS. macOS can take code from Linux but because Linux cannot to the same for macOS GPL guarantees that borrowed code should be always open if nothing else.
 
Last edited:
I like BSD licenses. MPL 2.0 in principle is good, because it has the right balance between viral licenses and permissive licenses.

What I was thinking of, was a new license, where it's like MPL 2.0, except it applies to the entire directory, instead of per file, and that it be simpler. I like the patent clauses in many of these licenses, however, they become incompatible with viral licenses such as a few of GPL's. Either the license wouldn't have a patent clause, or it would have only the opt in exception only for the patent clause to allow exceptions to GPL's part of the patent clause. Of course, GPL and this license wouldn't combine code within the same directory, but they would be used together this way. Simply, by not having a patent exception, can make it exclude GPL code. This kind of license would make it so that, when a project's original owners stop making updates, the code can't be forced into a viral license, where the original less restrictively licensed part is hard to find or lost. This would also be a more reasonable replacement for LGPL. LGPL has more restrictions than it's stated purpose. The directory license (without a patent clause or an exception for patent clauses) would make a lot more sense for hardware drivers and compilers than any other license, especially than GPL and even LGPL licenses.

I was wondering what was wrong with the GPL, and it's that the license terms extend beyond its directory, and dictate other contributions outside of the authors' contributions. My understanding of how it works out in principle is that, a lot within GPL is dual licensed, but when it contains the GPL code, that's a snapshot of that total piece. As soon as BSD code is removed or separated from that GPL piece, it functions as BSD-like or its original permissive licensed code again.

MPL 2.0, for comparison, makes it so, code adjustments to an MPL licensed file has to be contributed back. Outside of that file, they can do what they want with it, permitted MPL is allowed by that other code, for example that their patent licenses are compatible. MPL has the right balance, and it can be used side by side with Apache code. Their only problem is the difficulty that their use must have wide degrees of separation from GPL code, because of patent clause conflicts, unless there's linking exceptions made in a complex way or dual licensing.

In one argument, all licenses, including BSD have patent protections, even if not stated, because the copyright becomes the basis, which someone else can't make a patent off of it or something like that. There were two phrases, one was, that something obvious can't be patented, so the copyright may make something obvious, another was a phrase that has been mentioned here. Preexisting work of art? Apache's and MPL's licenses seem safer for protection from patent trolling. GPL seems like another end of the spectrum from patent trolling, it's more like viral absorption with a bit more freedom.

Edit: I'll propose a Nonviral Directory License, which I've described the idea of it above. LGPL, CDL and MPL are weak copyleft licenses. So that would be weak copyleft too.

Weak copyleft licenses that are nonviral are the best ones. The only problem with them is compatibility with viral licenses. They make it so, improvements to that code must be given back, however, code outside of its scope which can be used with the licensed code doesn't have to be given back. GPL tries to dictate what's outside of its directory.
 
Take a look at macOS, you can see "Regents of University of California" credit only if you boot darwin in text mode. And who the hell boots macOS in text mode? And credit is visible only for fraction of second. Sony for example give credit but DEEP-DEEP-DEEP into their technical documentation.
It's relevant, when people look up the license of that code, because they want to know how they can use it, perhaps for inclusion with other code. Or if someone is studying the operating system, for whatever reason.

Edit - It was hidden, but it had to be included. We know about it, and where to look, because someone looked in to it. Sometimes, it's like rolling credits that are compressed at the end of a tv show, so they can fit in more commercials.
 
Definitely. Do you have any preferences and care to explain that "why"? :cool:
That depends on what the person who wrote the code wants to accomplish. Most code in the world today (including in FOSS) is written by professionals, who are being paid to write that code. Very little code is written by amateurs (people who are not software engineers) and by hobbyists (professional software engineers, but writing code for their own enjoyment, while not on company time).

So for the most part, the real question is: if a company causes software to be written, and pays engineers to do so, why would it then release the source code under some sort of open-source license? That depends on the software, and the relationships it exists in. One reason might be simple altruism, in the same fashion that companies make charitable donations to things like social programs or to the arts. Another might be to create an ecosystem of contributions from many companies to further a common goal (like good and cheap software being available), without having to create associations or joint corporations, and while staying clear of legal problems such as colluding with competitors. It might want to ensnare users into obligations (the GPL and the old Sun Community License have that). In reality, you have to see the release of software under open-source licenses as mostly a commercial transaction.
 
My first encounter with a free license was using GIMP on Windows 98. I remember clicking through the agreement not having a clue what the GNU Project even was and being bemused that the license seemed to be giving me rights instead of taking them.
I have a soft spot for GNU and I really admire RMS but his assertion that we should monetise Free Software by selling it on tapes has not aged well. :D
I’m voting BSD 2-Clause.
 
I am really interested in using this for a future project: The Open Motif Public License

The rights granted under this license are limited solely to distribution and sublicensing of the Contribution(s) on, with, or for operating systems which are themselves Open Source programs. Contact The Open Group for a license allowing distribution and sublicensing of the Original Program on, with, or for operating systems which are not Open Source programs.
Basically, you can only run this on open-source operating systems. If you want to use it on Windows; you need to negotiate a commercial license.

I don't know how possible it is to actually enforce this license but it seems like the perfect duel license approach to me.
 
There’s a music software called LinuxSampler which is GPL’d with the exception that you mustn’t use it as the firmware of an actual hardware sampler. I’m not sure that’s even allowed (GPL but you mustn’t profit from it on Tuesdays, etc.) It’s kind of bad because the GPL wasn’t made to prevent people from profiting from a software, but that’s how it’s often used in practice.
 
There’s a music software called LinuxSampler which is GPL’d with the exception that you mustn’t use it as the firmware of an actual hardware sampler. I’m not sure that’s even allowed (GPL but you mustn’t profit from it on Tuesdays, etc.) It’s kind of bad because the GPL wasn’t made to prevent people from profiting from a software, but that’s how it’s often used in practice.
Hmm i can see that LinuxSampler is under GPLv2 so no tivozation clause is there. The reason why commercial usage is not allowed is purely authors decision, ugly decision.
 
Thank You, Zirias. This is something that came to my mind after our yesterday's discussion. And it is complicated, it might need a lawyer to understand it in fullness.

If I just ignore it and don't even add a copyright to code that I publish, then somebody else can take it, put their copyright into it - and then sue me for publishing it! They will probably not get through with that, but it might become difficult to prove.
But if I do put a copyright into the code, then people might be forced to everytime ask what they can do with the stuff.

So, I see a couple of questions:
  • There is code which I just put online for the ease of it, and it should be considered as if I had written it into a message here in the forum. E.g. my build routines at https://gitr.daemon.contact/sysup - there may be useful stuff in that, and it's for anybody's benefit..
  • Then there is code where I hold to ralphbsz 's statement and don't currently make it publicly accessible. That's for instance my ipfw gui frontend. I think it is useful, but it is not complete (and maybe never will be), and there are a lot of difficult-to-understand things in it but I don't get around to write a documentation for them. So if this goes into the public, then whatever half-understood stuff might derive from it, and in the end somebody might complain they got hacked because they used my code. (Which might happen anyway, because the thing is designed for the beauty of possibilities, not primarily for security.)
  • And then there are codebases that I am using (like FreeBSD). I don't care much about their license (because I don't intend to create and probably sell derivatives), but what I definitely don't like is when I have to sign a copyright treaty in order to be allowed to send them the fixes for their bugs - because such treaties again would require a lawyer versed in international property law in order to even understand them (and these are expensive), and that's where things get just too crazy.
Oh, and what I am missing in the selection is the "just come over and bring beer" license - I think that is what would normally happen in a healthy (native) society that doesn't entertain lawyers.
Becasue I would prefer to discuss the why and how of code logic and how things could be done, over the why and how of creating legal argument.
 
For stuff I use at $HOME, I don't really pay attention to the license. It's rare that I ever contribute anything to the projects, and when I do it's usually bug reports. I have contributed minor bug fixes in the past, and again, I don't really care what license those are distributed under. There is one exception to this.

At $WORK we have to check with legal before using new FOSS software. Some licenses, notably the GPLv3 are a no-go.

The one notable exception to both was the time I got paid to implement a mediumish feature in an open-source (Apache) framework. I was working for a small consulting firm, and we used that framework for a lot of our projects. We were simply too small to maintain the feature forever ourselves in some private code repository. The contribution was cheerfully ignored, which has kinda soured me to the whole contributing to FOSS projects thing.

I have yet to run into a company that contributes to FOSS out of altruism, but I've mainly worked for small and medium companies. I have no doubt it happens in the larger concerns.

I think early on a lot of what drove open source projects was engineers themselves. I remember the bad old days in the '90s were every new place you worked had their own version of C abstractions to do things like cross-platform lists, hash tables, etc. They were all the same in that some parts were brilliant and other parts were absolutely awful. I personally know that some people would just keep a copy of the libraries' source and take it with them to their next job, where it would go through a new round of munging both for better and worse. I think the engineers were able to talk the lawyers into open-sourcing a lot of that stuff, because the new and interesting bugs didn't really add any competitive advantage, whereas a common library made it easier for new engineers to get up to speed upon getting hired.
 
There are sometimes 'subtile' nuances in the licenses.
But I'm no lawyer, i don't see the differences, nor do i understand them. If anyone can explain in a "simple language".
 
Well when talking about whats sane, I think there are two major possible points of views:

1. you don't mind if a company takes your code, makes whatever they want with it and don't have to give back to your project (so makes proprietary commercialization)? Take something BSD.
2. you mind that, and want that a company has to give back their changes? GPL.

GPL is based on the premise that people will only give back if they have to. BSD is based on the premise that most people are decent and many enough will freely give back due to that.

So the decision is based on that. Personally I would probably take the GPL license, because I want that companies have to give back to the project. But then again I've never created OSS projects, and there are good reasons for both licenses to be in existance. BSD licenses for example make a great choice for reference implementations of stuff for sure (well amongst many other things).

So at the end of the day it's not only about which is the best license, but instead which is the best license for the given job.
 
Back
Top