Ethics in Julia

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.

1 Like

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.


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:

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

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.


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

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


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.


Hi there :wave:.

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.

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.

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

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.


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.

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.

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.


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! :smiley: I don’t mean to derail that broader discussion here or rehash what’s over there, but are you referring to this piece? 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.

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.


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…

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.

1 Like

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.

1 Like