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

Rename "osx" platform to "macos" #1161

Closed
aaronfranke opened this issue Jul 4, 2020 · 12 comments · Fixed by godotengine/godot#40961
Closed

Rename "osx" platform to "macos" #1161

aaronfranke opened this issue Jul 4, 2020 · 12 comments · Fixed by godotengine/godot#40961

Comments

@aaronfranke
Copy link
Member

Describe the project you are working on: This applies to anything related to Godot on Mac.

Describe the problem or limitation you are having in your project:

The problem is that the name "osx" is no longer correct. The name "Mac OS X" has been deprecated since 2016 when Apple rebranded their Mac operating system to "macOS". However, in addition to this, the name "osx" is now just flat out wrong, since the "x" stands for "10", but macOS Big Sur is going to be version 11.0.

Describe the feature / enhancement and how it helps to overcome the problem or limitation:

Renaming "osx" to "macos" would solve this problem.

Describe how your proposal will work, with code, pseudocode, mockups, and/or diagrams: Find/replace and file renaming.

If this enhancement will not be used often, can it be worked around with a few lines of script?: No.

Is there a reason why this should be core and not an add-on in the asset library?: Yes, Mac support is core.

@anissen
Copy link

anissen commented Jul 6, 2020

Additionally, the icons for "Mac OS X" should be replaced.

Here are the platform icons from the documentation:
image
Here, the icons for Android, iOS and Mac OS X/macOS are outdated, maybe some of the others as well.

Also, iOS have been split into iOS and iPadOS, but that may be for a different issue.

@zoe-edwards
Copy link

Here’s an even wilder suggestion: if Apple want to push towards having apps that work on all devices, you actually could have one single Apple OS build for iOS, iPadOS, macOS, and tvOS. I am slightly trolling here, but there are a lot of games that are on all four platforms already!

@Calinou
Copy link
Member

Calinou commented Jul 16, 2020

@ThomasEdwards That's not technically possible (at least currently). Each OS exposes its own APIs.

akien-mga pushed a commit to godotengine/godot that referenced this issue Aug 11, 2020
Updates the logos of for macOS, Android, and iOS; Also
changes "Mac OSX" to "macOS"

Addresses godotengine/godot-proposals#1161
@aaronfranke
Copy link
Member Author

godotengine/godot#40961 doesn't completely fix this proposal. The folder name is still "osx": https://github.com/godotengine/godot/tree/master/platform/osx

@aaronfranke aaronfranke reopened this Aug 11, 2020
@akien-mga
Copy link
Member

Some comments about this from IRC:

12:06 <Akien> @all: WDYT about renaming `platform/osx` to `platform/macos` (and all relevant files and classes similarly) and `platform/iphone` to `platform/ios` in master?
12:07 <Akien> Pros: that's the correct names for those platforms, and now's a good time to do this change. I just merged a PR that fixed the public facing "Mac OS X" name and outdated logos.
12:08 <Akien> Cons: Messes up with `git log` unless you use `git log --follow`, introduces discrepancy with 3.2.x files/classes, big diff for a cosmetic/consistency change.
12:08 <Akien> I'm in favor of it myself, though I don't feel very strongly about it.
12:09 <Akien> fales[m]: BTW you mentioned renaming the javascript platform too IIRC?
12:11 <bruvzg[m]> Apple SDK folders are still called `MacOSX` and `iPhoneOS`.
12:13 <bruvzg[m]> Even in macOS 11.0
12:13 <bruvzg[m]> Public text and icons should be changed, I do not see any benefit in changing folder names.
12:48 <fales[m]> Akien: yeah, I was thinking about "web". If not for the files themselves, at least for os name and export, which is now "html5"
13:49 <RevoluPowered> Akien: would recommend it since linux was renamed recently
14:23 <Calinou> I'd go for "html5", "macos" and "ios" as these are the most common public-facing names used
14:23 <Calinou> (even if "html5" is technically incorrect, but do we want "webplatform"? :P)

I would now tend to side with @bruvzg, if even Apple (who usually don't mind breaking compat) have kept the MacOSX and iPhoneOS names for their SDKs, we can also keep the legacy names and avoid introducing needless diffs.

It's not just about renaming the osx folder, but all _osx.* files, and all *_OSX classes, which is a ton of changes which will further complicate cherry-picking any changes to 3.2. We did it for the x11 platform as there the name was becoming actually wrong (since we will have Wayland support in the future), but for osx and iphone the case is less strong.

@aaronfranke
Copy link
Member Author

aaronfranke commented Aug 11, 2020

I am far less concerned about iphone than I am about osx. The name osx will be wrong soon, and it isn't very descriptive for anyone not familiar with Apple products because it doesn't include "mac" in the name. iphone is technically not the OS name but it is still very descriptive and isn't really a wrong name, since all iPhones (are supposed to) run iOS.

IMO, let's rename osx first and then we can decide what to do with iphone after osx is renamed.

@BrainBlasted
Copy link

I didn't initially rename the folders/classes because of reasons stated above - it could cause issues when moving to 4.0 from 3.2, mess with how fixes are backported, and was generally a large amount of effort for something that's not user visible. Does that seem to be the consensus on this?

@aaronfranke
Copy link
Member Author

There are already a ton of breaking changes in 4.0, and the purpose of a major version bump is to allow breaking compatibility.

@BrainBlasted
Copy link

Sure, but in addition to compatibility on the user end, it would also add overhead to the development process. I wasn't sure if that overhead would be welcome.

akien-mga pushed a commit to akien-mga/godot that referenced this issue Aug 13, 2020
Updates the logos of for macOS, Android, and iOS.

Addresses godotengine/godot-proposals#1161

(cherry picked from commit 41d8c0c)
MarcusElg pushed a commit to MarcusElg/godot that referenced this issue Oct 19, 2020
Updates the logos of for macOS, Android, and iOS; Also
changes "Mac OSX" to "macOS"

Addresses godotengine/godot-proposals#1161
huhund pushed a commit to huhund/godot that referenced this issue Nov 10, 2020
Updates the logos of for macOS, Android, and iOS.

Addresses godotengine/godot-proposals#1161

(cherry picked from commit 41d8c0c)
@aaronfranke
Copy link
Member Author

Some discussion from IRC:

EricEzaM
    Also on a slightly different topic, OSX_ENABLED and APPLE_STYLE_KEYS
    seems to be used interchangably. Can this just be combined into
    PLATFORM_MAC or something?
Akien
    Well OSX_ENABLED == PLATFORM_MAC, no need to add a new one.
EricEzaM
    Didn't we want to rename OSX to Mac in general tho, like for export templates
Akien
    I think the code using OSX_ENABLED could likely be changed to use
    APPLE_STYLE_KEYS, in case this becomes relevant for iOS in the future.
    There's no such thing as "Mac" since the end of the 20th century :)
EricEzaM
    Hmmm interesting, UE actually maps VK_LWIN and VK_RWIN (windows keys)
    to Left and Right "Command" respectively
    Which seems to match what apple says on their site On keyboards made
    for Windows PCs, use the Alt key instead of Option, and the Windows
    logo key instead of Command.
Akien
    And we opted against renaming to "macOS" as the Apple SDKs are still
    called OSX, so there's not much gain doing such a rename in the backend.
aaronfranke
    I wonder if Apple will eventually change their SDKs to use the macOS name.
Akien
    Maybe, but they haven't changed the name of the iPhoneOS SDK when
    rebranding to iOS years ago, so maybe not. That's the only thing where
    they don't happily break compat :P
aaronfranke
    I'm fine with iPhoneOS or iphone instead of iOS, they are still
    accurate and descriptive names.
    With osx, the x is supposed to be the roman numeral for ten, so it
    doesn't apply to eleven. Though I guess the roman numeral still stars
    with X until we get to macOS 50 which would be L
Akien
    ¯\_(ツ)_/¯
    It's a backend identifier, it doesn't matter.
    If Apple believes it's important to change the SDK name for their
    branding, we can change it too.
    Actually I should check what's used in Xcode 12.2
Akien
    And while X in OSX did initially stand for 10, the fact that they name
    their SDK MacOSX10.15.sdk and their releases Mac OSX 10.x" shows that
    the branding changed from "Mac OS X" for version 10 to "Mac OSX" version
    whatever, and then "macOS" version whatever when they finally realized
    their inconsistency.
    Yep the SDK seems to be MacOSX11.0 .sdk
aaronfranke
    Very strange, very inconsistent. A bit of an ugly thing considering how
    much Apple cares about branding :P
Akien
    Otherwise we can rename the platform to darwin, that one doesn't change :)

Anyway, I'll close this for now. This can still be reconsidered later, but for now the answer is no.

@akien-mga
Copy link
Member

To clarify, all public facing strings have been renamed to match the public branding already. What's left is backend code and at this level what things are named doesn't matter much.

@aaronfranke
Copy link
Member Author

Removing "archived" because this was implemented in godotengine/godot#63225

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

Successfully merging a pull request may close this issue.

7 participants