dagr is a lean and mean ruby client for the IPFS api.

https://github.com/htrob/dagr

Regarding licence terms:

I'm releasing this under three licences (GPLv3, AGPL3, and MIT) in this particular case because my working theory is that making a p2p **library** easier to use for more people hurts centralists more, and I'm leaving it up to you to decide which will help you better to achieve that goal with your particular **application**.

#rubylang #ipfs #dagr

htrob/dagr

dagr is a lean and mean ruby client for the go-ipfs api

It's still green and it needs lots of improvements, but it's usable enough to get started with

@h there's no real advantage in the complexity of multi-licensing here. MIT is compatible with GPL3 and AGPL3 so any projects using those licenses can incorporate yours.

Also, when a contributor offers you a patch, if they do it under the terms of AGPL or GPL only, then that can't be incorporated into what you offer under the MIT license.

I'm a copyleft advocate so I'd suggest using LGPL3 to accomplish your goal. But if you insist on offering permissive it's probably best to go with MIT 😄

@pho4cexa I disagree and I explained exactly why. Read again.

@h I apologize, I went and re-read a few times but I don't understand. Can you explain a bit more?

If I have a GPL3 application and I want to use your library, there's no significant between receiving it under the MIT license or the GPL3 license; the combined work must be GPL3.

@pho4cexa There's no difference to you. You can use it right away.

https://github.com/htrob/dagr/blob/master/COPYING.md

The same goes for people who would prefer to use the MIT licence and hate the GPL.
My intent is to maximise decentralisation as first priority in this particular case.

htrob/dagr

dagr - a lean and mean ruby client for the go-ipfs api

@h my point was: both GPL fans and GPL haters can use your code just the same if you were to make it MIT-only. Dual-licensing a copyleft license together with a permissive license is basically redundant.

I'd still recommend LGPL, because that (like permissive) caters to those who don't want to make their own application permissive or proprietary, but still requires that they release the changes that they make to your library. Helps avoid protocol divergence and embrace-extend-extinguish.

@pho4cexa I got your point and I already stated that I disagree and why twice.

I'm not concerned with your personal preferences, you are free to prefer whatever you prefer and I'm thoroughly respecting that licencing my work to you in perfectly free and libre terms.

Your freedoms aren't hurt in the slightest, and neither are anybody else's. Your freedoms are helped.

Everything else is either cosmetic or ideological, and like I said, my primary goal in this case is to hurt centralization.

@pho4cexa If you would like me to follow a different goal and priorities, that's not affording you any more freedoms than you already have been granted.

That would be constraining *my* freedom to do whatever I please with my work, and as you can imagine, that wouldn't be a nice thing.

I'm not being a GPL maximialist, I'm being a decentralisation maximialist in this particular case.

@h look, I'm not saying that you're disrespecting my preferences or hurting my freedoms, or that you should be doing anything ideologically different.

Just leave aside my tangential LGPL recommendation for now.

All I'm saying is that it's _unnecessary_ to dual-license in that way. It doesn't give a GPL-liker any advantages. Licensing your library as MIT-only is _ideologically indistinguishable_ from the MIT+GPL+AGPL thing you have in place now. So there's no need for that complexity.

@pho4cexa It is unnecessary ***to you***.

Please don't assume that your views, concerns, and needs are the same to everybody everywhere all the time.

@pho4cexa I appreciate your concern that I may be making things more complex than they need to be.

Just let me reassure you that I know what I'm doing and I understand licencing well enough, I have about 18 years of experience in Free Software, and I was once part of a team that helped to craft the GPLv3 in 2007.

Your concerns are duly noted, appreciated, and as previously stated, I disagree and I've already decided that this is the correct decision for my work in this particular case.

@h okay, I'm content to leave this discussion here, but I feel like I'm missing something important. If you care to, please help me to understand how an MIT+GPL dual-license operates any differently for any user than MIT alone.

@pho4cexa Legally, it doesn't operate differently. Socially, and aesthetically, a number of people prefer to not have anything to do with the GPL.

I disagree with them. I disagree with them quite often and quite violently sometimes.

But if they're helping decentralisation and they don't want to have anything to do with anything Free Software, my priority is decentralisation.

The same goes for people who would rather bleed to death before using anything that is not GPL'ed.

@pho4cexa In this case, I'm not concerned about the respective ideologies of either group.

My focus in this particular case is decentralisation, not legal simplification, not GPL maximisation, not MIT maximisation.

@h

> people who would rather bleed to death before using anything that is not GPL'ed.

Okay, I think this may be where my misunderstanding is. Do such people exist?

I am one of those people who dislikes permissive licensing, because I think it promotes silicon valley style exploitation.

But permissive licenses like MIT are perfectly compatible with my GPL software. I have no problem whatsoever incorporating it and don't understand why someone would.

@pho4cexa Yes, those two groups of people with irreconcilable differences exist.

Which is the reason I'm going through this trouble.

I've added a clarification to the COPYING file.

https://github.com/htrob/dagr/blob/master/COPYING.md

htrob/dagr

dagr - a lean and mean ruby client for the go-ipfs api

@h I'm still a bit in disbelief but I think at least I finally understand the reasoning that informs your position.

Thank you for taking the time and being patient with me. Best of luck with your library, I hope it sees wide adoption. 😁

@pho4cexa Thank you. It's just something I was needing for my own projects. If anybody else uses it to help decentralise the web, that will be a bonus.

@pho4cexa I'm curious what projects or ideas you would like to use #IPFS (or #dagr) with.

Please let me know if you need any help with that.

Cheers!

@h @pho4cexa So, trying to be sure about why you stuck two extra GPL licenses on this. Are the GPL licenses there for those who really want to use a GPL library, and hack on it with the GPL applied? Wouldn't this just be covered by downstream relicensing their variant under the (A)GPL, without the complexity of having a triple-license in upstream?

@bb010g

- From a strictly legal point of view, relicencing would work the same

- Relicencing demands a better understanding of legal terms, imposing a burden on the user, which would introduce friction

- Including the GPL and AGPL makes it straightforward for people who prefer that

- I did the work and I don't really care who use it, because it can only be used to foster decentralisation. Decentralisation is my particular goal in this case, everything else is somebody else's concern

@h I'm not assuming that? I'm not trying to have a fight or disagreement with you here. My intent is not different than your intent. I'm adopting your position, and trying to offer a helpful suggestion for a way your goals would be better met: by making the licensing legally identical to what it is now, but less confusing for potential adopters.

@pho4cexa

My priority is not maximisation of legal simplicity in this case.
My priority is maximisation of decentralisation, as previously stated numerous times.

I understand your concerns, and they are appreciated.

I'll add a text stating that when in doubt, the MIT licence is compatible with almost anything and they should use that.

@pho4cexa
The intent is to maximise decentralisation. Your intent may be another thing, and that's okay, you can grab my code and your freedoms are respected.
I'd suggest that you respect mine as well.

In this case I'm a decentralisation maximalist, sorry for the typos.