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

@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.

@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!