News for hackers. Stuff that matters.
Re:Commons Clause by another-cuppa on Wednesday August 22, 2018 @02:41AM (#17816818)
It's really sad that the GPL has essentially "gone out of fashion". It's sad that developers would be driven merely by fashion rather than careful consideration. The fact that we have free software at all is largely thanks to the GNU and the GPL.
Re:Commons Clause by nine_k on Wednesday August 22, 2018 @09:21AM (#17818480)
GPL is great for infrastructure things: it allows easy sharing, but requires reciprocity and prevents takeovers. GPL gave us Linux, a wildly successful OS kernel. Also, GPL is compatible with commercial dual-licensing, which may be important in some cases, such as use in governmental agencies.

MIT/BSD is great for small, less important things, and allows for no-question-asked use of such software in basically any setting where software does not need certification. This is something many authors seem to cherish: "my piece is useful and popular!".

The problem is that a small fun hack may eventually grow into an important infrastructural piece, and at best you can try and re-license it under GPL / LGPL if you want more control, and all contributors agree.

OTOH going with AGPL usually means that no corporation will ever touch your software with a ten-foot pole, so corporate contributions to the codebase will be zero (unlike GPL software). This may keep that software more free in one's eyes, but also obscure.

Re:Commons Clause by rauhl on Wednesday August 22, 2018 @10:28AM (#17818899)
> OTOH going with AGPL usually means that no corporation will ever touch your software with a ten-foot pole, so corporate contributions to the codebase will be zero (unlike GPL software).

As a practical matter, I think that you're right — but I think that this is in many cases quite short-sighted of the corporations who choose to go this route, in much the same way that for many years they resisted shipping GPLed software to customers. One can make profit on AGPLed server software in exactly the same fashion that one can make profit on GPLed client software.

If Amazon offered an AGPL Redis, they'd still be able to build whatever they want around it, and keep that proprietary. I'd still find value in paying them for their running-Redis-in-AWS. They'd still make money. Their competitors would get a Redis … the same way that they currently get a Redis.

But antirez and the rest of us would get to share in their performance patches &c. Would that alone make him as rich as he deserves? No, probably not. Would it alone even enable him to make a meager living? No, probably not. But it'd be better than a BSD license, which requires very little indeed.

Re:Commons Clause by quadrangle on Wednesday August 22, 2018 @01:46PM (#17820462)
> requires reciprocity and prevents takeovers

GPL has neither of these qualities. GPL only requires pay-it-forward with reciprocity being incidental. GPL only prevents takeovers that require proprietization to be effective (which is some portion of takeovers, I'd agree)

Separately, the AGPL situation is obnoxious. AGPL does nothing wrong here. Corporations being anti-AGPL is bullshit (but is indeed all-too-widespread).

Re:Commons Clause by Zarel on Wednesday August 22, 2018 @10:00AM (#17818708)
> at best you can try and re-license it under GPL / LGPL if you want more control, and all contributors agree

You actually don't need all contributors to agree, you only need one. The MIT and BSD licenses don't ban you from relicensing into more restrictive licenses (that's why they're popular with businesses, after all).

Re:Commons Clause by nine_k on Wednesday August 22, 2018 @10:44AM (#17819017)
No, they require you to retain the copyright notice and the license text, and the license states otherwise: https://opensource.stackexchange.com/a/305/8261
Re:Commons Clause by AstralStorm on Wednesday August 22, 2018 @01:38PM (#17820386)
If you can clearly delineate your new code under a different compatible license, you should be fine from the legal standpoint.

The fine hair splitting begins at what is the required amount of modifications required to be able to relicense the given chunk of code.

Re:Commons Clause by skrebbel on Wednesday August 22, 2018 @05:25AM (#17817433)
I've always wondered why GPL dual licensing isn't more popular. In particular, I've always wondered why "GPL or ask me for permission" isn't being explored more. That still allows you to be extremely permissive but you get the make the call.

Eg if I were coding a database like Redis, maybe I'd be totally cool with people freely using it in their moonshot VC-funded trike sharing site, but not with cloud providers offering it as a paid service (or, at least not without paying me some royalties).

Re:Commons Clause by anyzen on Wednesday August 22, 2018 @06:31AM (#17817678)
> In particular, I've always wondered why "GPL or ask me for permission" isn't being explored more.

Maybe because then you need to have CLA's (Contributor License Agreements)? Otherwise, who is "you" that they need to ask? It's not just your code, it is based on work of many other contributers.

Re:Commons Clause by Karunamon on Wednesday August 22, 2018 @09:17AM (#17818447)
Possibly-ignorant legal question: Could the "CLA" be as simple as a checkbox on the PR submission form that says something to the effect of "You agree that your contributions to this repository, while owned by and credited to you, belong to (ownername) for the purposes of copyright and license enforcement?"

Basically, making anyone who contributes aware that the contribution doesn't give them a claim in the copyright of the project. Short and simple.

Re:Commons Clause by rmc on Wednesday August 22, 2018 @11:26AM (#17819337)
A CLA is basically a simple as you describe. It's just that some people (how many?) don't want their contributions to be ever closed source and might not agree to that term. Worse case, they fork your project, applying their changes to their fork.

It's the social issue, not the legal issue, that's annoying about CLAs.

Re:Commons Clause by anyzen on Thursday August 23, 2018 @06:13AM (#17826000)
I have been currently exploring the option of open sourcing a project of mine and have researched CLAs a bit, but would love to be corrected if mistaken.

It is as simple - and it is not. You need to take care of special cases, like contributions from company employees in their free time (their company could still own rights to this work), people contributing other people's code (SO answers), patents and whatnot. Fortunately there are existing CLA agreements (Apache for instance).

As for this being the social issue, I don't know yet how big a problem that is. It's never bothered me before, as I recognize that maintainer might want to take the project in another direction in the future and since I don't want to maintain it, I am just happy that they are doing it for me. I will use CLA for my project and if someone doesn't like it, it's fine too - I don't mind forks (if they are well maintained, I'll just switch to them ;), and if someone doesn't want to contribute because of this, I don't want their contribution to be in my code anyway, because it limits my options in the future. There's a new post today on HN [0] that presents options pretty nicely, and it is very aligned with the conclusions I came to.

[0] https://www.influxdata.com/blog/its-time-for-the-open-source...

Re:Commons Clause by blattimwind on Wednesday August 22, 2018 @07:08AM (#17817811)
Not if you don't have any other contributors.
Re:Commons Clause by oliwarner on Wednesday August 22, 2018 @07:22AM (#17817871)
But you'll have an epic dilemma the day they drop the PR.
Re:Commons Clause by blattimwind on Wednesday August 22, 2018 @09:16AM (#17818442)
Only if you merge it.
Re:Commons Clause by dragonwriter on Wednesday August 22, 2018 @08:58AM (#17818363)
> In particular, I've always wondered why "GPL or ask me for permission" isn't being explored more.

Because handling “ask me for permission” is expensive, even if you say no, and you can only do it if you sacrificing much of the main benefit to using open licensing, which getting free work from downstream, since people having to give code ownership to you makes them less likely to contribute back anything that you can use with your licensing model, even if they are doing GPL derivatives that the rest of the world can use without the “or ask me” part.

Re:Commons Clause by nine_k on Wednesday August 22, 2018 @09:27AM (#17818513)
Do you posit that people are more inclined to share contributions to a codebase that does not ask them to share such contributions?

Or do you posit that GPL (or another reciprocal license) prevents adoption of software where a MIT (or another permissive license) would lead to adoption of that same software?

Re:Commons Clause by dragonwriter on Wednesday August 22, 2018 @11:09AM (#17819200)
> Do you posit that people are more inclined to share contributions to a codebase that does not ask them to share such contributions?

I posit that people businesses share contributions because it brings them business value, and the business itself being able to use the code in proprietary derivatives often significantly enhances the business value from sharing contributions, which is why SQLite (available as public domain or permissive license) and PostgreSQL (permissive license) have significant upstream contributions from downstream proprietary users, and even Linux gets a fair amount from people whose main use motivating modifications is hosted use which does not require contributions (because it's GPL, not AGPL.)

I further posit that, OTOH, people who don't want to control downstream use are more likely to contribute if they can do so with a license that doesn't constrain downstream use.

But most critically I observe that a GPL-or-proprietary offer cannot use GPL-only contributions, it requires acquiring rights from downstream contributors to relicense code under a proprietary license. So even if people are contributing under the GPL, that isn't “giving back” to the vendor of software that is under a GPL-or-proprietary license scheme (where the value proposition is that the proprietary offers at least as much in all dimensions as the GPL version, and more in some), since by adopting that license scheme they have locked themselves out of use of community improvements that are offered only under the reciprocal provisions of the GPL, which can result in the proprietary version being supported by less aggregate development resources than a community, GPL-only fork.

Re:Commons Clause by tannhaeuser on Wednesday August 22, 2018 @01:45PM (#17820452)
> ... even Linux gets a fair amount from people whose main use motivating modifications is hosted use which does not require contributions (because it's GPL, not AGPL.)

I'm not aware of any Linux mods not being shared upstream (or at least intended to be eventually PRed to master), except maybe grsec? Please don't give them (AWS/Azure/Google) ideas; we might soon see eg. proprietary drivers for datacenter hardware or Docker/k8s-specific kernel mods. That's a case AGPL could've prevented (though again, I don't know of any proprietary kernel mods).

Hm, come to think of it, the possibility of security-piercing the kernel, then to offer the result as a Linux VM or worse, for hosting Docker-like containers, is concerning. One reason more to buy real VMs with a verifiable standard distro installed, rather than "containers" I guess.

Re:Commons Clause by dragonwriter on Wednesday August 22, 2018 @06:47PM (#17822935)
> I'm not aware of any Linux mods not being shared upstream (or at least intended to be eventually PRed to master), except maybe grsec?

That's my point: they usually upstream changes even when they don't legally need to, because they benefit from the changes being upstream and not something they have to maintain in separately.

Re:Commons Clause by kazinator on Wednesday August 22, 2018 @11:17AM (#17819269)
> I observe that a GPL-or-proprietary offer cannot use GPL-only contributions.

That's no worse than the GNU project, which obtains copyright assignments from contributors.

Re:Commons Clause by dragonwriter on Wednesday August 22, 2018 @11:32AM (#17819407)
I would suggest that a project run by an foundation whose entire purpose is Free Software and which strongly prefers making its own software available under exclusive reciprocal license for ideological reasons tied to it's central purpose has a very different position with regard to securing contributions of code ownership from people interested in contributing to the community than a company licensing software under a GPL+proprietary scheme, whose implicit ideology is “we should get paid by commercial users for what we develop, but you should not for what you develop for us”.
Re:Commons Clause by breakingcups on Wednesday August 22, 2018 @05:42AM (#17817505)
There's a big push by larger corporations such as Google away from GPL-like licenses towards MIT licenses. Unfortunately many smaller developers seem to follow suit even if it doesn't necessarily suit their interest as much as it does FAANG's.
Re:Commons Clause by CJefferson on Wednesday August 22, 2018 @10:40AM (#17818999)
I was soured on the GPL by GPL v3. I don't want "or later", because that is giving control of my code to whoever ends up owning the FSF in the future. However, then you end up with a GPL v2 system, where some authors have passed away so relicensing is impossible, which you can't link to new versions of GNU libraries as they have gone v3 only. It's maddening.
Re:Commons Clause by jjrh on Wednesday August 22, 2018 @05:52PM (#17822543)
Exactly, folks above need to be more specific when they say 'GPL' because there are radical differences between GPLv3 and GPLv2.
Re:Commons Clause by rplnt on Wednesday August 22, 2018 @04:15AM (#17817165)
It's not just fashion. It's a question of "Do I want someone to use my software?", because with GPL the answer would be no for a lot of projects.
Re:Commons Clause by oliwarner on Wednesday August 22, 2018 @07:25AM (#17817880)
No, try: "Do I want the end users of my software to have rights?"

That's what GPL ensures. You can use GPL software anywhere but if you're giving it to other people, you have to give them the same rights you were afforded. And sometimes that also means giving them access to your software too.

LGPL exists too. Makes it a bit more simple for drop-in-libraries.

Re:Commons Clause by jarcane on Wednesday August 22, 2018 @06:54AM (#17817755)
If they will not use my free software because of the expectation that they contribute back even a little, then they are not users I want anyway, so who cares?

I find the entitlement complex that some software developers have over other peoples' software to be bizarre. "How dare you offer this free software under terms that don't allow me to exploit your labor commercially without the slightest contribution!" is a real thing that real people say every goddamn time you dare release anything not MIT/BSD licensed.

Re:Commons Clause by pjc50 on Wednesday August 22, 2018 @04:29AM (#17817223)
Open-source or closed source projects?

As discussed upthread, avoiding being used in closed source projects is the entire purpose of the GPL.

Re:Commons Clause by nine_k on Wednesday August 22, 2018 @09:36AM (#17818564)
Rather, being _embedded_ into a closed-source project, making a closed-source derivative work.

You can of course compose your system of closed-source and GPL'd parts, as long as GPL'd parts are separate, and remain open.

Re:Commons Clause by rplnt on Wednesday August 22, 2018 @01:35PM (#17820364)
Well, both really. Even with open source, if I want to license my code under whatever license for whatever reason, I can't use GPL code.

And I'm not arguing for people to not use GPL. All I'm saying is there are valid reasons to use MIT (or whatever) if ones goal is to make their project as usable as possible.

Re:Commons Clause by another-cuppa on Wednesday August 22, 2018 @06:17AM (#17817636)
Why do you think that? Linux is the most widely used operating system in the world and it's licensed under GPL. People don't choose not to use software because it's GPL. Why would they?
Re:Commons Clause by rplnt on Wednesday August 22, 2018 @01:36PM (#17820377)
Yes, GPL exists, and people use it all the time. How is it relevant to what I've written about some people avoiding it?
Re:Commons Clause by jjrh on Wednesday August 22, 2018 @06:01PM (#17822628)
Because depending on the version of GPL (Linux is GPLv2) Some restrictions might not work with whatever you're doing. GPLv3 specifically has turned off many for various reasons.
Re:Commons Clause by yebyen on Wednesday August 22, 2018 @08:47AM (#17818287)
You're mistaken. (Well, maybe not mistaken if I read exactly what you said literally, but people/companies most certainly do choose not to use GPL software if they're looking to build a system that they can exploit for profit-making purposes.)

It takes a very forward-thinking person to understand that they have more to gain from the thousands of eyes and the support of the community, than from a paywall that gates access to their creation. (And that person could reasonably choose to license their software as GPL or any other open license, there are lots of trade-offs.)

But if you're not building the system from scratch, you need to be aware of the licenses you've accepted, and for many businesses the addition of GPL software to the stack will be a non-starter. Do you think we'd have Apple as it is today if it wasn't for BSD Unix and the BSD license?

Re:Commons Clause by nine_k on Wednesday August 22, 2018 @09:33AM (#17818546)
Would we have Android today were it not for GPLv2 and Linux licensed under it?

But indeed, GPL does limit the ways you can distribute software licensed under it. In particular, licensing something like a library, or another early-bound component under GPL forces the users to license their work under GPL, too. This is why LGPL exists.

Re:Commons Clause by yebyen on Wednesday August 22, 2018 @11:12AM (#17819216)
Absolutely! Not saying that Apple model is right or wrong, but they certainly chose BSD consciously (whether or not it was because of the encumbrance of GPL, or any technical reasons).

It's simply wrong to say that nobody pays attention to this. It's a choice you make, and whether you view the consequences as "repercussions" or "features" depends entirely on your view and the actual outcomes of those choices.

Fwiw I understand that Darwin is also available as BSD, so it seems you can get some good actors that are willing to pay it forward without necessarily needing to add a license that goads them into it.

Re:Commons Clause by __d on Wednesday August 22, 2018 @11:10PM (#17824243)
Apple/NeXT had serious experience with the GPL license when shipping their GCC-based Objective-C compiler.

Their subsequent choice to use BSD-licensed components, and to support/create BSD-licensed components where only GPLed components existed, must be seen in the light of this experience.

Re:Commons Clause by another-cuppa on Wednesday August 22, 2018 @10:10AM (#17818762)
You're not talking about using the software, you're talking about making derivatives. The GPL doesn't restrict use of software in any way. It only prevents you from redistributing derivatives under more restrictive terms.
Re:Commons Clause by yebyen on Wednesday August 22, 2018 @11:17AM (#17819272)
This is splitting hairs. Of course there is no restriction on use, but in order to produce a derivative work I will want to eat my own dogfood. If my company's legal department says that our product must remain proprietary and closed-source, then it stands to reason I will not be able to build it on a GPL base. Those people will likely have to choose not to use GPL software, at least to some extent.

(If they have a good legal department that understands intellectual property issues at all, and their product team knows they don't actually need to hack on the Linux kernel to make whatever they're building, then they will not likely be restricted against using Linux ... but the decision will necessarily restrict their choices when finding other components to use as part of the system they are building.)

Whether that is a good thing or a bad thing, I certainly feel is debatable and I'll reserve judgement. But it is provably wrong to say that nobody chooses not to use a GPL-licensed piece of software because of the license it is distributed under. Tons of people do.

Re:Commons Clause by another-cuppa on Wednesday August 22, 2018 @12:13PM (#17819758)
No it's not splitting hairs. Using a piece of software and distributing a derivative of that piece of software are two completely different things. Nobody chooses not to use a piece of software because it's GPL. If people choose not to distribute derivatives under restrictive terms then that's great because that's exactly the reason I licensed it to them under the GPL.
Re:Commons Clause by yebyen on Wednesday August 22, 2018 @02:32PM (#17820812)
You do what you want when you publish software! But if you take the entire class of people that produce derivative works, and count them as "not users" you are making a set error. Derivative works producers are also users.

GPL licensing will not stop me from using your software. It will stop some people. I do not say that I agree with those people and their decisions. I could not have built my career without GPL software, and it does not stop me.

Re:Commons Clause by shadowmint on Wednesday August 22, 2018 @09:40AM (#17818578)
tisk tisk, so many downvotes and knee jerk reactions, but this is pragmatically correct.

GPL is unpopular, and if you want people to use your software, it is the wrong license to choose.

Should it be? Perhaps not. ...but I don't think the parent comment is nearly as wrong as people seem to think.

It doesn't matter if the GPL technically is a better or worse license; the fact is that (perhaps indeed driven by large corporations) GPL has a very negative image right now, and since we do live in a 'look at my popular github repo with oh so many stars, aren't I popular, oh btw hire me pls' world now, that is actually a big deal.

The question is not, 'should I use GPL?', because the answer is no, if you want to have a successful popular open source project.

The question is; how do we actually change the perception of GPL so the answer becomes yes?

I'm not sure... but I think it's a far more important question.

(I can certainly say that I no longer use the GPL, after using it for many years, largely because it was requested I remove it from projects. What do you do in that situation? Since I really don't care that much why not just put it under something else? I don't have a good answer.)

Re:Commons Clause by rplnt on Wednesday August 22, 2018 @01:29PM (#17820311)
Arguing for something automatically means you agree with it and support it, apparently. So if I say why would people use less restrictive license for certain project, I apparently hate GPL and/or don't understand it. I guess.
Re:Commons Clause by garmaine on Wednesday August 22, 2018 @04:52AM (#17817313)
Good, I don’t want them using my projects then. If they want it to be a one way street, they don’t got the right to touch my stuff.