Ml5-library: Beloved Community License

Created on 14 Jun 2018  ·  14Comments  ·  Source: ml5js/ml5-library

Thanks to the suggestion of @handav (via @fiebrink1) I propose we adopt the "beloved community license" for this project.

https://douglass.io/the-bcl

Any thoughts or comments?

discussion

Most helpful comment

Thanks for this wonderful discussion!

I'm excited about the possibility of this license and appreciate so much the conversation it is prompting. The more we can do to infuse ethics into the practice and publication of OSS the better.

I hope we'll hear from the authors of the license with respect to the questions raised. We'll keep the MIT license for the beta launch tomorrow and I look forward to hearing from the community as we move forward.

(I'll also note that the bundling of tfjs with ml5 is also important factor in terms of license choices and compatibility.)

All 14 comments

I love it. It would be a thoughtful, radical step to take and at the same time introduce ML ethics to people who are just beginning in the field. I think it would also make certain that ml5 remains a safe tool and community.

Consider the following from the BCL license text:

"By using Software and Hardware Issued under the BCL License you recognize the spiritual divinity of every person with special attention to the hungry, the homeless and the oppressed."

Might this not alienate any persons (myself included) who do not belive in divinity, or spirituality?

Also consider the following from the license text:

"Software or Hardware issued under the BCL cannot be used to inflict violence upon the earth."

Could it not be argued that electricity produced by coal or nuclear power plants are "doing violence to the earth"? It's like how people think all electric cars are so much better because they don't use fossil fuels, but they seem to forget that the electricity they're using is mostly produced by burning fossil fuels.

I understand the basic sentiment of the license, but it seems a bit out there, and we'll... to me at least, alienating.

Just my two cents. 😏

Just from an outsider's perspective: I really love the message that this is trying to get across. I'm moved by the idea of a license that encourages peace and progress.

For the sake of discussion though, here are my concerns.

  • I +1 the concern @toferj has about the language of spirituality. It will likely be alienating to the atheist community (it was off-putting to me at least).

  • The language is ambiguous. I know I'm just being a devil's advocate at this point, but here are some examples:

    • Usage Restrictions 3-4: can it not be used by military medics in saving soldiers in wartime? Can it not be used by military scientists to mitigate civilian deaths? (I recognize that this is an unlikely use case.)

    • Usage Restrictions 6-7: can it not be used by institutes of incarceration to teach prisoners how to code so they get good jobs after their sentence? Can it not be used to give prisoners a creative outlet while they're passing time?

I think the experience Facebook/React has had in the last few years could serve as a cautionary tale of how important the license is (they took some heat!) and how it can impact perception within the dev community.

Good luck! I'm confident you all will pick the right thing!

Thanks for this wonderful discussion!

I'm excited about the possibility of this license and appreciate so much the conversation it is prompting. The more we can do to infuse ethics into the practice and publication of OSS the better.

I hope we'll hear from the authors of the license with respect to the questions raised. We'll keep the MIT license for the beta launch tomorrow and I look forward to hearing from the community as we move forward.

(I'll also note that the bundling of tfjs with ml5 is also important factor in terms of license choices and compatibility.)

I love the idea of this license.

As @matthewbryancurtis' alludes to, it does seem like the "recognition and possibilities" and "usage restrictions" appear to conflict with each other ("recognize the humanity of the incarcerated" vs. "cannot be used by institutions of incarceration", "improve the lives of the oppressed" vs. "no military usage").

I don't' think "spiritual divinity" has anything to do with Religion or Religious Belief, but rather deeply held empathy, and pro-social attributes. (not that it matters, but I say that as someone who describes myself as radically atheist)

I do have concern with "Software and Hardware issued under the BCL Software License will be used to improve the lives of the Multitudes of the World that are oppressed and in struggle." This appears to force you into making things that are only for the betterment of humankind. Does this mean I can't make something neutral? Or useless? Or betters Earth but is fairly human neutral? Also, you're required to include their logo if you use their license, which is strange more than anything. Does that mean if I make a thing, that uses software licensed under the BCL that I also need to include the Douglass branding on my thing?

I think Douglass need to clarify/expand some things.

@shiffman The Tensorflow license is Apache 2.0, and allows for redistribution. The BCL has a single sentence about software and is about as liberal as you can get with copyleft licensing. Overall it feels like the MIT license with nonviolent clauses added. I can't see any conflict between the two licenses.

@shiffman Thank you for introducing me to the BCL. What a powerful piece of writing.

Does anyone know who is behind the BCL? I ask because the website does name any names — the Douglass folks seem to be pretty tight-lipped in that regard. It matters who is behind the license because their values may or may not align with that of the project, and that also informs the future of the license. For example, Creative Commons is an established nonprofit with a clear vision for copyright/left and content licensing. Is the BCL just an interesting document, or can we expect this will have a life going forward?

@alignedleft the creator is William Dyson. You can read more here, I would say, yes, the Douglass OS people are deeply aligned with the license they've crafted as well:

The license will always be valid. Really you could write your own license, and that would also be valid. You could doing something like, take the BSD or MIT license, and add nonviolent clauses to it, pay to have a lawyer proof read it. And that would be valid. If the license creator goes away, that won't affect the license.

It's interesting conceptually, and I generally think most of the points of the license are positive (With caveats about wording regarding e.g. spirituality as @toferj mentions). Actually, my main concern while looking into it was the following line:

Any project using the BLC Software License will include a link to the BLC project page, along with an approved BLC logo

Which, as @derekkinsman points out, is a bit strange. For starters, I can't see there is any 'approved BLC logo', the license is BCL not BLC and it's weird that in order to use the license you have to link to the company's website. It just strikes me a bit too much that this clause is an attempt to get free marketing from the FOSS community.

Hi All,

I'm just going through issues and found that the BCL has been updated since this thread was going on and it seems like a number of the points mentioned above have been addressed. If there's interest to revisit this, I'd be happy to field thoughts on this!

I'd like to echo @handav 's thoughts 💯

@joeyklee it doesn't look like the license itself has been updated, or addresses any of the concerns posted here.

  • You're still required to include their logo and a link to their site.
  • Parts still seem to conflict with each other.
  • language is still vague.

It's unfortunate, @handav gave an excellent talk at Eyeo Festival about AI/ML ethics. Like, mic dropped the last ten minutes of our time at the Walker and it was glorious. It would be great to use a non violent software license.

Perhaps this is best addressed outside of the license itself and through a community statement? We could craft our own. The p5.js community statement is an excellent model.

It would definitely be great to have it directly in the license. That'd be huge. But yeah, a community statement would be solid. Maybe by the time ml5 1.0 ships the BCL or something similar will be better crafted.

Thanks @shiffman for the great suggestion. We most certainly should add a version of the p5 community statement to the website and front-facing documentation on the README.md.

@derekkinsman - Oops! It seems I misread. Thanks for clarifying that things have not updated since the earlier discussions.

Regarding licensing:
I do not see technology as neutral and feel that we should approach the development of ml5 as critically as possible. Given the nature and uses of the machine learning in industry and governments today, we have a responsibility and opportunity to take a stance and leading role in ensuring that the software we are making does no harm.

I would like to voice that the value of non-harm licensing (whether it is BCL or otherwise) is exactly in its role in preventing having to “deal with the evil things people do with it later” (see screenshot below). Rather than thinking of such license agreements as barriers, they should be rather considered shields for the people (and environments) that they have been designed to protect. I think we're all in agreement here.

Screen Shot 2019-06-12 at 08 22 59

The “evil things people do” often don’t land on the privileged but rather the people, places, and things who are and have historically been discriminated against, subjugated, oppressed, undermined, colonized, raped, incarcerated, and killed, whether through sanctioned violence, and/or software used in the process. ml5 is meant to make machine learning friendlier and by doing so we make machine learning more accessible. If that accessibility however is misused for the worst, then are we not complicit if we otherwise could have been more proactive or explicit in our terms of use?

As @shiffman points out, a starting point is to make these things clear in our community statement. So let's start there.

Thanks for the engagement and if you've made it this far, thanks for reading.

Closing this issue up now with the development of https://github.com/ml5js/Code-of-Conduct -- thanks all for your participation here 🙏

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sci2lab picture sci2lab  ·  5Comments

sps014 picture sps014  ·  6Comments

harshitmahendra picture harshitmahendra  ·  3Comments

joeyklee picture joeyklee  ·  5Comments

genekogan picture genekogan  ·  4Comments