Snapcrafters Reboot

Dear members of the snap community,

Today, we’d like to announce a “reboot” of the Snapcrafters community. Let’s call it Snapcrafters TNG :slight_smile:

Our aim is to create an effective, collaborative community of developers, contributors and users, who help maintain and build the rich portfolio of snaps under the Snapcrafters umbrella.

We want to make this a fully self-sustainable community effort where Snapcrafters can make things happen.

What do we want to do?

We would like to refine, enhance and improve our processes; how we build Snapcrafters snaps; how we test them; the criteria for inclusion of new snaps; the criteria for inclusion of new members; and much more.

Specifically:

  • (Re)establish the Snapcrafters group in a meritocratic way, with community members who have a real ability to get things done.
  • Define and refine the build process for Snapcrafters snaps - for instance, the use of automation like GitHub Actions, to reduce repetition and mistakes.
  • Define and refine the testing process for Snapcrafters snaps - shipping snaps to tens and hundreds of thousands of users carries great weight and responsibility. We want to make sure that people get stable, robust and secure snaps.
  • Document the build and test procedures so other people can join in.
  • Anything else that YOU may think would be useful.

Who can apply?

Anyone can apply to be a Snapcrafter. We are aware that people have limited time and opportunity for participation in community projects. Therefore, we do not have a “hard” limit on participation.

However, we want to make sure the process is sustainable and robust. To that end, we would define two levels of participation.

Core members

These community individuals are:

  • Given write access to repos. To minimize potential mistakes and improve the overall quality of our snaps, we will mandate a 2-person review for any PR, including the repo admins.
  • Help build and define the different processes we use in Snapcrafters.
  • Meet on a periodic basis with other Snapcrafters to discuss the processes.
  • Vet the inclusion of new members to the pool of core members.

Criteria for inclusion for core members

At the moment, we have a preliminary idea on the vetting process for core members (we have to start somewhere). Later on, we intend to refine the process with the rest of Snapcrafters.

  • Member of the Snapcraft forum for at least 6 months, and in good standing.
  • Active participation in the forum.
  • Active maintenance of at least 1 snap in their own name.
  • Vouched by one of the admins or other existing Snapcrafters core members.

Regular members

Overall, regular members can be anyone:

  • willing to contribute PR.
  • willing to report issues and bugs.
  • willing to run tests for new builds or revisions.
  • willing to help automate processes.

How can you apply?

Just reply to this thread :slight_smile:

Tell us - and the rest of the community - about your snaps, the Snapcrafter snaps you would like to take on (ideally you have familiarity with the snaps in questions), and the different ways of contribution and participation you’d like to be involved in. After that, we’ll be in touch to discuss administrative access and co-ordinate the first Snapcrafters meetings! Woo.

We welcome your participation!

That would be all.

10 Likes

Hi @Igor,

I’ve built a number of snaps as part of my work on the Mir team. Here are a few of them:

I’d like to be more involved with the snapcrafters as I’ve found that best practice for building snaps is constantly evolving and I don’t always realize that the way I do things should change.

So what I’d like is to share ownership of this packaging (so someone else can tell me of better ways, either during review or by PRs) and offer my experience of getting graphics to work on Ubuntu Core.

7 Likes

Hello :wave:

There are two snaps in the Snapcrafters GitHub repo I’m actively maintaining and I would like to continue to do so:

I actively maintain several other snaps under my own name, mostly for Ubuntu MATE :maté: I’m interested in being a core contributor.

9 Likes

This is great news and I am really excited to contribute to the overall snapcraft ecosystem. I maintain a bunch of snaps under different organizations (asciinema, google/flatbuffers, etc) and a few under snapcrafters (android-studio, sublime-text) as well. The fact I use these software almost daily makes me happy that with the new process in place, we can get those software released even quicker.

I’d make sure to make time to help with taking the Snapcrafters community forward.

6 Likes

I use signal-desktop regularly and yakyak occasionally. I’d be happy to (help) maintain those. :smiley:

3 Likes

I’m happy to be a regular member. I don’t really maintain any big snaps, but I have helped contribute fixes to the vscode, firefox, thunderbird, vlc snaps. Mostly to fix annoying bugs I notice.

I also have a small adapta theme snap, but i don’t really maintain it too much.

I would like to be more involved when I have free time.

4 Likes

@alan_g @Wimpress @om26er @cjp256 @kedstar991 Awesome stuff!

I’ll get to sort out things in the background. Can you share your GH and Snap Store user names so I can send you the necessary invites.

Also, before anyone takes it away, I’d like to maintain KompoZer :slight_smile:

2 Likes

Awesome :rocket:

I currently actively maintain the following repos in the “snapcrafters” GitHub org and would like to keep doing this.

I’m also interested in the following snaps. I want to start maintaining them if they’re orphaned.

  • sdlpop (I did the port to core18 and fixed a bunch of bugs)
  • tmnationsforever (I did the port to sommelier-core)

I’m interested in becoming a core member. My github username is galgalesh. My snap store name is merlijn-sebrechts.

I can share knowledge about good ways to refine snaps and/or fix issues and I need help with better ways to test snaps. For example, processes for community testing or automated ways to test GUI apps.

4 Likes

This is awesome news! I’m really excited about becoming part of snapcrafters and also having the opportunity to maintain packages that’s part of not just my life but a wide range of audience’s. Thank you for paving the way for us to do this.

I actively maintain alacritty & gradle snaps. gradle is part of snapcrafters repo. We were waiting for this moment to move alacritty from my handle to snapcrafters.

My GH handle is tunix and my Snap Store account id is: 9nVAuwuIvW7jsxGROVv52iv7bK8tAFhr – username is tunix

Also, I’d like to take this opportunity to suggest that it’d be great if we could document snapcrafter processes (and things like repo settings & code review guidelines etc.) on snapcraft.io instead of the forum as forum posts age.

I’m also interested in being a core contributor.

Edit #1: I also really liked the idea of forking a template repo and base a snap on top of it, click checkboxes etc. :slight_smile: If we could make a go-to (easy to find & understand) repo for everyone and document such processes there, I think that would work as well.

3 Likes

@galgalesh @tunix Great stuff!

And @tunix, anything that can improve things, yes! For example, I was thinking we could have documentation for each snap that details the testing we do for that snap, so if anyone wants to contribute they have a reproducible template to work with.

All ideas and suggestions are welcome.

2 Likes

+1 for documenting “Snapcrafters” on the snapcraft.io website.

I’ve had many people personally ask me what “Snapcrafters” is and what kind of quality/trust they can expect from it. I think this forum also has its fair share of people asking whether to trust a snap from “Snapcrafters”.

I think that once the process is established, there should be a public-facing explanation of what Snapcrafters is, what kind of quality and security users can expect from it, and where to go for more information. Maybe some kind of “publisher page” like KDE has?

2 Likes

I am om26er on both the store and github

On github I’m “AlanGriffiths”;
on Snap Store I’m “Alan Griffiths”

I guess I am officially throwing my hat in for either role (core or otherwise); however, I have not been on the forums a ton lately (I can attempt to rectify that).

My primary snaps today are:

  • restic
  • shfmt
  • ubuntu-budgie-welcome (other Ubuntu Budgie team members involved there)

I know @popey also maintains ncspot, of which I am an active user, so I would be willing to take that on depending on what his plans are going forward with his role change, etc.

I know that there will also be some upcoming snaps for themes under Ubuntu Budgie that I will likely have a hand in.

I have also been looking at the rclone snap but have not officially gotten involved with that one.

@kz6fittycent and I have been discussing the Ansible snap for quite some time but need some work there as well.

My GitHub id is bashfulrobot.

Thank you all.

3 Likes

If anyone is interested in getting their hands dirty; I have the first PR which needs a review: https://github.com/snapcrafters/arduino/pull/20

@Igor, @rhys-davies; what did you have in mind in order to find/request reviewers when you’re the maintainer of a repo?

1 Like

I think this is a good idea but I’m afraid we may have a problem with consistency. I think most snaps will fall into a category where testing means similar things. So if we go this route, I think we’ll again need a template to originate from.

1 Like

I’d like to throw my own hat into the ring as a core member candidate. I currently maintain GIMP and OpenTyrian from the Snapcrafters, and try to help out the others whenever issues arise. I’d like to take ownership of both of those along with Discord (if nobody objects) and I’d also like to propose audacity for migration from my personal namespace again with me as owner once in Snapcrafters. I’m happy to take on any other Snaps that are without a maintainer, too, provided the workload isn’t too great - I can’t take on every Snap :-p

8 Likes

Sounds like an awesome initiative, thank you! I also tagged you in the testing thread, as I’ve kicked rebuilds for several snaps (including discord, opentyrian).

1 Like

That’s even better. We can have tests that are applicable for all snaps, or broader categories, and then specific per-snap testing where required. If you have an outline in mind, we can bring it up in our first virtual meeting perhaps?