Veganism as a way to appreciate open source definitions?

A while back I started this thread about the risks of diluting the meaning of open source hardware and software.

I’ve been reflecting on this topic, and recently posted to the WILDLABS forums a possible way of communicating why it’s important to have clear definitions by comparing it to veganism.

:point_down: It might be relevant here so I’m cross-posting my WILDLABS post below for your consideration:


Recent conversations (including this previous thread) have reminded me that while I’ve been involved in various open source tech communities for years, I sometimes implicitly – and incorrectly – assume that everyone has a shared understanding of what the term “open source” means. Apologies for any confusion! In fact, there is contention even within open source communities such as discussed in this GOSH forum thread.

I’ve been reflecting on why it is so important to have clear definitions of open source hardware and software, and found that veganism is a potentially useful point of comparison. Here goes…

The Open Source Hardware Definition and Open Source Software Definition (:point_left: please check out those links!) are the de facto dictionary definitions of those terms. They are non-trivial, and the results of decades of community effort to established a shared language for effective communication and collaboration. In addition, bad actors such as certain Big Tech companies have taken advantage of those who are not familiar with those terms to cause harm to the community, e.g. marketing products as open source for good vibes when they are not.

Without going more into the extensive history, the definitions in question are only “strict” in the sense that the word “vegan” is strict.

The adjective “vegan”, according to Wiktionary, means:

vegan /ˈviːɡən/ (not comparable)

  1. (of a product or practice, especially food) Not containing animal products (meat, eggs, milk, leather, etc) or inherently involving animal use.
  2. (of a person) Committed to avoiding any product or practice that inherently involves animal use.

That is, a vegan meal does not contain any animal-based ingredients. A dish is either vegan or it isn’t. In the same vein, a piece of software or hardware is either open source or it isn’t.

Having well-defined key terms establish a shared understanding and enables better communication and collaboration. It is NOT to discourage people from exploring ways of making their software or hardware more open. Just like there is a “spectrum” of meals from fully animal-based (like a steak!) to vegan, there are certainly software and hardware which fall on different places on the spectrum from fully closed source (fully proprietary) to open source. If someone wants to reduce their carbon footprint, they might have meals with higher proportions of plant-based ingredients over time, and that’s great! But unless a meal is 100% plant-based, it is not vegan. The same principle applies to open source software and hardware.

Without clearly defined key terms to establish shared understanding, there would be friction and confusion. It’s like planning a meeting where we invite people to discuss their favorite vegan dishes, and saying “preferably the dishes are vegan, but this is not a requirement.” This would be an oxymoron and counter-productive.

The WILDLABS Open Source Solutions group is for creating a space to think about open source tech for conservation. Therefore, the projects we showcase should be definition-compliant. Consider a “vegan group” that works on sharing and promoting vegan dishes. This group isn’t to “exclude” non-vegans, but is to have a designated, protected space to talk about vegan food. Non-vegans are still warmly welcome to join and learn about veganism even if they don’t eat a 100% plant-based diet!

The above opinion might be a spiky point of view as postulated by Wes Kao. But I hope that means this post can be a base for productive discussion.

Additional constructive critiques and feedback welcome! :heart: :bowing_woman:

4 Likes

Haven’t posted in a hot minute, but enjoyed this (and the previously linked) thread.

I love testable definitions. If you hang around long enough, you realize all words lose clarity over time (even in ones lifetime!), like silly putty on a warm table… and the word gets continually repurposed (on purpose or not) in the verbal s*!#storm that is the world, the internet and everything.

Conversations about being vegan are debates about whether it’s useful/good/smart or useless/bad/dumb, not debates about the definition of the word. That’s what the vegans want when they created the word - a win for the vegans!

If we want similar longevity, we must have similar clarity.

3 Likes

I’m super pro trying to have as firm of guidelines as you can, but…

hahahahha oh man, i don’t know if you have been around as many vegans as I have, but like there’s a LOT of gray areas and debates there.

Some vegans eat honey, some vegans don’t. Some eat figs, some don’t.

In singapore if I said i was vegan in some food courts I would get an array of follow up questions like if I eat root vegetables or not, because that kills the whole plant.

Some vegans say they would eat vegan cheese made from yeast with DNA from cows, but others wouldn’t.

2 Likes

Anyway, just saying I’m a big fan of definitions that can get us 95% of the way to where we generally need to be for a thing, but strict binaries are always broken!

3 Likes

Fair enough - nothing is perfect. But compare this to words like ‘regenerative’ in agriculture. I would say vegan is pretty tight in comparison…

But I don’t argue with a lot of vegans :slight_smile: so I may be wrong!

1 Like

@hikinghack indeed I know about the honey debate, but not the figs or root vegetables ones! And we haven’t event gotten to the whole deal with lab-grown meat… :sweat_smile:

I agree with you that (a) even what is “vegan” might not be 100% clear, (b) 100% strict binaries don’t usually work, but I hope my overall point about having clear guidelines (like you said, 95+%) still came across clearly (???).

@gbathree I think you’re right, by being clear enough about what “vegan” means (even if that’s 95% clear), then we can move on to meaningful conversations/debates about it. Also agree with you that “vegan” is relatively well-defined compared to many other terms!

In my view, that’s what open source tech can benefit from. We need to have a shared understanding of what we are talking about before we can effectively talk about it. I feel frustrated sometimes because I’ve seen so many arguments that are, on the surface, about the merits of open source stuff when people are actually talking past each other because they have completely different understandings of “open source”.

I think its worth thinking about if we really do want a purist perfect binary definition, or even a 95% perfect definition?

My two cents is that doing open source hardware properly is hard. To me, in an ideal world you should:

  • Have all your original design files openly available
  • Use an open source license that allows reuse, modification, sale, etc
  • Do the design in open source software
  • Have complete assembly instructions
  • Have complete usage instructions
  • Do the design work and project management openly so others can understand the design process and contribute
  • Many other things that don’t immediately spring to mind but I’ll be annoyed I didn’t say as soon as I post this

There are a few approaches to the binary definition.

  1. The “Vegetarian” - we take the lowest definition standard which I think is bullets 1 and 2. And this is open, and everything else doesn’t matter
  2. The “Vegan” - You must do every thing on this list

Do any projects in this community meet the Vegan definition as I have it? I think OpenFlexure falls down on incomplete usage instructions.

What about a hypothetical project that has everything on that list except one complex component where they have the STEP/STL but lost the source? This is a bit like a Vegan that has turkey on thanksgiving. Should we deny them their status as Open(/vegan) entirely?

I think if we make the barrier to being considered open source too high, then we are discouraging people from joining the community. If we set it to low we don’t reward those who go the extra mile.

I really like the approach of openness scores. Obviously fixing the weightings, and partial compliances with bullet points is difficult, but it is a way to reward progress towards an ideal, rather than have an arbitrary cutt-off from closed to open.

1 Like