NixCon Governance Workshop

Nix Governance Workshop Nixcon 2023

Time: Monday 2023-09-08 13:30
Notes: @infinisil
Lead: @zimbatm @RaitoBezarius
Participants: Lots in a chair circle, maybe ~30

Note:

  • We also have today and tomorrow, but let’s hack more on following days
  • Let’s keep arguments short

Line between community and companies

Domen Kozar:

  • Nix has been very community oriented before commercial entities came in
  • Still in the process on how to integrate these entities, which boundaries
  • I’d like companies to work together on projects
  • Questions:
    • How can the community keep thriving
    • How do companies feel welcome?
    • Where’s the line between officially endorsed projects
  • @graham: Don’t see a line between community and companies.
    • Companies need to make money, but everybody in the community has goals
    • Where’s the line between different goals, why such a dichotomy
    • Matthias: Makes sense to look at them differently, different mechanism
    • Public funding is notably different
    • (anon): We have the overall community which includes companies, but we shouldn’t underestimate the differences. E.g. the Rust foundation has been taken over by Amazon. It’s a spectrum
    • Guillaume: Not sure what the concerns are yet
    • Ron: Short term agree with Graham, everybody is based on Nix.
    • Are we okay taking a lot of support from Amazon
    • @alyssais: On an individual level, each contributor, everybody has their own motivation.
    • Danger is in grouping, if we take all companies invested into Nix, those different groups have distinct motivations.
    • E.g. when we make decisions about who should sponsor Nixcon, interests will differ between companies and individuals. Companies want a ROI.
    • Companies have a lot of resources, feeling like taking on a lot of decision making because of that.
    • E.g. foundation doesn’t have any individuals on it.
    • If we leave this unchecked, it’s easy to corporate ?? by accident.
    • Majority of work is still volunteer work.
    • Need to make sure all the contributors are okay with it.
    • (anon3): Agree vs Meh vs No good signals in community.
    • Conflicting interests: Different culture, hard to see, a lot of small companies. But what if e.g. Google starts sending people. Need to protect what we have.
    • Valentin: How do we represent ourselves to the outside world and newcomers. Has been monopolized, small set of official resources to put this. Need to find an agreement, we need to find what our values are as a community.
    • Need to come to a conclusion to put on the website and anywhere else people see Nix from.
    • Graham: E.g. as a contributor to an Apache project, etc. you’re always contributing as an individual. If people leave jobs, they keep their position in the project as an individual. I value that aspect very much. Might be hard but sounds doable if we have sufficient transparency
    • Tom: Proposal: Use this to draw a line, community contributions are from individuals.
      • @zmitchell: What should we do or not do regarding companies
      • @tomberek: If you’re participating on a board, you’re there as an individual, not as a company
      • (anon4): There’s a recent company team using “Github teams” in the NixOS organization that maintains packages in Nixpkgsb
    • @mat: Underestimating the power companies can have over people, people from companies could swarm the boards and vote in favor of their companies opinions.
    • Companies have very different mechanism to get organized. Important to keep a balance between the entities. People who don’t have such means should also be heard
    • @tomberek:
    • Ron: Two topics:
      • Company influence, what influence should individuals have
      • Could be unaware of companies sending a lot of individuals
    • (anon5): The Nix team can make large decisions. Can be influenced by their companies to add things to the codebase, things that are mainly just beneficial to companies. The Nix team should work on things that are most important for the community.
    • Martin: Regarding risks: Companies working around Nix share the same ?? as community members. No company wants to destroy the smooth goings of the Nix platform. More collaboration between companies and the community
    • @alyssais: Need to worry about Corporate capture: If somebody writes a product on top of Nix, hiding Nix as an implementation detail. Lots of people could be using Nix, but everybody thinks they’re getting a product from the company. People don’t feel inclined to contribute, won’t be doing free work for the community. It’s not bad to hide Nix as an implementation detail, but it has to be done carefully. Easier to do it in a bad way.
    • @ronef: Being in flox, we wouldn’t exist if Nix didn’t. Say some big company comes in, builds a big thing, it could detract from contributions, they could rewrite it, take over
    • @alyssais: Can’t stop people using Nix, can stop handing out controlling permissions. Companies could end up with needs contrary to the communities needs. Need to make decisions for the better of the entire community, not for the company getting most value out of it.

Action items?

  • Guillaume: Risk for major changes not being from community but enterprises. Which processes have the biggest impact on Nix? Maybe RFCs. Make sure such processes aren’t overtaken by single entities. RFCs are done by shepherds, community.

  • @ronef: How to make sure critical things aren’t compromised. Not to have too many individuals from the same companies in deciding positions.

  • Graham: Note: If “contributing as individuals” proposal, this would then not align with that

  • Valentin: Regarding interests of stakeholders. What is the criteria to become a stakeholder. Do-ocracy/Praxiacy. Companies with capacity to do things puts them into power. Can we formalise this to be more predictable? I’m an example regarding the docs team and being sponsored

  • Raito: Proposal:

    • Having companies in the space is fine.
    • Vision of Nixpkgs: Benefit from various people
    • Would like to have the same relationship from companies.
    • Companies should contribute their fair share from their use.
    • Balancing putting things in vs getting things out
    • How to make this concrete?
  • (anon7): Everyone is a stakeholder, do-ocracy, having a formalised criteria would be sad

  • Graham: Different topic: Should have a trademark policy

  • Matthias: Companies as entities, separately from individuals

  • Kranzes: Limitation could be for RFC’s, any single entity can’t have any majority. Otherwise there would be artificial acceptance

  • @alyssais: We have that in the RFC steering committee. That’s good. Need a bit of a compromise, even people contributing as individuals are always a bit influenced by companies. It can be hard to keep this separate as individuals.

  • Additional rule proposal for positions of power: A maximum number of members with any company affiliation at all. Would make sure volunteers are represented and diverse

  • Valentin: Agreed, burning questions: How to make sure they’re on par regarding resources → Community fund

  • @alyssais: My work is full time funded by NLNet, not really a company. Lot of people do work in that way, a lot more aligned to the non-company side of things

  • (anon): Can we pay salaries to board members?

  • @ronef: No. Creates a conflict of interest. Doesn’t mean team leads can’t be paid

  • Matthias: Three catogeries [@infinisil: I didn’t quite hear it]

    • individuals
    • public
    • companies?
      Nix strives to have a balance between the three to take a good direction.
  • (meta) We don’t have to make decisions here

  • (anon): Regarding maximum number of company affiliations. Tricky to implement, sometimes not a big company, solo devs can also have a Gmbh for tax benefits. Need to differentiate between these. In most successful technologies there’s a lot of good influence by companies

  • @asymmetric: Extending the proposal: Fourth group, not commercial, but people. Agree that it should be a balance

  • @edef: Few concrete things came up, RFCs, board seats. This conversation is very abstract though. Not clear what concrete things are in conflict between corporate and individual users. If we make Nix good, that’s what everybody wants

  • Raito: Some communities say “Avoid success at all costs!” xD. Corporate users want some success. Motivation by companies to push for RFCs. E.g. Flakes. For these features, are there situations where individuals and companies disagree

  • @edef: Not a big flakes fan. General consensus seems to be that other people want it.

  • Raito: Not about a precise feature

  • @edef: Seeing a push to label it as unpopular. It seems very popular to me

  • @ronef: (meta) how could this be productive?

  • Raito: (meta) Finish this topic, satisfied, was this good?

  • @alyssais: We all want a good package manager, but what this exactly is can vary regarding different interests, could conflict. What worries me is a conflict in how the community works. A culture defined by volunteers vs corporate interests is very different.

  • Bringing it up again: Who should sponsor Nixcon? From my experience working in companies. Motivation there is to have as many connections as possible.

  • In contrast, volunteers are a lot more picky about this, care a lot more about values. They need to be onboard with others, otherwise they can just stop contributing

  • Concrete concern regarding company interest in Nixpkgs: Will be too easy to design something internally for specific for uses in a company and then push it through. Only works when the company has some power via committers on seats.

  • E.g. some people want Flakes, some don’t, they didn’t get a lot of community input. Has been mostly stuck, community input hasn’t been as accepted as it needed to be, didn’t feel like a community decision.

  • We’re probably gonna keep running into this, it’s hard to design something as a single person, much easier in a company. Seen this a lot in communities, a lot of work needs to get done.

  • tomberek: (meta) Time for proposals

Proposal:

  • (anon): Try to avoid having synchronous meetings, some people can’t attend

  • Domen: Conferences like FOSDEM have a lot of open source contributors, little companies. Do we allow companies to go? Should sponsor talks be allowed?

    • I started nix.dev (official now). Regarding trade-mark, who can use the Nix trademark. Can projects label themselves as official currently, that could stop if we have a proper trade-mark.
    • Second part: Public things like the cache. What makes an official project, what are the rules under that project. E.g. has to contain contributors from different companies or individuals.
    • Need to create incentive for companies to donate to this.
    • @ronef: Two parts:
        1. Practical implications of what it means to have companies work with the community
        1. Trademark regarding Nix
  • @ronef: (meta) Most of this should ideally happen asynchronously

  • Guillaume: We should have a threat model created by the community and lead by the people who can do it

  • Matthias: Establish the three different types of entities. Clear path how they can contribute. Sponsors should exactly know what happens when they sponsor

  • @alyssays: Avoid teamification, parts shouldn’t be owned by teams, shouldn’t require approval by team or to join it. Meetings make it hard to drop in.

Meta

  • @ronef: (meta) Who helps with running it asynchronously? How to do that?
    • @ra33it0 volunteers to help (joined the Matrix room)
  • @tomberek: Working group to make it concrete
  • @ronef: Don’t want to drop it after this
  • Raito: Are we missing something important?
    • (anon): Examples of risk of influence
    • @asymmetric: Better process for deciding order of people
    • Raito: We don’t want just a conversation between two people
  • Tomorrow probably tackling the next subject, anything else to discuss?
  • Graham: Trademark discussed before?
    • @ronef/Raito: Good idea, let’s discuss
    • Graham: Proper trademark policy can solve a lot of problems
    • Raito: Can have this on Discourse
  • Tomorrow: Resource allocation
  • Later: What is official
  • @ronef: Regarding trademark, want to be transparent about it. Difficult is the policy. Where to draw the line. E.g. can flox put a Nix logo on their website
  • Raito: On the hackday we start at 5:30!!! No, look at the schedule :slight_smile:
  • If we don’t have enough time, we can spill into the hack day
  • Try to find ways to make the discussion continue after Nixcon, so that people who aren’t here can also participate

clap clap

(we didn’t get to these topics):

How to allocate resources predictable

How to communicate what is officially endorsed

9 Likes