goss-org / goss

Quick and Easy server testing/validation
https://goss.rocks
Apache License 2.0
5.57k stars 472 forks source link

Project maintenance status #411

Closed lvlie closed 4 years ago

lvlie commented 5 years ago

First off; @aelsabbahy did a fantastic job creating goss given the amount of traction the tool has; I am a fan :)

However, the project seems very stale at the moment; loads of issues and PR's with no activity. Maybe it is time to start a call for maintainers? Given the amount of PR's, forks and stars, this should be possible.

Or, is there a well maintained fork out there already?

aelsabbahy commented 5 years ago

I would love to have more maintainers. Unfortunately, my schedule has been extremely busy which prevented me from having any free time for Goss.

What would be the best way to look for maintainers and communicate project intentions/vision moving forward. I don't see my schedule getting better before late-jan/early-feb.

lvlie commented 5 years ago

Maybe some people using/contributing to goss and reading this thread would have interest. Otherwise maybe there are some high quality PR's from potential fellow maintainers 😉 A separate issue called call for maintainers might also attract some more attention then this 👍

SimonBaeumer commented 5 years ago

First of all this is a real great project! Thanks @aelsabbahy I would love to get more involved in this project, but it would take some time to get deeper into it. I already started developing on to resolving some dependency issues #410 and migrating from glide to dep.

petemounce commented 5 years ago

I definitely echo the sentiment here - this is an excellent project, and tool.

I'm interested in being a maintainer. Myself and several team-members are depending on GOSS to build out infrastructure for continuous integration using buildkite. As well as using GOSS from ansible and packer, we're daemonising it to run continuous-tests as health-checks, so if someone remotes onto a build agent to do some debugging we then have it commit seppuku since it could have been tainted.

That's why we want to add cross-platform support, extending to macOS and Windows.

One way I have seen work in the past re: expanding maintainers is to write a clear contribution guide containing

Another is to triage issues along that guide, and also label things like up-for-grabs where the spec is clear.

marcinpraczko commented 5 years ago

Hi, I am also working well with goss and really see big value in this project. I can help with testing and automation (for example create some environments for testing). I am very good with python, linux and networking. I don't know GOLANG at all so far.

I would suggest create clear development.txt file - how to start building this project locally and start developing. However I would like to see this project moving forward and being growing.

berney commented 5 years ago

@aelsabbahy do you want to add some maintainers to help manage the pull requests and issues?

sfzylad commented 5 years ago

@aelsabbahy I have some experience with Goss and I've written some integrations with it too. Although I don't actively use it right now, I know good amount of people who use it and advocate for it. I would be interested in becoming a maintainer too.

sshipway commented 5 years ago

I will add my voice to the chorus - this is a great application, and it would be a shame for development to go stagnant due to lack of developer time. Many PRs have been submitted and there seem to be some people stepping up to volunteer to help with the work, maybe @aelsabbahy can add a couple more to the project team to handle the workload?

mkobit commented 5 years ago

We use it pretty regularly now - would like to be able to help here as well.

guillermo-menjivar commented 5 years ago

How about getting a contributing Readme.md together. I was not able to find one. I think setting tangibles of this sort can really help

petemounce commented 5 years ago

I'd like to reiterate the offer from improbable to play more of an active role as maintainers, if that's welcome? We're adding cross-platform support, gradually, inside our improbable-eng/goss fork.

SimonBaeumer commented 4 years ago

@petemounce I started a little fork too. I fixed some bugs, refactored a little bit and replaced the integration test suite. If you can use something feel free to take it from SimonBaeumer/goss. It was just created by me because I needed some fixes and wanted to fix the integration tests.

petemounce commented 4 years ago

@SimonBaeumer you've been busy!

We're now publishing Windows and Mac OS binaries at https://github.com/improbable-eng/goss/releases (but we have not ensured all features work on all platforms). We're gradually making changes to get to feature parity with Linux. You're welcome to use and give feedback.

aelsabbahy commented 4 years ago

I'm wondering if it makes sense to split Goss up into multiple distributions/projects with different maintainers:

This would allow for:

  1. Goss to maintain it's simplicity as much as possible.
  2. Maintenance of different OS support is owned by those passionate about that OS.
  3. Shared benefit between the different OSs due to shared library set.
sshipway commented 4 years ago

This does sound a good idea initially, but I would be more concerned about divergence of the different distributions if they are different projects. Running as a single project with as much code shared as possible might be better, with different people responsible for different areas, but you'd need a very extensive test harness to verify everything after changes. This would be more like the linux kernel organisation model I think. Otherwise, you run the risk that someone adding new attributes to one project will unknowningly break compatibility with another. If you're having a shared library for everything but the test executors then you may as well have a single project with test executors as plugins?

Having said that, the main thing is to keep the project alive and growing, and the way to do that seems to be to bring in more sub-admins, so I think @aelsabbahy should pick the model that works best for him

petemounce commented 4 years ago

@aelsabbahy I would be concerned about

I would prefer a model where more people are able to help maintain the single project, personally.

aelsabbahy commented 4 years ago

@petemounce, @sshipway Those are all fair arguments.

As you probably have noticed. I've been trying to get more active with goss recently. Here's my short term plans:

  1. Merge all open PRs that have passing tests and are in a mergeable state. Almost done with this, there's only 2-3 left at this point.
  2. Write up the initial CONTRIBUTING.md, seems I can't push this off any longer as there's a high demand for it.
  3. Coordinate with those who want to be maintainers for the project. This will involve discussions on short-mid term goals and direction. I assume if you're passionate enough to be a maintainer on a project you have passionate views project direction. Hopefully we can all come to an agreement that makes everyone happy. Update CONTRIBUTING.md as needed.
  4. Create a roadmap and maybe find a tool to gather community feedback on priorities. Something that allows voting, to get a better gauge on the demand for a specific feature.

This is something I can set up over the next 2-3 weeks. If there's something I missed in my list, please let me know. Looking forward to this.

aelsabbahy commented 4 years ago

Update:

  1. Still a few more PRs to work through.
  2. I've created an initial CONTRIBUTING.md + bug/feature/question/pr templates in the following pr #511. For those that are interested feel free to comment on the PR. 3/4. Will start efforts on these once 2 is merged in.

I'll wait a week or so and merge it if I don't get any feedback.

aelsabbahy commented 4 years ago

More updates:

  1. Pretty much done. I'll probably merge 2 more PRs/release. There's some non-backwards compatible changes in the PRs which is delaying things slightly.

  2. 511 has been merged, thanks @petemounce and @pedroMMM for the feedback.

  3. Prior to this, I want to triage the 120 open issues and create a document with my personal list of priorities. After that, I'll create another issue (and link it here) for those interested in being more involved with the project.

aelsabbahy commented 4 years ago

Update/done:

Next steps:

Looking forward to a great 2020.

Happy holidays to everyone here. Thank you for your interest, contribution and patience with goss =)

aelsabbahy commented 4 years ago

Update:

petemounce commented 4 years ago

@aelsabbahy thank you very much for your efforts here!

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

aelsabbahy commented 4 years ago

Closing this ticket out. There's a lot that came out of this in terms of defining workflow, multi-os support, etc..

New more targeted tickets can be opened as needed.