DigitalOceanPHP / Client

DigitalOcean API v2 client for PHP
MIT License
709 stars 205 forks source link

Repository Maintenance and Contributions #237

Closed cam-vanorman closed 4 years ago

cam-vanorman commented 5 years ago

:wave: Hi All,

I wanted to quickly introduce myself and efelle! I'm an application developer @efellemedia, and our company is currently building an ecosystem of products and services around DigitalOcean and Laravel. Our Director of Application Development, @kaidesu, has been involved with the Laravel community for a few years and is actively maintaining Caffeinated Packages.

Now that DigitalOcean has added a bunch of new features to their API, we would like to start contributing more to this community package as well as offer to help maintain the repository where it is or maintain the repository for the long-term @efellemedia. Additionally, our company recently became a Solutions Partner with DigitalOcean, so we're a bit invested in building applications around DigitalOcean.

I completely understand everyone's busy and not every pull-request can be looked at in a timely manner, but in order to keep up with the ever-changing API releases from DigitalOcean, this package could use more active maintainers to help foster a good environment for those looking to contribute.

Here are a couple of other related issues I found related to repository maintenance and contributors.

Thanks for developing an awesome package and I hope we're able to find the best path forward for maintaining this package together! Feel free to contact us through hello@efelle.com or by responding to this issue.

glennjacobs commented 5 years ago

28 days and no response. I'm going to propose you fork it, get it on Packagist and start pushing it forward.

I'd like to see all the API endpoints implemented, e.g. Firewalls, Floating IPs, etc. and I'd be happy to contribute.

browner12 commented 5 years ago

yah, would love an active community maintained repo for this.

cam-vanorman commented 5 years ago

Since there's some interest and we're already working on a separate fork, feel free to work with us at https://github.com/efellemedia/DigitalOceanV2.

We can manage releases and add collaborators/maintainers as needed, including the existing ones on this repository. I'll reach out to those that have submitted a PR to see if they'd like to submit a PR to our fork. We'll get our fork setup in Packagist in the coming days, stay tuned.

browner12 commented 5 years ago

it'd be great if we could get DigitalOcean to add this to their Github repositories and make it an "official" library. I think it's kind of crazy that they don't have an official library for the most popular language on the web. This would also give it more credibility under their namespace. otherwise I feel like we're fighting an uphill battle to take authority over this package.

GrahamCampbell commented 5 years ago

Since there's some interest and we're already working on a separate fork, feel free to work with us at https://github.com/efellemedia/DigitalOceanV2.

I'd far rather everyone collaborated on this original project, rather than making a fork in anger, as it were.

GrahamCampbell commented 5 years ago

I'm going to contact the owner directly, since, while I have push access to this repo, I don't have enough time for it, and I really think we need to add more collaborators to the project to take it forward. I don't have permission to do this in the sense that I don't actually have permission to do this on GitHub, and we need to discuss with @toin0u anyway.

browner12 commented 5 years ago

I don't think it's anger. I think everyone realizes this very popular package is maintained by only 2 people who have other priorities. What everyone is looking for is a solution to make sure this library gets the maintenance and improvements it needs. I believe it has been proposed in the past to add more maintainers, which would be a great solution, except that it hasn't happened. The owner of the repo has been unresponsive for over 3 years, so it makes people a little apprehensive about the future of this project. While I agree forking is not the best solution, it's the only solution we currently have the ability to do.

If we can add more maintainers and see active PR reviews, I'm all for that solution. But I would say it needs to happen ASAP because people have been waiting a long time.

bentranter commented 5 years ago

I wanted to pop in to say that my team at DigitalOcean (the API/CLI team) has been watching this thread, and I'm working to see if there's any way we can help out.

To be completely transparent, our team is small, and already stretched thin, so we can't commit to taking over maintenance of this repo right now. With that said, I'm talking to our community team right now to see what we can do, so I'll follow up in this thread. Any more suggestions are much appreciated, and thanks to everyone here who has already shared their thoughts – it's a huge help to our team when it comes to our future planning around eventually supporting more API clients officially.

glennjacobs commented 5 years ago

I would suggest we all contribute to https://github.com/efellemedia/DigitalOceanV2 for the moment, at least then we can make some progress and it can support our individual projects.

Would be awesome to see it under the DigitalOcean GitHub organisation, but we shouldn't assume it will be and delay any further.

And if this repo comes back to life, we can decide whether the efellemedia fork gets merged in.

glennjacobs commented 5 years ago

@cam-vanorman can you turn on Issues on your fork?

cam-vanorman commented 5 years ago

I've enabled Issues on the repository @glennjacobs.

I would prefer to find a solution for maintaining the repository with @toin0u and @bentranter. I believe the best place for this would be with DigitalOcean's organization, but that's dependent on their team being able to manage. Full transparency, the team I'm on consists of 3 people, so we too are stretched thin.

@GrahamCampbell Thanks for you help in contacting @toin0u as well as for working with the community here, I know you've got a ton of other projects you're dedicated to.

browner12 commented 5 years ago

@bentranter thanks for chiming in and letting us know what's going on at DO. Do you guys have a policy to decide on if something becomes an official library for the API? The reason I ask is because I think there are plenty of community members willing to make PRs into the project to the point that hopefully your team was just reviewing and merging the improvements. However, if you guys have policies in place to maintain a certain level of quality for "official" packages, maybe you're prevented from doing that.

If you could provide any insight to us on your decision making, I think that would help.

Thanks!

GrahamCampbell commented 4 years ago

Still no response from the repository owner. I'm going to leave the repository now, since I have no time to maintain it, and don't have permission to add new maintainers.

GrahamCampbell commented 4 years ago

I've now left as a maintainer of this repo, since I don't have time for it. I think the best approach now is for someone to fork it to an organisation, and build a new core team for it.

GrahamCampbell commented 4 years ago

Do people want to make https://github.com/efellemedia/DigitalOceanV2 the new official repo?

cam-vanorman commented 4 years ago

Hey @GrahamCampbell, I've been working with https://github.com/do-community/ and they've agreed to take over the repository/maintenance there instead of at https://github.com/efellemedia. They are currently working on assigning the right individuals to maintain the project going forward.

I'll keep everyone updated once I hear back from the DigitalOcean team.

browner12 commented 4 years ago

great news! thanks DO team

glennjacobs commented 4 years ago

@cam-vanorman did you get any progress on this? I'm getting back to my project and realised I'll need VPC endpoints also. Would be nice to have a maintained package to contribute to.

cam-vanorman commented 4 years ago

Hi Glenn,

At this time I'm not sure what the future of this repository looks like. Digitalocean expressed interest in maintaining this and the current community, but I don't believe they want to hard fork the repository if there's a way for the current maintainer to transfer it to the digitalocean community on GitHub.

glennjacobs commented 4 years ago

@toin0u are you out there? :-)

He seems to be active on Twitter. Might be an option. I guess for the moment I'll fork the repo and do what I need.

toin0u commented 4 years ago

Hi all - I'm very sorry for everything. Many things happended in my privat life.

I will give all the rights to @GrahamCampbell who is more than trusted in our community.

Happy coding!

glennjacobs commented 4 years ago

Thanks @toin0u, I hope your private matters are OK now.

GrahamCampbell commented 4 years ago

I will give all the rights to @GrahamCampbell who is more than trusted in our community.

As I said, I am no longer interested in maintaining this repo, however I have temporarily accepted the request to collaborate. We are currently stuck though, because this repo belongs to your personal account, so I don't have any admin permissions. You will need to transfer this repo to an organisation in order to give other people admin permissions. I'd suggest do-community, if they still want it.

glennjacobs commented 4 years ago

@toin0u do you want to transfer the repo to our business organisation https://github.com/neondigital ?

Then I'm happy to work with @cam-vanorman to find a proper long-term home for it.

We've been around for 15 years, so not going anywhere :-)

GrahamCampbell commented 4 years ago

What usually works best is that an organisation independent from anyone is created on GitHub, and then the current maintainers are made owners. It mitigates the bus factor and people changing jobs, etc. For example https://github.com/laravel-auto-presenter/.

GrahamCampbell commented 4 years ago

The organisation name DigitalOceanV2 is currently not taken. Should we use that?

GrahamCampbell commented 4 years ago

DigitalOceanPHP is also available.

glennjacobs commented 4 years ago

Makes sense. I think the latter, it explains it better.

@GrahamCampbell do you want to make the organisation DigitalOceanPHP and then have @toin0u transfer it?

GrahamCampbell commented 4 years ago

Done: https://github.com/DigitalOceanPHP. :)

image

glennjacobs commented 4 years ago

Over to you @toin0u :-)

GrahamCampbell commented 4 years ago

Note that in order not to break existing code, @toin0u should make sure that he never forks the repo to his personal account after moving the repo to an org, so that GitHub continues to redirect old downloads by composer, correctly.

GrahamCampbell commented 4 years ago

Also, the new team need adding to https://packagist.org/packages/toin0u/digitalocean-v2, so that they can update the GitHUb URL and have auto-updating.

glennjacobs commented 4 years ago

@GrahamCampbell do you know of any nice way to change Packagist so that we can have a nicer package name that doesn't require "toin0u"? Would be nice to have it match the new organisation. But at the same time, we don't want to break stuff.

toin0u commented 4 years ago

@GrahamCampbell Thanks for the org and all the efforts. I will add you in packagist and move the repo. I will not fork it into my private account no worries.

toin0u commented 4 years ago

@GrahamCampbell @glennjacobs and all others people involved or using it. Thank you very much guys. Sorry I could not support everyone that much :/

The repo is transfered to https://github.com/DigitalOceanPHP and @GrahamCampbell is added to packagist!

GrahamCampbell commented 4 years ago

Thank you, and stay safe! :)