Skip to content

[Discussion] Is it time to sunset this project? 🌆 #467

Open
@rogerluan

Description

@rogerluan

Overview

The more time goes by, the more I believe this project has already provided the community the value it needed, and has become obsolete. I believe it's time to officially sunset this project, and guide its users to use a more modern (and maintained) tool.

The Pitch

xcode-install (originally a @neonichu's project, which got transferred to @KrauseFx, which got transferred to the @xcpretty GitHub organization), has been around since April 2015, back when there were no other good options to manage multiple versions of Xcode.

Fast forward to Feb 2019, xcodes is born to provide a more user friendly experience. It bases itself off of xcode-install to figure out the complex Xcode downloading logic, but has since then been actively maintained and new features are incorporated into it on a regular basis. To name a few, that are not present in xcode-install:

These features, plus the fact that this project is pretty much dead in terms of community support/contributions, make me believe that it's time to sunset this project. I did some contributions in 2021 and @KrauseFx was kind enough to invite me to become the maintainer of this project, and I have been since then, but only from an admin standpoint. Unfortunately I haven't had the appetite to implement new features and fix bugs, just review others' PRs and release new versions 😔

How can we transition xcode-install's users seamlessly to Xcodes CLI?

If we wanted to make the most out of the sunsetting of this project, IMO this is what we'd need, ideally:

  • First and foremost, encourage users to migrate from xcode-install to Xcodes.
    • This has the added benefit of increasing Xcode's community, which is exponentially positive for the longevity of that project. A project used by many is more likely to be maintained, and a project being maintained is more likely to be used by many — it's a virtuous cycle.
    • Pin a GitHub Issue to this repo, documenting these changes, and pointing users to a migration guide.
    • Add deprecation reminders across xcode-install's footprint, e.g.: a yellow log-only warning when running xcode-install CLI/action, archiving this GitHub repo, add a note to the header of this repo's README file, etc.
  • To be able to "convince" users to migrate from one tool to the other, we need to support them, for instance by creating a bridge between the tools.
    • This bridge should include the most common (if not all) use cases, e.g.:
      • Allow xcode_install action to use Xcodes, or create a new action that uses it.
        • This can be tricky since Xcodes isn't a Ruby gem. But it's doable :) there are tons of fastlane plugins doing this all the time for all sorts of CLI tools.
      • Allow Xcodes to consume a .xcode-version file.
      • Raise with the community what are other features that xcode-install provides that Xcodes doesn't. Not sure if there's anything that wasn't mentioned above, in this list. Evaluate their implementation in Xcodes.
    • Create a migration guide documenting the process so users' learning curve is reduced.

Ultimately, if we just ghosted issues/PRs in this project and archived it, it'd work. But I care about the users of this repo and would like to leverage its community to make Xcodes better, even more popular and

Are there other actions you think that could be added to this list?

Conclusion

I think it's time. But I think this can be a community decision as well. There are still things to be investigated (e.g. fastlane action and .xcode-version file support), but overall I think Xcodes will provide us with better and more productive tooling, and it's more well maintained. xcode-install served its purpose to be the state of the art tool back in 2015 until 2019, and it inspired Xcodes, so we should all be thankful for, and proud of its history. ❤️

Shout Outs & Mentions

Huge S/O to @neonichu @KrauseFx @mrcljx @jpsim and @timsutton for the work you put into this project! It advanced the state of the art in its field and the developers community benefitted a lot from it! 💟

I'd like to invite you all to this discussion, but also everyone else that uses xcode-install 🙏 Please weight in with your thoughts 💭

Thank you all! ✨

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions