Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Annoucement: php-webdriver repository organization name change #730

Closed
OndraM opened this issue Jan 6, 2020 · 13 comments
Closed

Annoucement: php-webdriver repository organization name change #730

OndraM opened this issue Jan 6, 2020 · 13 comments
Milestone

Comments

@OndraM
Copy link
Collaborator

OndraM commented Jan 6, 2020

Despite the name, facebook/php-webdriver is few last years not developed by Facebook anymore. All current active maintainers are volunteers not associated with Facebook.

However because of historic reasons the repository is still under facebook organization on Github. This cause several limitations, for example:

  1. There is no easy way for us to add members to the organization and add contributor rights to more people
  2. We cannot customize the contributor process, for example set multiple issue templates, enable GitHub Actions (they are disabled organization-wide), also signing of the CLA is required, which creates more barriers for newcomers
  3. Main branch is community (because master branch is reserved for archived version of the repository from times it was actively used by FB itself), which is quite confusing
  4. The namespace/organization itself is misleading, as is creates false impression that the project is associated and maintained by FB developers
    etc.

Facebook (via @gfosco) agreed to transfer the repository out of facebook organization. This will also allow us to build more sustainable team of maintainers and better manage our community efforts.

👉 The new repository name will probably be php-webdriver/php-webdriver 👈.

We also discussed with @christian-bromann possibility of sharing organization webdriver and call it webdriver/php-webdriver, however this in my opinion does not have many advantages, maybe a bit shorter name :-). Standalone organization will however provide more freedom for our needs.

The renaming should not have impact on URLs, git etc. - GitHub provides redirections after repository is renamed, so everything should still work.

Also following the change, we will also rename the packagist repository from facebook/webdriver probably to php-webdriver/webdriver. However this is not simple process (packagist packages cannot be simply renamed, they must be submitted under new name and the old one need to be marked as abandoned). So I'm thinking about postponing this change to 2.x - but we will see, it may happen sooner.

💬 Any ideas, questions, recommendations? I'd like to hear opinions from other contributors and the community as well!

@OndraM OndraM added this to the 1.8.0 milestone Jan 6, 2020
@christian-bromann
Copy link

christian-bromann commented Jan 6, 2020

rename the packagist repository from facebook/webdriver probably to php-webdriver/webdriver

Would it maybe make sense to name the package webdriver/webdriver or webdriver/core? Seems a bit more official to me 😉

@williamdes
Copy link
Collaborator

williamdes commented Jan 6, 2020

@christian-bromann I just want to say that if you do so you will limit future languages in the namespace
webdriver/php-webdriver seems more future proof and search friendly

@christian-bromann
Copy link

christian-bromann commented Jan 6, 2020

I just want to say that if you do so you will limit future languages in the namespace

You right, I didn't know that packagist is using GitHubs namespaces.

webdriver/php-webdriver seems more future proof and search friendly

I agree! Happy to give any kind of access to it.

@williamdes
Copy link
Collaborator

What do you mean?

I agree that I was unclear, webdriver/php-webdriver vs webdriver/webdriver was my point

@christian-bromann
Copy link

Yeah, I didn't know that packagist is using GitHub namespaces. So webdriver/php-webdriver or webdriver/php would make sense to me.

@williamdes
Copy link
Collaborator

webdriver/php IMO looks more official and sexy

@andrewnicols
Copy link
Member

andrewnicols commented Jan 6, 2020

I don't think it really matters too much whether it's php-webdriver/php-webdriver, or webdriver/php-webdriver, or webdriver/php. It really is just a name, and as long as there are a variety of people from different organisations who can keep the project moving, on-track, and ensure it's longevity, I don't think that it matters particularly.

Personally my vote would be for php-webdriver/php-webdriver.

There are some benefits to having it under the webdriver organisation, as long as it is possible to have the required level of control over the repository:

  1. it ensures that even if all of the repository Owners go AWOL, there is still the webdriver organisation who can resurrect (though this is hopefully not going to happen and is a last resort);
  2. improved discoverability - only marginally, and this doesn't have any real weight to me
  3. shorter name - again this is just semantics and doesn't offer any real benefit IMHO

Equally, there are benefits to a new Organisation for the project:

  1. Greater level of control
  2. Ability to host related projects -- for example a Mink driver making use of it could be placed at php-webdriver/mink-driver.

In terms of time I think that it actually makes a lot more sense to move at 1.8.0 rather than 2.0.0.
Whilst it technically is an incompatible API change (and assuming the versioning follows semver) which would normally require a major version bump, the version bump is moot because it would still affect old versions anyway. That is to say that if we move the repository too early, and/or wish to maintain the 1.8 version in parallel to 2.0 or while it's under development, it will not be possible because of the difficulties associated with packagist renaming. A developer upgrading from 1.8.0 (old repo) to 1.8.1 (renamed repo) would have to rename their repository in composer.json to do so.
Moving now would therefore be a safer option IMHO.

tl;dr:

  1. 1.8.0 is probably a better time to make the move;
  2. php-webdriver/php-webdriver has benefits when it comes to the ability to 'host' related projects; and
  3. Having more official contributors who can triage, merge approved changes, etc. would be extremely beneficial so either naming is a major benefit anyway.

@christian-bromann
Copy link

2. php-webdriver/php-webdriver has benefits when it comes to the ability to 'host' related projects; and

Makes totally sense given that the raw bindings for WebDriver in JS land is also in the WebdriverIO project.

@OndraM
Copy link
Collaborator Author

OndraM commented Jan 7, 2020

GitHub repostiory organization/name is not related to Packagist namespace/name. Even now it is github facebook/php-webdriver and on packagist facebook/webdriver. On each of these places are being used different conventions and we can/should solve them separately & maybe differently.

Having different package name on GitHub and on Packagist is relatively common - they don't need and often are not the same - for example common rule is not to include "php" in package name on Packagist, if the reason why it is used on GitHub is to differentiate if from clients for other languages, as GitHub hosts project in different languages. You don't need to do this on Packagist, because, well, Packagist contains only PHP packages :-).

On the other hand, organization on GitHub is usually the same as namespace on Packagist.

So I agree with @andrewnicols about naming github repository php-webdriver/php-webdriver.

And for reasons above I preffer php-webdriver/webdriver as Packagist name ( = same organization as namespace, but package name does not contain redundant "php").

Both of these names also provide benefits mentioned by @andrewnicols (possibility to host related PHP projects in the future under php-webdriver org/namespace).

What do you think?

@andrewnicols
Copy link
Member

@OndraM What do you think about the timing?

@OndraM
Copy link
Collaborator Author

OndraM commented Jan 7, 2020

@OndraM What do you think about the timing?

About moving the repo itself I think we should do it as soon as we have an agreement :).

About creating new Packagist package and abandoning the previous one: we can do it soon after package is moved and 1.8.0 sounds reasonable if we can manage it in time - the thing is I need to coordinate this with Facebook, as they are maintainers of the current Packagist package and only they can mark it as abandoned.

@OndraM
Copy link
Collaborator Author

OndraM commented Jan 14, 2020

The repository was just transferred to https://github.com/php-webdriver/php-webdriver 🎉

I've just created #733 but few other changes must follow - please allow me few days to sort everything out and setup what we need.

@OndraM
Copy link
Collaborator Author

OndraM commented Jan 17, 2020

📢 So the repository has been renamed, package name changed and previous package has been marked as abandoned on Packagist.

What you need to do in your composer.json is to replace facebook/webdriver with php-webdriver/webdriver in require section:

"require": {
-    "facebook/webdriver": "(version you use)",
+    "php-webdriver/webdriver": "(version you use)",
}

and run composer update. Otherwise you won't be receiving any updates of the package.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants