Ethics in Julia

The Julia community is amazing and I feel that many people here aim at solving problems in the best possible way.
I was wondering if there is a group of people who think/care about (business) ethical questions in the Julia universe and its packages?
Do we have people in our community who are experienced in such matters and who would spot ethical challenges?

Disclaimer: I’m just a mathematician, this question is outside of my expertise. My own view is that for big packages/ecosystems (e.g. machine learning, data science, …) it could be helpful to investigate how and by whom these packages are used. (Is there misuse? Are there ways to prevent or minimise misuse?) Of course, this is a general open-source problem and not Julia specific at all.
But given that there is a TED talk which claims that Julia is “A programming language to heal the planet together”, I think it is reasonable to challenge this claim.

EDIT: I crossed out the last sentence because it might be stated out of context here, see @ImreSamu comment.


Does this boils down to
“Don’t produce screwdrivers, they can be used as deadly weapons!”

This is meant as serious question, although it’s formulated a bit sarcastic!
Ethics on general purpose programming languages is neither my expertise. I said in another thread that I don’t like to become religious about programming languages, like being called or using the words “evangelists” or similar things like the titel of the TED talk (which I interprete as marketing wording to attract attention). But this is what I feel this is about: making sure everything is on the “being good” side, so we can still be believers, and much more important: we can feel that we are better than (all) the others who aren’t.

You see, I have a negative bias, but I like to discuss these subjects :slight_smile:


:smiley: The screwdriver example is probably a reliable source for endless discussions.
Maybe it more boils down to: “Can we identify screwdrivers which might be used as harmful weapons.”

I see your point on “being religious” about programming languages. That was not my intention.
My view is that Julia is still adapting new ideas and ethical issues might be a bit of a blind spot in this process.

(I intentionally did not put a list with potential ethical issues, this is not what the question is about.)

When releasing free software, it’s generally up to the license used to determine by who and how the code can be used. Misuse of software is legally well defined in terms of the software license used. For example, I prefer to use the AGPL on fully original code I created from scratch, while I use permissive MIT or BSD license on some other projects.

If you try to police misuse of software outside of the legal license agreement, then you’re doing it wrong, and are probably engaging in some sort of non-legal cancel cult social justice vigilante activity.


This is the legal aspect of usage control of software. I think here we think about ethical and/or moral issues/questions and if there are already people discussing that.
Or if there is a

The license of the Julia programming language is quite clear I think.

1 Like

There are some interesting examples …

The JSON license is very ethical but not practical
"The Software shall be used for Good, not Evil."

So the lawyers should ask for a special license … using "JSLint for evil."

1 Like

The answer is YES, we can identify them, and the algorithm is simple:

If it is a tool called “screwdriver”, it can used as a harmful weapon. Even if such use is not allowed by the screwdriver licence agreement.

With programming languages and other general use software, it is similar. It it is worth anything, it can be used for purposes which some may consider evil.


Probably this is based on this context

" Here’s an opinion you might not hear much — I feel that one effective approach to addressing climate change is contributing to the development of Julia. Julia is a modern technical language, intended to replace Matlab, R, SciPy, and C++ on the scientific workbench. It’s immature right now, but it has beautiful foundations, enthusiastic users, and a lot of potential."

At the same time, I’m also happy to endorse Julia because, well, it’s just about the only example of well-grounded academic research in technical computing.



I think that there are (legal/non-cultist) possibilities for small improvements, despite the limited power of licenses and the impossible challenge to predict the future.

Just some imaginary examples: (These are not intended as suggestions…)

  • The package maintainers are maybe happy for input about potential ethical issues, like in this case [RFC] GenderInference.jl
  • There could be guidelines (not rules) to raise awareness of some common issues.
  • Surveys (yay :wink: )
  • Outreach on different platforms to be more inclusive as a community.
  • Common-sense rules for packages in the registry (like, not discriminating, …) [seems to be no problem so far.]

Sure, we cannot make everyone happy.
Also, there are mechanisms in place, for example, the Julia Stewards. As far as I can tell they do a good job. Maybe that’s already more than enough.

I think this is an orthogonal point. Speaking about which licenses to use is an interesting and worthy discussion, but not necessarily germaine to the ethics of the community. The way I see it, there are at least 3 levels of control:

  1. open vs closed source. If you release your code, there’s always the possibility that someone might use it for nefarious purposes, regardless of your intentions. This is related to the screwdriver thing - any tool can potentially be misused.
  2. Legal remedies (licenses fall in this bucket). Here you can potentially impose consequences for misuse of a tool. Sure, a screwdriver can be used to hurt someone, but if I stab my neighbor with my Phillips head, there’s a decent chance I’ll go to jail.
  3. Community norms and standards. If I’m angry with my neighbor, the thing stopping me from stabbing him with a screwdriver is not fear of legal consequences, is because I was raised not to use violence to solve disagreements.

I think @SteffenPL’s question was not about levels 1 and 2, but rather about level 3. I agree with @Eben60 that there’s no way to forestall all potentially negative consequences of julia code, and I agree with @chakravala that the legal regime of software is a well-worn groove, and in any case not something I or probably many people in the Julia community are competent to discuss with any real authority.

Neither of these things obviates the utility of discussions about ethical use of julia code and developing community standards around those discussions. I think the Julia community standards are a decent starting place, but they are primarily focused around social / interpersonal actions, and don’t really talk about code.

I for one think this is a worthy topic of conversation, count me in!


IMO, the topic of ethics is only relevant to cultivating a vibrant and healthy community for support, development, and guidance of the Julia language. E.g., if the stewards of the language are seen as making decisions with regard to contributions in a non-principled/non-ethical way, that may discourage future contributors and weaken the community.

As for the ethical questions of what people may build with Julia, I have no interest in trying to stop or limit anyone from using the language, regardless of his intentions. If someone chooses Julia as the best tool to build his “evil software” (whatever that may mean to you), then great – that’s just one more vote of confidence that we’ve built the best screwdriver.

1 Like

While it is also not my domain, I do care about this topic. I think one should distinguish between issues regarding the language only (e.g. current discussion around changing potentially offensive language in the Linux kernel and other projects) and those of surrounding communities and larger environment (How/who decides which packages are hosted in the “main” repository, how/who is administrating the community etc.). In addition, on a personal level ethical use means for me figuring out how to contribute to the community in a way that is beneficial to it. I also think julia’s community is doing particularly well in this respect. At the end if the day a community is made by its members. To stick with the screwdriver metaphor: If a person harms another with a screwdriver that does not reflect on the wider community of screwdriver users. Given that it is not endorsed or encouraged of course.

24 posts were split to a new topic: Creating a world of programming language to be inclusive as possible

@kevbonham Your post gives a good structure to the different points! Thanks.

I am not sure about how any of this could be helpful, or even possible.

Generally, such an investigation is feasible only for public use cases — if someone is doing something truly nefarious, presumably they would not put the source for it on Github. So you will never know.

But even if this information was collected, how would you act on it? If the license permits it, then there is nothing you can do to enforce your ethical preferences. You could organize some kind of a campaign, but then again, the people doing unethical things may not care.

So I would suggest not worrying about this too much. Just write good software and the rest will take care of itself.


So I think in general the idea is, if you make it, and open source it, its just that… A weapons company could come by use your code/idea/algorithm and go profit from killing thousands of innocent civilians in a war-torn country just in the same way an undergrad working on their capstone projects could use it to do something innovative and get into a nice school, or JuliaComputing could bundle it up and sell it as part of their software offerings, etc. For all we know JuliaComputing is part of a project to snipe out MIT competitors research. Hey, people in the community here could even work to remove recognition for other peoples work by project sniping, marketing, etc. That’s the territory.

Open source is open source. The ethics are down to how the community is fostered. In my opinion it’s best to be realistic… If you make something public expect some serious dirt bags to use it for their own dirty things. But hope that there are some small groups of decent people you can make friends with, or you get out of your project what you want before external forces step in. That’s basically the best outcome.

Life advice wise - If ethics concern you - learn to use a litmus tests. I’ve had people describe me as an idea farm, this caused me a lot of distress in undergrad when I had lots of people stealing from me, fake friends, etc and I was just trying to do cool things with new people. So here’s what you do: give out pieces of things(even unrelated things), offer broad ideas(tangential to your real passions), see how people react. Who becomes an instant thief, who starts nerd sniping, who starts taking advantage, etc. Then have a field day messing with them because they are automatons.

Find the people who are like you, become friends with them, have fun building cool stuff with them. We live in a world where people would happily watch a nonmonetary competitor suffer a needless painful death for a potential “gain”. Total strangers? forget about it, cellphones are more interesting.

Choose your tribe wisely, ethics are great on paper, but watch people and groups of them closely. Nothing is pure or ethical, be mindful of what you unleash into the world. I have 1.5 projects that I literally cannot share for reasons like this…


You may remember the thread about telemetry, and this post:

This poster left the community apparently and deleted his account here, because he felt that his code was missused. All happened inside this community. That’s where we have to look at first, inside our community. How can we act, how can we talk, what can we do or don’t do, so that these (extremes, arguable) doesn’t happen. Or happen at a minimum. Although he doesn’t want to be @, i do it nevertheless ( :wink:, I know provocative), because he @chakravala, nearly was, not so long ago, lost for this community. Probably, as always, because of minor (in the grand scope of view) missunderstandings and in succession not so wise words.

1 Like

Why don’t we just make a machine learning model that will give an answer to ethical questions?


So although I don’t agree with Chakravala’s last statement I do want to make mention of this topic you’ve touched on oheil…

We have outcasts. We are all “early” adopters in the eyes of industry of a new technology. This draws in people who are driven by a seemingly crazy force to make something. Whether it’s new, the best, the fastest, doesn’t matter, etc. As Julia grows this will die out to facilitate a better corporate interest (sorry its a historical projection). If you honestly think there’s an interest in having people promote ideas contrary to whats beneficial for the corporate stakes involved here you will be met with a harsh reality in one shape or form maybe later then sooner(if you align with the powers that be) but historically sooner rather then later. Julia will become a name sake for a few areas and the rest of the people will be … less adored/mentioned/listened too/etc?

But I’ve seen what Chakravala has gone through(as an observer we don’t talk). I’ve seen it happen in a few fields, maybe all fields, I’ve done research/collaborations in (not to me). It brings up a seriously tough topic with surprisingly easy solutions… I’ll try to address this as generally as possible. The rest of this message is intended to be sobering and absolutely not specific to any single person.

There are people doing genuinely amazing things, that lack credentials(not ivy league, no illustrious post docs, not the ‘chief master scientist’ at a fortune 500, doesn’t have 7 figures in their rainy day fund), that don’t have mentors, that don’t have businesses and allies to back them or fight off the parasitic accompaniments in our world-wide culture. This can really drive someone with ‘idealistic’ interests into challenging places.

Where they may choose battles most people wouldn’t, lash out in ways those of us on the ‘inside’ of something don’t understand. The psychology is interesting (why on earth would someone fight inclusion efforts unless they felt the deck was stacked against them and others should experience this as well - food for thought)… But ultimately, it makes them easy targets for serious hardship… People can and will taken advantage of them, egg them on to make them look foolish in public, gas light them, underpaint achievements, you name it… For what? For being driven by whats in their blood and testing their metal to contribute net good to society in a way they know they can.

I think the only solution is better mentorship, helping hands, opportunities for growth/respect, high fives for jobs well done, and finding ways to integrate everyone we can into a micro-society more fit for them. Over-all kindness, and awareness means a lot.

The telemetry “issues” are small numbers to the grand scheme, but they are an artifact of the bigger picture in my opinion. Many see this new thing(julia) as a chance to change the culture/powers that be(you see this in all early adopter communities), to become something closer to a philosophical ideal. Why? Because we all want a fairer world, a more honest one, a more advanced society, etc. Not just scifi stuff, but the real bleeding heart stuff. Ultimately, I hate to say this, it would be highly unreasonable to expect anything other then minorly incremental improvements. It’s just hard, I mean, we all have our dreams like these crushed over time.

People are people, learning to live with this, color in the lines more often then not, is definitely a bitter pill to swallow. Trust me - it’s not the message I’d want to send, but, it’s a message of survival in a world that doesn’t have a vested interest in “thriving”. That utopia stuff isn’t going to be a part of this, its bad for business. Julia has businesses tied directly too it. People with those kinds of interests will be playing that game(and climb their way up via the usual methods), the others will just be having fun like they would otherwise - not caring about it.


But I like the humor in this statement (in the quoted quoted statement, not in the quoted statement, Tesla autopilot accidents are clearly not funny!).

Humor is often a way to break down barriers.