[🚀 Feature]: [dotnet] Align and simplify root namespace, who is OpenQA?
Description
This is a continuation of https://github.com/SeleniumHQ/selenium/issues/15791
Given that soon we will have
Selenium.WebDrivernuget package (now)Selenium.WebDriver.dll(in v5?)
using var driver = new OpenQA.Selenium.WebDriver.Chrome.ChromeDriver();
Then in .NET world the question is who is OpenQA? Seems only .NET and Java has this prefix as an organization.
Have you considered any alternatives or workarounds?
Yes, be more predictable.
dotnet new console
dotnet add package selenium.webdriver
using var driver = new Selenium.WebDriver.Chrome.ChromeDriver();
Done! No mistic OpenQA.
@nvborisenko, thank you for creating this issue. We will troubleshoot it as soon as we can.
Selenium Triage Team: remember to follow the Triage Guide
What do we gain from this aside of breaking user's code?
be more predictable
No mistic
OpenQA
Predictable for what? I don't see the reasoning for this.
https://github.com/SeleniumHQ/selenium/issues/15791#issuecomment-2920122146
That's an opinion, I still fail to understand the benefits and what users gain from this breaking change.
Everything is an opinion.
Let's compare:
dotnet add package System.Text.Json
And use it:
var a = System.Text.Json.JsonSerializer.Serialize("a");
In case of Selenium:
dotnet add package Selenium.WebDriver
And use it:
var driver = new OpenQA.Selenium.Chrome.ChromeDriver();
Who is OpenQA? Is it really necessary?
Everything is an opinion.
Not really.
You are still not making a case for it. It seems to be more of an aesthetic change that will break every user's code.
I think OpenQA was the name of the org before it became Selenium and part of the SFC. Java also has that namespace.
The proposed namespace change is more consistent, but it feels like that ship has already sailed.
I know Selenium 5 will introduce breaking changes, but this breaks every piece of code and every tutorial in existence.
I don't know, Selenium 5 feels like the opportune time to correct it and I have always questioned what OpenQA meant in the context of the namespace and aha, so it is an old legacy org name.
Which leads to the further question, when is a suitable time to change it or must it remain indefinitely with OpenQA?
Compromise? New namespace but with a fallback if OpenQA is used?
Everybody understands that Selenium.WebDriver namespace is better than OpenQA.Selenium.Webdriver. I strongly believe Selenium wants to be improved. If we really to improve (even with breaking changes), then do it. Major version is a great chance doing it.
Probably nobody knows, but Selenium introduces minor breaking changes in minor releases, it doesn't follow semantic versioning. Thus I don't see a criminal just to improve in the following major release. I cannot understand the principle: "ship has already sailed" - we are captains, we can return this ship back, it is only about costs.
Is it possible to have the fallback as @Lorondos mentions?