9 ms·
Choosing a License for GoatCounter
- enriquto 7y agothe AGPL is clearly the best free software license nowadays. It could supersede the plain GPL, as it inherits the same spirit in the cloud context.
- gnulinux 7y agoI agree, I re-licensed my own GPL projects to AGPL recently.
- t0astbread 7y agoDo the (A)GPL or the EUPL really require the publication of hacks for private use? I thought that was always linked to redistribution of the software, not use. Also, doesn't the Parity Public License violate the OSI definition of "Open Source" by requiring users to “Contribute software you develop, operate, or analyze with this software”. This kinda reminds me of MongoDB's SSPL which (I think?) violated the "license can not restrict other software" rule: https://opensource.org/osd https://opensource.org/osd
- JoshTriplett 7y ago> Also, doesn't the Parity Public License violate the OSI definition of "Open Source" by requiring users to “Contribute software you develop, operate, or analyze with this software”. Yes, it does. It's a license that pretends to be open, but isn't, much like MongoDB, or the Redis "Commons Clause". The whole rant linked from this article, about the OSI, is very much a case study for why you should ignore any license that claims to be open or uses terminology that vaguely sounds open but isn't actually OSI-approved. (With a dose of "and you should be scared of copyleft" FUD thrown in.)
- zzzcpan 7y agoNo, you should ignore OSI crap. They interpret "open" as open to be closed and abused by corporations, not remaining open for end users.
- zozbot234 7y agoA requirement to "Contribute software you develop, operate, or analyze with this software" is incredibly extensive - imagine if, e.g. gcc or valgrind were licensed with this clause! You would be well advised not to ignore what OSI has to say; they're there to protect users and developers, not just corporate entities.
- _frkl 7y agoBut it's good to have the option, no? Always depends what you try to license, and in some cases I think it's good to have a very strong copyleft license available. gcc might not be it, other software might. Also, I think saying 'protect' is quite one-sided, and signalling virtue while at the same time unfairly painting a copy left license like Parity as sorta predatory. Just my opinion, of course, but I wish every piece of software in the world was copy left licensed. I know that is unrealistic on millions of levels, but I still think it's a valid course of action to try to get us at least a tiny bit in that direction, and choosing a license that restricts a few small parts of select freedoms in exchange for that. Just because OSI has been seen as the champion of open source in the past doesn't mean we all agree that was justified, and a good thing. Most people think differently to me in this regard, or don't really care, but this is not and will never be a settled argument.
- JoshTriplett 7y agoWe don't need more non-FOSS licenses in the world. I'd like to see more use of copyleft as well, but the whole point of copyleft is to keep software FOSS. If the license isn't FOSS to begin with, that defeats the purpose.
- _frkl 7y ago
- zzo38computer 7y agoI think that you should select a license which is both FSF and OSI approved. Alternatively, publish the source code as public domain.
- Carpetsmoker 7y agoDifferent people have different meanings for "open". Right now there seems to be something of a crisis of terminology, where "open source" originally just meant "the source is available". The the OSI stepped in and gave it a specific definition with the OSD, but some people still continue to use it in the original "source is available"-way, whereas others use it only to mean OSD-compatible or OSI-approved. I'm not sure if inventing more terms will be successful or useful, so the only way forward I see is to relax and assume good intent from everyone, use "OSI-approved" or "compatible with OSD", and "open source" as a very broad umbrella term for anything where the source is available. This is already how many people use the term, especially those not intimately familiar with software dev/open source. I've never seen a single instance where telling people that "you're technically using that commonly used term wrong" is successful.
- JoshTriplett 7y agoPeople also misuse the term "public domain" to refer to a wide variety of things that mostly amount to "I found it somewhere and I want to use it". That doesn't make it correct. There's a difference between an unintentional mistake of loose terminology, and someone intentionally trying to create confusion and FUD for their own benefit. In the former case, I've run into multiple people who did appreciate learning what "open source" actually means. (I'm in a position of providing mentorship on a variety of topics, including on FOSS.) In the latter case, anyone trying to misleadingly brand their software as open while using a license that isn't actually open needs a strong response; the companies engaging in such misleading practices are unlikely to listen to that response themselves, but many of their customers and potential users will listen, and steer clear. We don't need to invent new terms. We have terms. We need to discourage misuse of the terms we have. If (hypothetically) we invented a new term and that term caught on, then people would try to abuse that term. There's an incentive to latch onto the popular terminology while attempting to work around its requirements; there needs to be a strong disincentive to doing so, as well.
- kemitchell 7y agoWhen a large number of people use a word to mean something, that's what the word means. My definition of "public domain" doesn't trump their definition, just because I'm a lawyer or a programmer or somehow more specific. Neither does James Boyle's or Larry Lessig's. The first group to latch onto "open source" was OSI. "Open" had been a buzzword in computing for a whole generation before. The media didn't eat up ESR's line because OSI had a definition or a license list. Initially, it had neither. The media ate it up because of the software, which hadn't been called by that name before. Nobody's abusing anything here but OSI's sense of entitlement. Comment above is right: there's no exclusive right to the term.
- kemitchell 7y agoParity pretends nothing and hides nothing. Unlike scores of OSI approved terms, its rules are plain for all to read and understand. Hackers can quote the terms in HN posts and grok them without taking anyone else's word for it. You can dismiss my points as a rant. In your position, I might be very tempted to do the same. But that is exactly why OSI is where it is right now. When every OSI critic is a heretic to be ignored, OSI becomes more and more insular by the day. The heretics come to outnumber the faithful.
- JoshTriplett 7y ago> Parity pretends nothing and hides nothing. It portrays itself as open, it talks all about being "free for open source", it uses pictures like https://licensezero.com/doors.svg https://licensezero.com/doors.svg (warning, site contains misleading misinformation), but it's intentionally misleading and equivocating, and benefits from the resulting uncertainty and lack of clarity. It's a proprietary software license that tries to convince people to let it into their ecosystem. What's more dangerous to leave around unlabeled? The poison that looks like glowing green toxic sludge and smells so bad it makes your eyes water, or the poison that looks like clean drinking water at a glance? Which one is more likely to harm the unwary and the uninformed? Parity's brand of poison might not have a label on it that explicitly says "clean water, drink me", but it's more dangerous if you're not deeply familiar with license minutiae and history. It's an attractive nuisance. > Unlike scores of OSI approved terms, its rules are plain for all to read and understand. So are the Creative Commons non-commercial and no-derivs licenses, and they're not FOSS either. > But that is exactly why OSI is where it is right now. Wildly successful in maintaining a list of licenses people can trust that describe an ever-growing amount of software, against a multitude of threats? OSI is an extremely cautious and conservative organization, as it should be. > When every OSI critic is a heretic to be ignored, Constructive criticism can be useful. Competing agendas advancing not-quite-open licenses are not. And no, not ignored, nor elevated to any position as vaunted as "heretic"; ignoring would be dangerous. FUD needs countering, and software that tries to go from FOSS to proprietary (including "proprietary but we wish you'd pretend it's open") needs forking and the original consigned to a historical curiosity and a reference for anyone thinking of doing the same. > The heretics come to outnumber the faithful. Only in their wildest dreams. The self-styled "heretics" are just loud.
- mplanchard 7y agoI had the same understanding as you regarding hacks for private use and was also confused there. My understanding of the [A]GPL is that you can modify software and even use it internally at a company without the distribution restrictions kicking in. I’m far from an expert on the topic though.
- csande17 7y agoAGPL says roughly "you have to give the source code to anyone who accesses the software over a network". In other words, it's basically trying to say that software-as-a-service counts as "redistribution" for the purpose of the license. Regarding the Parity license, it used to be called "License Zero Reciprocal" and was submitted to the OSI for approval. When it became clear that that wasn't going to happen (because, as you mention, it clearly violates the OSI definition of Open Source), the author withdrew it[1] and changed the name before it could be formally rejected. [1] https://lists.opensource.org/pipermail/license-review_lists.opensource.org/2018-December/003855.html https://lists.opensource.org/pipermail/license-review_lists....
- zozbot234 7y ago> In other words, it's basically trying to say that software-as-a-service counts as "redistribution" for the purpose of the license. Copyright law regulates public performance of any covered work - whether some activity counts as "redistribution" is ultimately a matter of law, not just licensing. AGPL protects the user by providing explicit language for what's required wrt. the public-performance case. Other copyleft licenses do not deal with this ambiguity.
- kemitchell 7y agoI never withdrew L0-R and OSI never rejected it. But that implies a formality to the process that was never there. I still disagree strongly that L0-R fell outside OSI's definition. Do you have a reading of that definition that doesn't exclude existing OSI-approved licenses? A few folks tried to build some, purpose-built to exclude L0-R, but they didn't stand up. People opposed the license for entirely separate reasons, and only tried to talk in definition terms after weeks of trying to steer discussions there. Your description of AGPL is pretty good, but it better suits OSL than AGPL. AGPL's approach to network copyleft stands largely apart from its approach to distribution-triggered copyleft. Only the definitions of "modify" and "Corresponding Source" get reused in meaningful ways.
- pabs3 7y agoThe GPL indeed only triggers on redistribution. The AGPL's extra clauses over the GPL only trigger on modification of the software (not use) and only require source redistribution to users of the service.
- pe-schmitz 7y agoFor private use, certainly not. In case of distribution, yes. The EUPL consider as distribution "providing on-line access to essential functionalities of a software". This is tha case of SaaS.
- comex 7y agoThe EUPL has network protection, but it can be circumvented pretty easily. That’s because the EUPL also has a clause which lets you convert EUPL code to any of a long list of “Compatible Licenses”, including GPLv2, GPLv3, and many others. So you can just convert to a license without network protection and use the software under those terms. (Technically you can only convert when distributing a derivative work “based upon both the Work and another work licensed under a Compatible Licence”, but you can just find some GPL-licensed function which can be put somewhere in the codebase. Oh, and you may need multiple people to pull this off.)
- JoshTriplett 7y ago> some companies avoid AGPL due to its extremely “viral” nature This is a feature, if you're trying to make sure that people either share changes or pay you. If some companies avoid it, that means it's doing its job. (This seems related to classic advice on pricing: if nobody ever thinks your product is too expensive, then your product is too cheap.) > I don’t like that it imposes restrictions on non-commercial users. If you’re running a private GoatCounter for your personal weblog with some hacks you clobbered together then go for it! No need to send me your ugly hacks. Again, I may investigate some dual-licensing options in the future. This doesn't need dual-licensing, just a license exception that allows certain groups of people (e.g. personal websites below a certain scale) to ignore certain clauses of the license.
- Carpetsmoker 7y agoThe problem is that it will also affect code that's only tangibly related to the AGPL'd code. See e.g. the Google page: https://opensource.google/docs/using/agpl-policy https://opensource.google/docs/using/agpl-policy As mentioned, I'm only really interested in preventing people from "leeching" off my work by setting up a competing service with their (unpublished) changes. I'm not so sure if this is a real issue with end-user program like GoatCounter, but in general I'm not a fan of "viral" licenses. > This doesn't need dual-licensing, just a license exception that allows certain groups of people (e.g. personal websites below a certain scale) to ignore certain clauses of the license. The AGPL can't be changed though, it's explicitly mentioned at the top. So as I understand it, the only way is to offer it under two licenses (if personal then this license, else other one). I'm not really sure how this works legally (didn't research).
- JoshTriplett 7y agoI'm familiar with Google's AGPL policy. Google doesn't have a policy against paying for an alternative license, though; the bottom of the page you linked to says "In some cases, we may have alternative licenses available for AGPL licensed code.". Offering your code under a copyleft license and selling an alternative license is a long-standing successful business model. >> This doesn't need dual-licensing, just a license exception that allows certain groups of people (e.g. personal websites below a certain scale) to ignore certain clauses of the license. > The AGPL can't be changed though, it's explicitly mentioned at the top. So as I understand it, the only way is to offer it under two licenses (if personal then this license, else other one). I'm not really sure how this works legally (didn't research). You can't modify the text of the AGPL, but you can offer exceptions to it, and the GPLv3 and AGPLv3 make that even easier than the GPLv2 did. Many pieces of software are available under licenses that consist of the GPL or AGPL plus an exception. This is not at all uncommon. The LGPLv3 itself actually consists of the GPLv3 plus an exception. As an example, you could write something like "Licensed under the GNU Affero General Public License, version 3 or later. As an exception, if you are using an unmodified version of the software solely for your own individual use on a personal (non-business) site with less than X active users, and not offering the software as a part of a service provided to others, you are not required to provide the source of the software as would be otherwise required by clause 13 of the AGPL." (Also worth noting: technically you can modify the text of the GPL or AGPL if you omit the preamble and modify the instructions, but the result will not be an OSI-approved license, and if you're not careful it also likely won't be GPL-compatible. See https://www.gnu.org/licenses/gpl-faq.html#ModifyGPL https://www.gnu.org/licenses/gpl-faq.html#ModifyGPL .)
- dmm 7y ago> the term was around for a long time before the OSI was started Is this actually true? It was my understanding that the term "open-source" was invented by or around esr, one of the founders of OSI.
- Carpetsmoker 7y agoWhen researching the entire thing several weeks ago I came across references from the earlier 90s and I think even late 80s. I don't have the references at the moment, but I'll find them again and add it when I've got some more time.
- lliamander 7y agoESR didn't invent it (nor does he claim to) just popularized it. The credit goes to Christine Peterson[1]. [1]https://en.m.wikipedia.org/wiki/Christine_Peterson https://en.m.wikipedia.org/wiki/Christine_Peterson
- dmm 7y agoThanks for that source. She claims to have come up with the term on Feb. 3rd, 1998 and the OSI was formed the same year. That suggests the term wasn't used long before the OSI.
- kemitchell 7y ago"Open" was a marketing buzzword in computing long before that. Christine has written that she ran "open source" by a friend in marketing at the time and they told her it was vague and played out.
- Carpetsmoker 7y agoThere are earlier usages of "Open Source"; see my other comment: https://news.ycombinator.com/item?id=21928290 https://news.ycombinator.com/item?id=21928290
- ebg13 7y agoI always feel weird when reading long explanations about why someone chooses a copyleft free software license for nihilistic capitalist reasons (I don't care about the four freedoms, and I want money).
- Semaphor 7y agoBut that's not what this is? He very clearly states that he just wants other people who profit from it to contribute their changes back. That seems to be his main requirement, all others are just there to make it easier to understand for people what they are allowed to do (concise, not overly restrictive, easy to read). How is that nihilistic and capitalistic?
- Carpetsmoker 7y agoI work on this full-time; it's my only source of income. I don't think it's especially capitalist or nihilist to shield yourself from potential abuse by actual nihilist capitalist who will stop at nothing to make a buck. Not doing so would be naïve. Being called a "nihilist capitalist" for quitting your day job for working on open source software is certainly a rather ... curious ... experience.
- _frkl 7y agoThe author of this piece really came across as a nihilistic capitalist to you? Honestly?
- paulddraper 7y ago"nihilistic capitalist" = "I want to support myself full-time with this" ?
- runxel 7y agoAlready stumbled on the first paragraph: > Choosing a license has always been easy: MIT. It’s the best-known “do what you want” plain language license. Arguably ISC is slightly better [...] Umh, how exactly? ISC and MIT are functionally equivalent, which really means there are no differences. Anyway, I agree that choosing a license is often very hard for reasons stated in this post. I'm wondering why nobody ever made a license Martin would describe as perfect. (But I am aware it's really hard to make a water-tight license, since nowadays it has to work worlwide, which will need some ugly language since the European and Anglo-American laws are so different.)
- Carpetsmoker 7y agoYeah, functionally they're identical but the ISC is slightly shorter and slightly more readable.
- tzs 7y ago> ISC and MIT are functionally equivalent, which really means there are no differences. ISC> [...] use, copy, modify, and/or distribute this software [...] MIT> [...] use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software [...] Note that MIT includes "sublicense". ISC does not. This is a big difference. See page 87 in chapter 5 of Rosen's "Open Source Licensing" book [1] for a discussion of the importance of this. [1] https://www.rosenlaw.com/oslbook.htm https://www.rosenlaw.com/oslbook.htm
- paulddraper 7y agoPerhaps that is simply length/readability?
- zzzcpan 7y agoThere are very few real copyleft licenses in the age of SaaS. Basically just Parity [1] and API Copyleft [2] licenses. The rest allow corporations to build proprietary services on top of such software without releasing any of that proprietary code. The landscape is pretty sad these days. FSF is subverted by corporate interests. OSI is even worth, their entire existence is to serve corporate interests. [1] https://paritylicense.com/ https://paritylicense.com/ [2] https://apicopyleft.com/ https://apicopyleft.com/
- gnulinux 7y agoI'm not an expert on licenses, but from my own understanding of AGPL, I'm not sure why Parity and/or API Copyleft would give better protection against SaaS corporations. Would you be able to explain why AGPL is not as good as the two licenses you named?
- kemitchell 7y agoHow do you understand AGPL?
- lidHanteyk 7y agoWhat about WTFPL?
- stock_toaster 7y agoI was expecting the BSL would be chosen, as that seems to be gaining a bit more popularity lately (mariadb, sentry, cockroachdb, etc). I wasn't very familiar with the EUPL. Interesting reading more about it.
- Carpetsmoker 7y agoThe thing with the BSL is that it's not OSI approved, and never will be as it doesn't fit the OSD, which was one of my requirements (for pragmatical reasons, not ideological ones). I should perhaps include it in the comparison.
- stock_toaster 7y agoMakes sense. Thanks for the reply!
- kemitchell 7y agoThis kind of post always makes me happy and sad. On the one hand, devs should feel empowered to read licenses, get their hands dirty, and choose for themselves. I like seeing more of that. On the other hand, this is way too complicated. This author's needs and goals aren't rare. They're exceedingly common.