Roadmap: Phase 1

Yeah we (you and I) need to discuss how we can do things right here. We are only a week into Aux existing so things are still very new and thrown together. Much of the naming of groups is forward-thinking rather than accurately describing their function today. Separating into different groups is necessary right now and down the line the specifics of these groups will change. Things like SIGs and Committees will be more limited in numbers with non-members still contributing (and voting) via the leadership of those selected by the community to run it.

6 Likes

I’m going to very carefully suggest aiming for less governance right now. I know how that sounds, hear me out :sweat_smile:

I’m going to claim we have this shared experience: seeing the effect of no governance in Nix, and large projects with mature governance (e.g. Kubernetes). That’s making us very sensitive to not feeling listened to, and is making us reach for a lot of structure to compensate.

It’s only been a week. The sum of SIG and committee memberships is 62 people, less than 10% of nix or kubernetes (not counting the surrounding ecosystem, if we do then Aux is <<1%). We could still fit into one large conference room.

I’m worried about the excitement for radical changes: experiment with split nixpkgs structures, rewrite flakes, rip out flakes, p2p caching, switch forges and write all new CI machinery, etc. I think trying to design any of these with <1% of Nix’s people before we know if we can keep up with routine package maintenance will stall and end the project.

I would like to scope down: what governance do we need to build for the next, say, 2 months? In the short term I would like enough that we can collectively figure out how to make the routine maintenance of auxpkgs-placeholder-name-here sustainable given our resources, because if we can’t do that then what we’re building isn’t a nixpkgs fork, IMO.

I know that sounds like “lock in that big changes won’t happen”, but I don’t think that’s right. Our size makes fundamental changes cheap, at least for a while. Starting with “nixpkgs with a few more commits” is okay IMO, because switching to something else is a tractable amount of work. And by that I mean I volunteer to help execute those big changes, if/when we decide to.

With that in mind, a combo of @Jeff’s proposal and @jakehamilton’s original roadmap seems to work. Small appointed bootstrapping group in charge, with goals that are what’s already happening: organize volunteers to see what we’re working with, park accounts in various places, and set up tech to support further governance/communication (e.g. matrix, loomio, probably others).

I would like to add to that (but I defer to the bootstrap group) continuing the near 1:1 “soft fork” plan that exists, so that we can s/NixOS/aux-placeholder-name-here/ in our configs and start figuring out to make maintenance sustainable. I would like Aux to be an artifact I can use more ASAP, even if in 2 months I have to update my configs because of a breaking change.


Maybe this is a complete misreading of the forum’s vibe in the last few days, and I’m just projecting my own recent anxieties onto Aux’s bootstrapping. I abjectly apologise if so! Please assume all of the above is weakly held desires rather than demands, and I’m willing to put work into most directions that align spiritually with the fundamentals in auxioms, and output an OS that I can use :slight_smile:

15 Likes
  1. I want to gently correct this, as I currently see the steering committee and the boot group as the same thing. I asked for a boot group, and Jake was receptive and already added one person to it from my point of view. He’s also listened to the community on plenty of other things, like SIG groups elections, and Isabel was the head of core so it makes sense.

  2. Echoing a bit of what @danderson just said. IMO things are going at light speed right now. I asked to add two people with the expectation of that happening over weeks, not days. I’m pretty happy with Jake listening to the community. If anything it should slow down. Like I kind of wish the poll’s were open longer. (Speaking of which @isabel @srxl I’ve got a big half-done post SIG repos thread, but its going to be 48 hours before I can get back to it and finish it off)

  3. Think about the name. Sure it would be best to decide the name as a group, but we needed a discourse to rally around. And that Discourse needed a name. Its a lot easier to sit and critique than it is to take action and Jake deserves credit for being the change he wanted to see in the world. Every time I critique something I can always ask myself “why didnt I do it myself already if I care so much?”

  4. There is an important point of critique though, I do think Jake almost ad-hoc’d us into a giant mistake right there at the beginning, e.g. if Aux didnt brand itself as Auxolotl (big thanks to the oil-shell guy for swinging the tide on that issue). And that points us to the key thing: dont screw up the stuff that can’t be fixed later (naming, licensing), but dont be too tight about the tech decisons that can be reverted (hosting platform, clone vs inherit, splitting up based on ecosystem, etc).

3 Likes

I agree that things are going very well, but actually I think there’s a lot of stuff that can’t be fixed later if (hypothetically) the bootstrapping group makes bad choices.

It might help if we at least elected the bootstrapping group. I know that that’s not in the roadmap. But it is very low-cost, since there seems to be a consensus that they’re doing a great job. What’s the downside? Is there a worry that legitimising them now might encourage them to cling to power later?

Totally!

(Discourse filler characters)

I think it would be good, in this thread, to start bringing up those things and potentially block on them in terms of getting certain governance steps done before they are decided.

No objection here, if that helps make everyone comfortable. My fear based on recent governance bootstrap experiences is that we’ll end up on a side-quest to decide what voting algorithm to use, who’s eligible, what software to record votes with, what the rules of office are, etc.

All important things to figure out, but it’s the same problem as source bootstrapping: at the very bottom of the stack some authority has to materialise from nothing, so that the rest of the authority can derive from it. I view the authority we currently have as that step :person_shrugging:

Maybe I’m just being a pessimist though, and those pre-voting steps can happen without depending on themselves?

2 Likes

In my opinion, using github … although it’s not a typical example, because I think I’d get outvoted anyway if we decided that democratically. Still, it is a very important decision and it’s already been made. Personally I’m happy with everything else.

Actually I think my subconscious has been trying to tell me that this is exactly why we should do it now. Let’s give the bootstrapping process as much legitimacy as we can right now while we all still have NRE! The longer we let it sit the more likely we are to bikeshed the voting process. According to my subconscious, anyway.

Also I don’t think we need to wait on ^these things. I’m sure Jake has a life too, so we should refine exactly what we think should be different, and deliver a solid refined answer that is widely accepted (if possible)

We’ve effectively already started a thread for the community definition task here and we could use both input and technical skills to help get it pushed forward faster than the technical changes.

We could also start a thread on how we might want the steering committee to be elected. (Will it be SIG members, or the community at large, or both, how long should the election be, should it be ranked choice, etc)

1 Like

Blessed. Thank you can’t wait to read it.

I totally agree with this andbut let’s be explicit about wanting to avoid bikeshedding at this point. I believe there’s a lot of detail that has to be got right about democracy in most circumstances, but in this case there are going to be very very few candidates anyway. (I might repeat this in the new thread if we start one.)

It’s also a hard thing to define what’s bikeshedding or not. I deeply care about a lot of political issues, but If I could change one thing about my country, it would be the voting algorithm (ranked choice). So for me, its literally the worst possible example of bike-shedding haha. And I don’t take offence from your example haha, I find the irony funny.

I think our only option is to keep focus on the things that we think are important rather than the things we find enjoyable (ex: the logo and color pallet, which I’m guilty of myself)

I think we ended up on a pretty solid idea which was loomio. And it pretty much offered all we needed.

2 Likes

Oh, I thought loomio gave us a bunch of options about algorithms to use, if not then yeah loomio seemed to have enough consensus to go for it to get started.

2 Likes

Here’s a thought that might be obvious but I think it’s important.

In one sense, the (arguably the and certainly a) reason that the Nix ecosystem is having such a hard time is that they have stewardship of a huge bunch of valuable stuff. They can’t decide how to govern that stewardship, and so there is much acrimony (all over the place, and recently it’s even started on the Zulip, although it’s not as bad there as in other places). The arcrimony is because (well, it’s protracted because) the stakes are high, because of the huge bunch of valuable stuff.

I think the lesson we should learn is to get our governance straight before we have a huge bunch of valuable stuff.

Which I think we are doing. :slight_smile: I just thought I’d say this thought explicitly. It’s relevant to the discussions we’re currently having.

2 Likes

Yep, I am here and I am listening :slight_smile:

I wrote this a few days ago and it will never stop being true: Jake Hamilton: "So I can point to this later: A Nix fork is bigg…" - Hachyderm.io

So I can point to this later:
A Nix fork is bigger than me, it is bigger than any individual. It will take many, many people a lot of time and effort to pull off. Members will come and go, that is natural. What we need to do is try.

This isn’t something I can do on my own, it is not something I want to do on my own, and it is not something I want to continue doing permanently. Part of my personal goal with Aux is to be able to walk away from helping manage the org. Eventually it won’t need it and it will be much better for others to step in.


As Jeff points out, things are moving extremely quickly. Truthfully, there isn’t much rush in most of these changes. We can move slower than we are today and spend more time considering our actions. Last week was Aux’s first week in the world and the community that has sprung up around it is fantastic, but we need to remember that things are still both new and small. It’s okay to not have all of the things a future, larger version of Aux will have.

I’ve been thinking a lot about how things have gone the last week and what we can do to try and keep things moving forward with community input without getting bogged down by the endless spirals that Nix had. We’ll probably make mistakes too, that’s part of being human. The important thing is that we will correct those mistakes when we recognize them. That, to me, is more important.


For some additional clarity on my previous statement surrounding modifying the roadmap:

I explained that I was extremely hesitant to do so. The rationale for this being that people may have now committed to the vision of Aux described in the roadmap and may feel that their work was useless. I don’t want anyone feeling like they had the rug pulled out from under them. That’s why the roadmap was included on that page.

However, extremely hesitant does not mean we can’t change it. It means we need to be considerate about changes and understand why and how we are making them as well as the impacts they may have on people who joined because of a particular roadmap item. This is also something I have been thinking about, but still need some more time to process.

9 Likes

The one thing I think we, the community, agree on changing is the (roughly) “first elections after all tech is fully functional” (correct me if I’m wrong @ anyone) I dont think anyone would be dissapointed if elections were sooner.

That said I’m fine with you taking your time with this :+1:

5 Likes

I agree with everything you have said.

1 Like

I am not quite sure if temporary less governance is something I would value right now. I understand the arguments for that direction, but have a hard time separating out that in parallel we have a, relatively out of the blue, vote on whether this fork also shifts copyleft.

A change like that feels extremely core to me and was nowhere to be found in initial communications on goals and roadmap. Obviously a project can always choose to relicense, but would you not then expect that to be treated as a very big thing - with a lot of prior comms & discussion before a vote is just dropped on the community?

I don’t know if this is the right thread, but I believe in speaking out when you don’t agree with a change to something you care about. Looking at the poll, Aux is turning copyleft and that is not what I signed up for. I think it’s cool - you do you - but I don’t think the process around it has been handled particularly well. That is why I figured the comment made sense in this thread - as this is hardly the last time radical change will be suggested :slight_smile:

10 Likes