Hacker News new | past | comments | ask | show | jobs | submit login

> How does dual licensing work with 'downstream contributions'? If some user finds a bug in your GPL code, fixes it, and pushes that code to your repo?

> You don't own the copyright to that bugfix right? So how can you re-license it under a commercial license?

The way we do it in my project, and the standard practice for Apache (where we copied it from), is tohave a CLA that gives full rights to the original owner for any patches people want to PR.

> What about meaningful improvements instead of bug-fixes? I can see a bugfix being trivial enough. But if someone works hard to improve performance, and then some other company starts selling that work without compensation for the original author?

This is a bigger problem, but in practice I assume it wouldn't happen because if someone were to actually put in weeks or months of work into significantly improving the project, why wouldn't you just hire them or pay them ? After all, the whole assumption here is that this is a model for a for-profit endevor.




> This is a bigger problem, but in practice I assume it wouldn't happen because if someone were to actually put in weeks or months of work into significantly improving the project, why wouldn't you just hire them or pay them ? After all, the whole assumption here is that this is a model for a for-profit endevor.

This is getting a bit hypothetical, but here's a question. Lets say you're an experienced software developer and you are using an application called "A Large Well-Known Word Processor" that is dual-licensed (A)GPL and proprietary, as explained in the post.

You might really want to add a feature that would save you time for a personal project, or just for your own sense of enjoyment.

Perhaps that feature had been discussed in support forums / issue trackers, and you want to add it as a kind of pro-bono / personal achievement in spare time.

And perhaps the company wouldn't want to pay for it to be developed themselves, perhaps because it competes with a revenue-generating plugin in their ecosystem developed by a partner company.

As I say, it's a little bit "out there" in terms of use cases, but in terms of the freedom to modify, improve and have input into the software that people collectively use, it's a valid one.

Another commentor elsewhere on this thread mentions a potentially-related problem regarding jurisdictions where it's not legally possible to remove your own copyright over materials you've produced.

That actually initially strikes me as a sensible policy, since it reduces the possibility of people being pressured (knowingly or unknowingly, with or without compensation) into losing control of their work.


> The way we do it in my project, and the standard practice for Apache (where we copied it from), is tohave a CLA that gives full rights to the original owner for any patches people want to PR.

How do you handle that in practice with the many different law systems around the world, do you just not accept contributions from countries where authors legally cannot transfer all rights?


Like which countries?


In many EU countries author has inalienable rights: right to be recognized as author and name to be appropriately stated if author desires it, right to permit or prohibit modifications of the work, right to revoke the work, but doing so requires author to compensate for the losses revocation causes.

I am not sure how non transferability of these rights work in combination with authors right to permit those things. What exactly happens if author permits modifications of work? Does it only apply to specific modification and each modification needs to be permitted separately? If not it would seem contradicting with this right not being transferable.


Germany. You can license your works, but you can't relinquish your author rights ("Urheberrecht").

I'm only familiar with Germany because I live here, but from talking to a friend about this recently, the situation is apparently similar in other countries as well. They were looking into using OSS and ran into that issue because they'd also need to look into the (at the time of contribution) home-countries of contributors to make sure that the license would "stick".


That's kind weird law seriously.

Say you work as an anonymous contributor, and all the evidences which could proof the fact got accidentally destroyed, isn't that effectively relinquished your author rights? (Moved the right away from you, the right could still be there but licensed under an non-existing entity)


> Say you work as an anonymous contributor, and all the evidences which could proof the fact got accidentally destroyed, isn't that effectively relinquished your author rights?

No, that's just making it difficult to prove you had the rights, not relinquishing them.


IANAL, but my understanding is that, while you can never ask anyone to give up authorship, you can ask them to transfer copyright. I.e., you are still the author of your patch, your name should be visible as a contributor (should you want to), but you transferred the rights of that patch.


I'm not a lawyer either, but from what I understand: the rights you can transfer are limited, and you can generally only give usage rights, potentially exclusive usage rights that also exclude the author from using the patch.

However, it gets complicated quickly. For example if they decide to sell the company or take on a new investor, the author could take back the grant under some circumstances which brings its own set of challenges. Can you now simply fix it yourself by writing the same code? Either you'd violate copyright or you didn't need the whole licensing thing in the first place.

Another issue is the fee: you can agree on a fee but if it's not "appropriate", that agreement is void (to protect authors from being tricked with regards to the value of their contribution).

There's a lot of uncertainty involved, which is why companies like using commercial licenses: you can usually trust that the company selling that license has figured out all the details.


> the standard practice for Apache (where we copied it from), is tohave a CLA that gives full rights to the original owner for any patches people want to PR.

Apache is a bad example. While Apache committers do have to sign a CLA, they don't transfer copyright by doing so. A better example is the FSF whose CLA requires copyright assignment.


Most dual licensing companies I've seen use contributor license agreements, not copyright assignments. Based on published materials, FSF's peculiar desire for assignments stemmed from some early concerns about court procedure for license enforcement:

https://www.gnu.org/licenses/why-assign.html

Some large companies followed suit. The most interesting is Oracle, which went half way: Their agreement makes Oracle and the developer joint owners of the contribution.

https://www.oracle.com/technical-resources/oracle-contributo...

Rich Hickey later adapted their form for Clojure. I'm sure it's happened elsewhere in the Java community.

Opinions on license-versus-assignment this still differ. But other GPL-o-sphere organizations, like Software Freedom Conservancy, have done more public enforcement of late than FSF, without assignments. Especially for the Linux kernel, which has never consolidated copyright ownership in a single organization.

https://sfconservancy.org/docs/blank_linux-enforcement-agree...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: