# Ethics in Julia

**URL:** <https://discourse.julialang.org/t/ethics-in-julia/43232>\
**Category:** Community\
**Created:** [July 17, 2020, 12:08pm UTC](https://discourse.julialang.org/t/ethics-in-julia/43232 "2020-07-17T12:08:42Z")\
**Posts on this page:** 13\
**Page:** 3

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [July 20, 2020, 2:05pm UTC](https://discourse.julialang.org/t/ethics-in-julia/43232/64 "2020-07-20T14:05:59Z")

</div>

Yes, that’s an important point. Users and contributors will just have to decide whether such licenses are compatible with their goals and requirements. Licenses like MIT became widespread because they demand very little, allowing a lot of people to cooperate on software. The more a license restricts, the smaller the number of people who are willing to accept it.

I just linked that license to point out that such licenses exist (there are many others), so people who want to enforce their ethical preferences already have ready-made solutions.

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [July 20, 2020, 2:21pm UTC](https://discourse.julialang.org/t/ethics-in-julia/43232/65 "2020-07-20T14:21:01Z")

</div>

Yes, but being non-FOSS it also means that these licenses are incompatible with pretty much any other code out there, so good luck with using it. This, in addition to the fact these licenses are basically non-enforceable.

The first version of the Hippocratic License was ludicrous and its interpretation could be stretched to prohibit the use of software to _many_ people, including the “good ones”.

While I understand and share the goal of making things “for the good”, putting this into a license is just a no-go.

---

<div class="post-metadata">

**Author:** ![ninjaaron](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ninjaaron/32/6392_2.png) [@ninjaaron](https://discourse.julialang.org/u/ninjaaron)\
**Post date:** [July 20, 2020, 2:32pm UTC](https://discourse.julialang.org/t/ethics-in-julia/43232/66 "2020-07-20T14:32:39Z")

</div>

I kind of agree with both @Tamas_Papp and @giordano about these “ethical” licensing. On one hand, it’s nice that people have the option to use them, so they might as well be out there, but on the the other IP lawyers would never sign off on a company using software with a license like this. It’s a non-starter for any business case.

However, if you’re not interested in supporting business cases with your software, I guess these “ethical” licenses are an option.

One thing:

> [@giordano](#):
>
> Yes, but being non-FOSS it also means that these licenses are incompatible with pretty much any other code out there, so good luck with using it.

You can use them well enough with permissive licenses like MIT, BSD, Apache, etc. The difficulty is combining them with copy-left licenses like GPL or MPL (my preferred license for most things).

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [July 20, 2020, 2:49pm UTC](https://discourse.julialang.org/t/ethics-in-julia/43232/67 "2020-07-20T14:49:21Z")

</div>

> [@giordano](#):
>
> these licenses are incompatible with pretty much any other code out there […] these licenses are basically non-enforceable […] putting this into a license is just a no-go.

Just to clarify: yes, I fully agree with you about all these points.

Nevertheless, I still think that formulating/using a license like this is the answer to the original question raised in this topic, when viewed as a constrained optimization problem. Sometimes constrained solutions are just very, very bad; this may mean that the constraint is very costly and imposing it is not worth it.

---

<div class="post-metadata">

**Author:** ![stillyslalom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stillyslalom/32/45687_2.png) [@stillyslalom](https://discourse.julialang.org/u/stillyslalom)\
**Post date:** [July 20, 2020, 2:52pm UTC](https://discourse.julialang.org/t/ethics-in-julia/43232/68 "2020-07-20T14:52:22Z")

</div>

Gallium.jl’s deprecation notice lists the following debuggers:

```julia
Juno - the official integrated development environment (IDE) for the Julia language
Debugger.jl - the official Julia debugger
Rebugger.jl - an expression-level debugger for Julia with a provocative command-line (REPL) user interface
MagneticReadHead.jl - a Julia debugger based on Cassette.jl
Infiltrator.jl - allows you to set a breakpoint in a local context, inspect local variables and the call stack, and execute arbitrary statements in the context of the current function's module
You might also enjoy:

Traceur.jl - runs your code and tells you about any obvious performance traps
Cthulhu.jl - descend into Julia code and see it in all its representations.

```

The only one name I can imagine being interpreted as an ‘ableist joke’ is Rebugger, if ‘re-’ is taken as an abbreviation of a slur for intellectual disability, instead of the stated meaning in the readme:

> it is a REPL-based debugger (more on that in the documentation)  
> it is the Revise-based debugger  
> it supports repeated-execution debugging

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [July 20, 2020, 3:53pm UTC](https://discourse.julialang.org/t/ethics-in-julia/43232/69 "2020-07-20T15:53:26Z")

</div>

> [@stillyslalom](#):
>
> The only one name I can imagine being interpreted as an ‘ableist joke’

Instead of speculating, it would be great if @anon42746597 would kindly expand on the details. If I interpret the context correctly, making an “ableist joke” is potentially offensive to disabled people, and would then go against the community guidelines. But without specifics it is hard to discuss or remedy this.

---

<div class="post-metadata">

**Author:** ![kevbonham](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kevbonham/32/216165_2.png) [@kevbonham](https://discourse.julialang.org/u/kevbonham)\
**Post date:** [July 20, 2020, 7:03pm UTC](https://discourse.julialang.org/t/ethics-in-julia/43232/70 "2020-07-20T19:03:23Z")

</div>

> [@anon42746597](#):
>
> To me, the link to [[RFC] GenderInference.jl ](https://discourse.julialang.org/t/rfc-genderinference-jl/22294/31) seems to only further demonstrate this point. Author of a flatly unethical piece of software

Hi there 👋.

> [@anon42746597](#):
>
> they then claim to have taken the perspective seriously, and then immediately turn around to note that they’re going to use the software to “measure gender representation in publications” anyway which is _precisely_ the sort of unethical behavior the linked criticism lambasts.

Well, no. The source is taking about using automated methods to assess gender in a situation where it would be just as easy (and more accurate) to just ask people their gender, with appropriate options for non-binary (or better, make it free-text field so that your not imposing any priors on people’s gender expression). I’m 100% in agreement on that.

There is no mention on an alternative to such approaches for assessing the historical representation of an academic discipline. The alternative is that such work went get done. Is that preferable? Maybe, I’m open to being persuaded on that point. I’d certainly prefer journals survey their authors and make such data public - I’ll happily join you in such advocacy, and when that day comes I’ll delete the repo without a second thought.

> [@anon42746597](#):
>
> and still tries to enshrine a gender binary;

Well, no. Second paragraph of the README notes this limitation, and links to the specific criticism (note, the link was broken before, fixed now). “Tries to enshrine” sounds like it’s something I’m advocating for, which it emphatically isn’t.

> [@anon42746597](#):
>
> There’s plenty of other literature that criticizes what the author of that library implemented; fortunately, their One Trans Friend didn’t give them the relevant cites so the author doesn’t have to entertain any ethical qualms.

I’m curious why the opinion of Random Person on Internet should hold more moral force with me than my One Trans Friend (who’s work incidentally is working with and advocating for trans people). And also wondering how, having explicitly solicited feedback, done the reading that was offered, and then additional research, suggests that I “don’t have to entertain any ethical qualms.” This seems like a staggeringly ungenerous read of my actions and stated intentions.

If you’re standard for ethical engagement is listening to the first or most extreme position on a topic, then I don’t think I’m likely to meet your standard. But, contrary to your impression, if you point me to additional sources, I will certainly read them and engage, because I care deeply about respecting the rights of trans people.

But I also care increasing the representation of women in my field.Given that I’ve [published on this topic](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1005134), and work at an all women’s college, specifically teaching and mentoring women, this is not just an idle interest. Perhaps you can argue that this goal is not important, or that trans rights are more important, or that there’s a way to do this work without contributing to trans erasure - I’m open to, even solicitous of, all of these arguments. But I’m not open to you claiming I simply don’t give a shit, simply because I disagree with your position.

> [@anon42746597](#):
>
> It’s most likely there’s _not_ a large group of people who think or care about ethical issues

> [@anon42746597](#):
>
> Complaints about unethical software will just be drowned out in a sea of comparisons to screwdrivers or obstinate pleas that all software is just a neutral tool

> [@anon42746597](#):
>
> any ethical calculus applied by folks will just tend to the majority; making it a near certainty that unethical behaviors which impact marginalized groups will be overlooked or supported

> [@anon42746597](#):
>
> To me, it seems very unlikely that the community will do anything to outline guidelines around software which is considered so unethical that it should not be implemented or supported.

> [@anon42746597](#):
>
> but at this point we probably could start to ask a different question:
> 
> _“What stories will we tell ourselves to help get to sleep at night as our work is leveraged in the most unethical, inhumane and vicious ways, which we did scarcely anything as a community to prevent?”_

> [@anon42746597](#):
>
> > There is also a slack channel called ‘diversity’
> 
> that’s a 10k message limit memory hole for diversity discussions

So, your response to someone asking about whether we should have more discussions about software ethics in the Julia community is to disparage one such discussion because someone expressed a position you disagree with, and then to write off the entire community as “probably incapable” of such discussions? If you actually care about such things as you claim to, I’d urge you to engage with the people who claim to care rather than simply dismissing. This approach is more toxic to such discussions than the people expressing regressive ideas. Your sense of futility forecloses any possibility of progress.

---

<div class="post-metadata">

**Author:** ![kevbonham](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kevbonham/32/216165_2.png) [@kevbonham](https://discourse.julialang.org/u/kevbonham)\
**Post date:** [July 20, 2020, 7:43pm UTC](https://discourse.julialang.org/t/ethics-in-julia/43232/71 "2020-07-20T19:43:38Z")

</div>

> [@ninjaaron](#):
>
> I think this is almost impossible unless you are also willing to hobble the language or ecosystem for ethical usecases.

> [@ninjaaron](#):
>
> The only thing you could really do is define a set of unethical behaviors that are prohibited, but you’re never going to get a lawyer to sign off on vague language about ethics.

Again, there’s a difference between technically preventing (eg closed-source or not writing the software in the first place), legally preventing (eg through licenses), and morally preventing (through norms and community standards).

I agree that the first two approaches are at best extremely difficult while adhearing to FOSS principles. But this doesn’t have to be the end of the story.

> [@ninjaaron](#):
>
> Think of how many ethical abominations have been made possible by calculus—and then consider what a world without it would look like. When you create a system that augments humans’ problem-solving ability, you will always take the bad with the good.

Accepting that this is possible does not mean that it is inevitable, and even if it’s inevitable, that doesn’t mean that discussing it has no value. Attempting to reduce harm on multiple fronts, technically, legally, and through social pressure, while being mindful of tradeoffs, seems like a valuable thing to work on.

> [@ninjaaron](#):
>
> Ultimately, open source projects that succeed and thrive tend to do so because of the patronage of business users. If I understand correctly, this is where Julia Computing’s money comes from. I would hope that Julia Computing would decline to work on projects with obviously unethical goals, but unfortunately, putting hooks in a license that prohibit the unethical usage of software tends to put off _all_ business customers

Right, but as a community, we can (and in my view should) put pressure on the folks at Julia computing to not participate in unethical businesses. This of course leads to the problem of defining what constitutes unethical businesses, and there’s unlikely to be universal agreement on where to draw this line. But that’s precisely why we should be having the conversation.

---

<div class="post-metadata">

**Author:** ![dellison](https://avatars.discourse-cdn.com/v4/letter/d/ce73a5/32.png) [@dellison](https://discourse.julialang.org/u/dellison)\
**Post date:** [July 20, 2020, 8:34pm UTC](https://discourse.julialang.org/t/ethics-in-julia/43232/72 "2020-07-20T20:34:55Z")

</div>

> Well, no. The source is taking about using automated methods to assess gender in a situation where it would be just as easy (and more accurate) to just ask people their gender, with appropriate options for non-binary (or better, make it free-text field so that your not imposing any priors on people’s gender expression). I’m 100% in agreement on that.

I’m back too, from same thread! 😃 I don’t mean to derail that broader discussion here or rehash what’s over there, but are you referring to this piece? [https://ironholds.org/names-gender/](https://ironholds.org/names-gender/) If so, you and I must have read it quite differently- in my reading, the author’s argument is not that it’s unethical to do merely in an in-person or similar setting when you can simply ask for this information in a different way, but that (my paraphrase) predicting gender from given names is unethical to begin with, because setting up the task that way in the first place implicitly bakes in very specific political ideas about gender that themselves are unavoidably racist and so on. That’s not application-specific, to my mind.

Looking that thread again, it looks like that package was intended for making binary gender predictions for authors of academic work, so here’s a recent (short) paper on that specific use-case, if you (or anyone else) would like to take a look. [https://www.frontiersin.org/articles/10.3389/fdata.2019.00029/full](https://www.frontiersin.org/articles/10.3389/fdata.2019.00029/full)

---

<div class="post-metadata">

**Author:** ![ninjaaron](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ninjaaron/32/6392_2.png) [@ninjaaron](https://discourse.julialang.org/u/ninjaaron)\
**Post date:** [July 20, 2020, 8:43pm UTC](https://discourse.julialang.org/t/ethics-in-julia/43232/73 "2020-07-20T20:43:55Z")

</div>

> [@kevbonham](#):
>
> Right, but as a community, we can (and in my view should) put pressure on the folks at Julia computing to not participate in unethical businesses. This of course leads to the problem of defining what constitutes unethical businesses, and there’s unlikely to be universal agreement on where to draw this line. But that’s precisely why we should be having the conversation.

Yikes! I’ll take a pass on that one.

I, for example, would be pretty strongly against working with military weapons manufacturers or the DOD, but there are reasonable people who would support Julia for that usecase. On the other hand, there are things I support that I’m 100% sure other community members would find unethical.

I don’t feel it’s my place to enforce my beliefs about ethics on other people unless it’s something that’s approaching a universal norm: i.e. Julia Computing shouldn’t support genocide or human trafficking or whatever. If they had a contract with the DOD, I wouldn’t be happy about it, but it’s their choice.

I really have zero interest in using social pressure to hold Julia Computing or package authors accountable to my standard of ethics.

---

<div class="post-metadata">

**Author:** ![kevbonham](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kevbonham/32/216165_2.png) [@kevbonham](https://discourse.julialang.org/u/kevbonham)\
**Post date:** [July 20, 2020, 9:13pm UTC](https://discourse.julialang.org/t/ethics-in-julia/43232/74 "2020-07-20T21:13:17Z")

</div>

> [@dellison](#):
>
> I don’t mean to derail that broader discussion here or rehash what’s over there, but are you referring to this piece? [https://ironholds.org/names-gender/](https://ironholds.org/names-gender/)

Yep! Maybe best to revive that other thread? I do want to continue this discussion, but agree that it’s perhaps off topic here (or, not exactly off topic, but at least a separate conversation). Thanks for the link, reading now…

---

<div class="post-metadata">

**Author:** ![dellison](https://avatars.discourse-cdn.com/v4/letter/d/ce73a5/32.png) [@dellison](https://discourse.julialang.org/u/dellison)\
**Post date:** [July 21, 2020, 12:38am UTC](https://discourse.julialang.org/t/ethics-in-julia/43232/75 "2020-07-21T00:38:03Z")

</div>

Well, If conversation continues there, I’ll certainly keep reading it, at least.

> I’m curious why the opinion of Random Person on Internet should hold more moral force with me than my One Trans Friend (who’s work incidentally is working with and advocating for trans people).

If you don’t mind me saying so, perhaps you can try to imagine why reading a remark like this from you might make me inclined to think that it might not be a totally fruitful discussion. If you recall, I shared that post in direct response to you saying that you wanted to know the opinions of nonbinary people on the subject. I pointed out that not only is the author of this piece nonbinary themselves, but is a researcher whose specific area of academic expertise is gender issues in technology. Seeing you now characterizing that expertise and experience as “the opinion of Random Person on Internet” isn’t very encouraging to me. Hopefully that makes sense.

---

<div class="post-metadata">

**Author:** ![anon92994695](https://avatars.discourse-cdn.com/v4/letter/a/ce7236/32.png) [@anon92994695](https://discourse.julialang.org/u/anon92994695)\
**Post date:** [August 5, 2020, 4:31pm UTC](https://discourse.julialang.org/t/ethics-in-julia/43232/76 "2020-08-05T16:31:36Z")

</div>

Hey everyone I had a pretty serious misunderstanding of how Julia and it’s entities work together. Some of the statements I made in here may not be applicable. I tried to review them - but errors may still persist. if you see anything off kilter just let me know and I will correct it! Also okay with my opinions/musings being removed. The last thing I’d ever want to do is spread misinformation.

[Previous page](https://discourse.julialang.org/t/ethics-in-julia/43232.md?page=2)
