|
|
Subscribe / Log in / New account

Eelco Dolstra steps down from NixOS Foundation board

Eelco Dolstra steps down from NixOS Foundation board

Posted May 3, 2024 17:48 UTC (Fri) by NYKevin (subscriber, #129325)
In reply to: Eelco Dolstra steps down from NixOS Foundation board by cypherpunks2
Parent article: Eelco Dolstra steps down from NixOS Foundation board

> Although I disagree with the common perception that nothing can be apolitical or that software is inherently political,

As someone who often glibly repeats that claim, let me clarify what I really mean. I do not literally intend to claim that *every* technical problem can be usefully analyzed through the lens of politics. "Bubblesort is a bad sorting algorithm" is not a political statement.

What I really mean is this: Remember the "fun algorithms and data structures" stuff we all enjoyed playing with when we were learning to program? Well, in the professional world, most of us aren't working on that stuff full-time anymore, or even a majority of our time. Most of the actual day-to-day code that we're writing is one of the following:

* Glue code (code that moves data from one format into another, or applies a simple mechanical transformation).
* High-level library/middleware logic (code that decides which algorithms or data structures to apply to some data, with at least some understanding of what that data represents).
* High-level application logic (code that directly implements an application that the user can interact with).

I would say that almost all application logic is political (if you think hard enough), library logic is more often political than people give it credit for, and glue code is seldom political in its own right. Libraries (and frameworks, distros, and various other kinds of middleware) often maintain the fiction of not "knowing" what they're being used for, but the reality is that e.g. a GIS database is being used to store the location data of real humans (among other uses), not the location data of hobbits in Lord of the Rings. You cannot work on a GIS database and claim that act to be totally apolitical - human location data is an inherently political topic. So it goes for a surprisingly large set of other categories of library.

So if you're going to say that your work is 100% apolitical, you're claiming one of two things:

1. You work almost exclusively on pure algorithms and data structures, and/or glue code, and so you have no idea what the data actually represents.
2. You work on a library or other middleware, but the function your library performs is so basic and fundamental that it has no political implications whatsoever.

Also, you don't use the GPL or any other license with an overtly political preamble or the like. Yes, I know, not everybody agrees with the GPL's preamble, but it is a political statement, and it's right there in your COPYING.txt! Regardless of whether it has any legal effect (in some jurisdictions, it might inform the court's interpretation of the "spirit" of the license), some people will read it and draw inferences from it, whether you want them to or not. That is why the FSF put it there in the first place.

The SQLite developers have a somewhat credible claim to being apolitical. Maybe one or two other libraries. You can make a case for programming languages, but I'm not sure I believe it (e.g. Python is in practice a machine learning language, C++ a language for developing video games which are mostly proprietary, C# is Microsoft, Swift is Apple, JavaScript is drowning the web in nonsense, etc.). But if you don't fall into one of those categories, then you probably spend a nontrivial part of your time working on something that is, in some sense, political, and since that describes the vast majority of software developers, it is easier to just summarize it as "software is inherently political" rather than trying to explain all of this every time.


to post comments

Eelco Dolstra steps down from NixOS Foundation board

Posted May 4, 2024 17:01 UTC (Sat) by willy (subscriber, #9762) [Link] (6 responses)

This is an interesting perspective because it differs from what I mean when I say that software is inherently political. I don't think we disagree particularly; I think we're just emphasizing different aspects.

Choosing to release software is political. You're immediately interacting with other people, and so you've already made a political decision. Choosing the license is more obviously a political decision, but so is choosing a build system, a bug tracking system, a communication mechanism (email? Discord? IRC?)

So even if you're working on a data structure library that is only used by other programmers, your life is full of political decisions that you may not even realize you're making. And if you're making them without realizing then there's only one response ... Get woke!

Eelco Dolstra steps down from NixOS Foundation board

Posted May 4, 2024 18:34 UTC (Sat) by atnot (subscriber, #124910) [Link] (3 responses)

Yes, I personally find that style of argument, while true, isn't very strong to me. I tend to look at it one of two ways:
- As you said, software is inherently political because software development is inherently political because software is developed by humans and those humans are political entities and exist in a poltical context
- Software is inherently political by generalization of Conways Law. We already treat it as a truism that software will inherently develop in a way that reproduces and thus reinforces the circumstances under which it was made. It would be strange to argue that this somehow only applies to office politics and not something as fundamental as the worldviews of the people making it or the political context under which it was made.

These both offer good counterarguments to the disclaimer above that that projects like SQLite might be apolitical. Both their software development practices are highly political (making your code of conduct the 10 commandments is definitely a choice) as are the imbued ideas and assumptions, with the single-node-single-process model originating from it's creation for use in guided missile destroyers vs the single-server-many-user batch processing heavy model formed by big business (including of course also the military) logistics.

Another aspect is that in common discussion, there's sometimes a misunderstanding between something being political and something being partisan. Indeed, there are many people who have the luxury of being able to be detached enough from politics think these two things are the same thing. What is partisan depends highly on when and where you are and indeed many highly political things are not generally partisan. Again the US military offers a good example there, with it's size and international role being uncontroversial enough domestically to be politically irrelevant.

There's also a final and I think most correct argument, which is: So what? Why does it matter whether that thing is political or not?

Litigating what is and isn't political only matters if it being political or not changes how we approach the situation. But claims of something being political generally goes one of two ways: Either you espouse a need to "ban politics", by which you mean banning anything of controversy, which would effectively prevent any change away from the current situation that benefits you. Or you're trying to bring awareness to the inherent choices we make when developing software, which you are probably doing because you are trying to bring awareness to the fact that these choices are malleable, deserve introspection and believe they can and should be changed, as I do. In either case, the argument does not benefit much from trying to pin down what is and isn't political.

Eelco Dolstra steps down from NixOS Foundation board

Posted May 6, 2024 20:15 UTC (Mon) by rgmoore (✭ supporter ✭, #75) [Link] (2 responses)

I think the issue is mostly about external politics rather than partisan politics specifically. How do you even define partisan politics for a group where not everyone is part of the same political system? What people who complain about politics seem to be unhappy about is issues they see as outside the scope of their project intruding. They like to see their project as a refuge from the outside world and get annoyed when that outside world intrudes. The question of whether NixOS should be tightly aligned with Anduril seems like a good example. It isn't explicitly partisan, but it's definitely an example of the non-software world intruding into a mostly technical project.

I think this makes complaints about "politics" more understandable. It is annoying when concerns external to whatever you're working on interfere; it makes everything that much more complicated. That said, I agree that criticism of topics as "political" is often used to shut down uncomfortable discussions.

Eelco Dolstra steps down from NixOS Foundation board

Posted May 6, 2024 20:44 UTC (Mon) by atnot (subscriber, #124910) [Link] (1 responses)

Personally, I don't find the subject of discrimination at all external to my participation in a community. It is in fact pretty hard to ignore such things when they happen to you. Nor do I have any desire to be in a community where existing requires me to actively ignore such things. But I understand you may be in a more luxurious position there.

I also have to say I'm struggling to sympathize with the plight of someone being reminded that minorities exist while coding. I'm reminded of them pretty regularly and I don't find that particularly distressing myself. Even for people who's right to exist is highly politicized. But you may differ of course.

Eelco Dolstra steps down from NixOS Foundation board

Posted May 6, 2024 21:58 UTC (Mon) by rgmoore (✭ supporter ✭, #75) [Link]

I hope I didn't sound dismissive of people who are mistreated because of who they are. I agree that the way the project treats its members is a core governance issue and is absolutely not a matter of external politics intruding. It's a great example of people using "let's not talk about politics" as a way of shutting down discussions they want to avoid. I thought about using it as an example but foolishly decided it would just stir up trouble.

Eelco Dolstra steps down from NixOS Foundation board

Posted May 6, 2024 9:25 UTC (Mon) by milesrout (subscriber, #126894) [Link] (1 responses)

None of these things are political at all. Repeatedly stating that they are doesn't make it true.

Eelco Dolstra steps down from NixOS Foundation board

Posted May 6, 2024 20:27 UTC (Mon) by immibis (subscriber, #105511) [Link]

Repeatedly stating that they aren't does not make it false. Why do I recognize your username?

Eelco Dolstra steps down from NixOS Foundation board

Posted May 5, 2024 6:02 UTC (Sun) by ssmith32 (subscriber, #72404) [Link] (1 responses)

I find your taxonomy rather odd. Particularly on LWN... apparently no one works on low level code that's not glue code 🤔. Which apparently is what normal people call ETL jobs?

That said, it would be a very unusual job indeed where you are writing glue code to alter data from one format to another, and yet have no clue what the data (or classes of data) are or what they will used for.

There's really only one class of customer I can think of that demands that much compartmentalization.. and at that point, you probably have a fair idea that you're not generating data used for hugs & kittens, based on the customer alone.

While we're painting with very anecdotal broad strokes.. you have a very Googly view of the world... I'm torn as to whether that's more distorted than an Amazonian view, based on my experience. The googly tends be more welcoming on the surface, but lacking the cynicism of the Amazonian, they tend more toward the true believer type, and, thus, paint the world in far fewer colours and shapes.

Eelco Dolstra steps down from NixOS Foundation board

Posted May 6, 2024 17:23 UTC (Mon) by NYKevin (subscriber, #129325) [Link]

> I find your taxonomy rather odd. Particularly on LWN... apparently no one works on low level code that's not glue code 🤔. Which apparently is what normal people call ETL jobs?

Yes, it is a spectrum. No, this does not materially change my argument. My point is that hardly anyone is all the way over on the "I have no idea what my data actually means" end of said spectrum.

> There's really only one class of customer I can think of that demands that much compartmentalization.. and at that point, you probably have a fair idea that you're not generating data used for hugs & kittens, based on the customer alone.

I already conceded that SQLite is at this end of the spectrum, so frankly I have no idea what you're talking about.

Eelco Dolstra steps down from NixOS Foundation board

Posted May 6, 2024 20:26 UTC (Mon) by immibis (subscriber, #105511) [Link]

The GPL's actual license, as well as the choice to choose copyleft rather than permissive, is extremely political, even if you delete the preamble.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds