4 ms·
Ask HN: What license do you use for your open-source projects?
Title says it all.
Yes, Beerware, Wtfpl and mspl are valid options. I just want to know why you chose the flavor of choice.
I use a 3-clause BSD when I can because it isn't restrictive to the next poor sod that has to use it, just so long as they remember to include that I wrote it.
- cperciva 16y agoMost of my open source code is 2-clause BSD, because I want everybody to be able to use it with as little hassle as possible. (I'd go with public domain except that there's always someone who points out that legally there's no such thing as "placing into the public domain".)
- madhouse 16y agoI use the GPL, mostly due to its viral nature: if I release something as open source, I want it to stay that way, and not rely on the good will of whoever wants to incorporate it into his work, to contribute back. This certainly makes it harder - or even impossible - to use my projects in certain settings, but frankly, I'm fine with that. I'm even glad.
- billswift 16y agoYou say, "I'm even glad." I have seen this sort of comment before, but what I see when I read them is "I'm petty, really petty."
- madhouse 16y agoPerhaps. Yet, I see nothing wrong with remaining in control of my software's future (at least in some way: I can make sure it remains free). And I see nothing wrong with having a smile over my face when I see people realize they can't take that freedom away from others. My priority is that what I've created to remain free, available to others, just like the huge amount of software I learned from. If someone wants to take that freedom away, and can't, I can't help but feel glad that freedom has been preserved.
- billswift 16y agoThe problem with your claim is that the software you created is still just as available to others even if third parties use it in proprietary software. All you are doing is making it unavailable to those who would otherwise be using it third-hand in such proprietary packages that can't be made because of licensing issues. You are not maximizing others' freedom, you are restricting it.
- _delirium 16y agoI don't see this as a decrease in freedom over the default situation, though. If code is copyrighted, third parties can't use your code in their software, unless they reach a licensing agreement with you. I see GPLing my software as making a limited quid-pro-quo exception: you can use my code for free, without individually negotiating a license, but only if you do the same with your software. If that situation doesn't apply, then I'm happy to license the software in the normal manner, as one proprietary software vendor doing business with another one. My view is something like: If someone is writing a piece of proprietary software, they should understand what proprietary software licensing means, and be prepared to pay for a commercial license if they want to use someone else's code, just as they'd expect anyone else to pay to use their code.
- madhouse 16y agoWell put, thanks for expressing the other half of my thoughts :)
- madhouse 16y agoThat is precisely what I want: if I released something as open source, I want it to stay that way. I do not want it to be used in proprietary software. Yes, I am restricting freedom in a way, but only in cases when someone wants to take those freedoms away. In the long run, I ensure that my software remains available to everyone who doesn't want to take that freedom away. I am happy to exclude those, who would take my work and build it into proprietary stuff.
- prodigal_erik 16y agoDuring the Unix wars, we lost about a decade of progress on BSD because it was on proprietary forks entombed in failing companies. I think we should all be glad that did not also happen to the GNU and Linux work. As for me, I GPL anything other than work for hire (which makes it not my decision). I don't contribute to MIT/BSD projects because that's just subsidizing a vendor who should be paying full price for the work. I haven't had to decide about AGPL so far.
- cperciva 16y agoif I release something as open source, I want it to stay that way You don't need the GPL to do this. Any open source license guarantees that open source code stays open source. What you (apparently) want is to make sure that if you release something as open source, other people's code will be open source.
- madhouse 16y agoI want derived works to remain GPL, yes. Furthermore, if say, I release something under the 2-clause BSD license, and hand over maintainership, the new maintainer can make any new versions closed source, since the BSD license permits that. Granted, I - or anyone - could take the last open source version and continue from there, but that doesn't change the fact, that the BSD license allows such a scenario. The GPL doesn't, which is why I prefer that over the rest.
- mindcrime 16y agoThe vast majority of what I've written and released is under the Apache License, V2.0. I've also put some stuff out under the LGPLv2. I tend to favor fairly liberal licenses, but I could see the merits of going GPL at some point. What I don't ever intend to use are any "badgeware" licenses (CAPL, I'm looking at you) or the Affero GPL. The AGPL just seems wrong to me. I get what they're trying to do, but I just don't see hosting a service running software "X" as constituting "distributing software X."
- _delirium 16y agoI'd use the AGPL if I open-sourced a non-trivial webapp most likely, especially if it were a business rather than a side project, but probably not if it were just libraries or something of that sort. It makes sense to me as a GPL analog in the webapp/SaaS space. I think of the GPL as informally saying that you can do whatever you want with my code, but once you ship a derivative work, you have to release source to your modifications too. In webapp space, what does it mean to "ship" a derivative app? Seems like "launch a public service" is the way you ship, since nobody is selling CD-ROMs with thick-client apps on them. In practical terms, a common alternative to AGPL is just to not release at all, because many SaaS providers are worried that releasing their code will make it too easy for someone to set up an improved rival service, beating them using their own code as a starting point. For example, Gitorious is AGPL, but Github is closed-source.
- mindcrime 16y agoI'd use the AGPL if I open-sourced a non-trivial webapp most likely, especially if it were a business rather than a side project, but probably not if it were just libraries or something of that sort. Fair enough. I could see how someone in that position would find the AGPL appealing.
- kilian 16y agoMIT. It's a nice, small, clear license, and I think slightly clearer than BSD. I hesitate to use GPL (unless I have to) because I like commercial entities to use my work as well, and in all the years of me using MIT, code sharing and patches from third parties keep coming in regardless of whether they have to or not.
- aeden 16y agoMIT because it's simple and non-viral. I'm pragmatic when it comes to open source software - I want to use it how I want without being restricted by others' beliefs.
- ra 16y agoMIT, because it's the license I prefer to consume in my projects. (Although BSD is fine too)
- daleharvey 16y agogenerally the WTFYW license
- jasonkester 16y agoNone. I put my code out there so that people can use it. If they want to do so, they can. I don't see any reason to complicate things beyond that.
- xorglorb 16y agoMIT, however sometimes I'll release under the GPL if I feel I could make a profit off of it in the future by selling commercial licenses.
- metachris 16y agoRelated: "Why you shouldn't use the Lesser GPL for your next library" - http://www.gnu.org/philosophy/why-not-lgpl.html http://www.gnu.org/philosophy/why-not-lgpl.html The argument is made for using the GPL to give other open source developers an edge over commercial entities.