-
-
Notifications
You must be signed in to change notification settings - Fork 10.8k
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
Consider moving into Homebrew GitHub organisation #41990
Comments
Regarding collisions, it should be noted that there is still some duplication/overlap between some homebrew formulae and casks (see #15603). In particular: emacs, macvim, wireshark, mono/mono-mdk, djview4/djview, etc |
@wickles Most are intentional duplicates. From the issue you linked: #15603 (comment)
The purpose of this issue at this stage is to discuss if we should move, please keep comments on topic or it will be locked. *Edit for clarity: I'm not sure if it is possible to build the complete |
I‘m definitely in favour of this. Just not sure what would be the best place to start with. Probably allowing versioned Casks in |
I don't really have an opinion either way with regards to moving. Personally I would oppose splitting up the taps between different organisations, so I think if we do move, we should move all of the taps. Moving Casks from One potential issue is the impact the Cask repos will have on the overall Homebrew build queue for Travis CI. Builds are queued per organisation, so our traffic will delay builds in |
Unfortunately these are contradictory desires, hopefully as I explained above (I'll happily elaborate if not, though).
Homebrew is fine with this 👍 |
I’m still thinking about this, and had been waiting for some other opinions first. This is partly to me not immediately seeing a great benefit either way.
Could you, please? Why is there a contradiction? I agree with @commitay. Having I also agree that to move it’d make sense to either move everything or nothing. I say this because from all the repos, the one that mostly makes sense to stay in a different organisation is the main one. I feel strongly the main repo is much more than a tap — it‘s a place for discussion of policy and documentation that affects a whole group of taps (the ones that have casks). Formulae and casks are different things and both projects have slightly different aims. We both want to facilitate the management of software, but HB’s rules are more strict about what they allow. We all understand that due to the nature of what we install (a major difference being that HBC allows non-open-source software) it makes sense for both projects to have different rules. Occasionally (though less frequently than before) we still get users to whom we have to explain those differences. By merging the main tap into the HB organisation, I think that will become harder to explain again. It’ll be even harder to explain why some official taps are in a different organisation. |
Homebrew/homebrew-versions already exists so Caskroom/homebrew-versions cannot be moved across (unless it gets renamed to something like Homebrew/homebrew-cask-versions).
I agree with not doing this.
I'm not sure the org name would change that if everything else remains the same. Worth noting (I'm sure everyone knows this but some readers may not) that Homebrew/brew contains all the |
Couldn’t we change the core to allow taps to have a Did we discuss this idea before (I’m getting déjà vu thinking of it)? Is there a reason why it’s not feasible? |
I think there's something to be said for consistency.
is the status quo. I think it would be much nicer for users to be able to
|
There was some discussion about this in the previous intergration issue #14384 |
@ilovezfs No idea how many people actually type Either way, that still does not take into account my argument:
That is to me way more important and more maintainable for our own case. I’m all for more integration between the two projects, but I also think it’s the wrong approach for HBC to do something just because HB does it. It’s imperative to keep in mind that casks and formulae are not just different in terms of code. The nature of the software we allow is so different that if the rules of one project were applied to the other it’d radically change it. We never shied away from taking for ourselves what fits from HB, but we need to have the autonomy to decide what is best for our own cases. |
Before the discussion extends further, I’d like to ping @caskroom/maintainers. Feel free to comment or not, but some may want to at least follow the discussion and it’s easier to start sooner. |
In terms of current use and implementation
That allows a user to
So again there's a confusing inconsistency here. |
I think it would be reasonable to exclude them, rename their repo (
This is technically possible but it's not a good broad change just to avoid a naming conflict.
We agree here but I would say since the projects were integrated that when there's deviation it's confusing for users. As a (very) long-term thing I think it would be good if pretty much all Homebrew and Cask commands were more similar than different.
I think this is a good point. |
Moving the Casks from |
It's no longer an option because that repository has been deprecated and archived. |
Would it make sense then to move all of the stuff with actual versions into the main repository using @, and rename the caskroom-versions repository to caskroom-unversioned? That said, it does sound to me like the separate repository isn't actually needed, though, as it should be possible to treat the question of when |
No, because there are also unversioned casks in the main repo (the ones where the developer doesn’t provided a versioned download and updates the package in place).
The point wasn’t
Different standards; different treatment; different tap. |
OK so can someone please suggest an acceptable name that doesn't involve changing the brew backend? |
e.g. maybe homebrew/homebrew-cask-versions or homebrew/homebrew-cask-alternates? |
@ilovezfs I second that. Been trying back and forth with my own private(-ish) and public taps; the One of my pet goals is, don’t memorize stuff, and don’t design anything that requires others to memorize stuff. |
@claui yeah name-spacing all of the cask taps as |
@caskroom/maintainers, as part of my Google Summer of Code project, I will take on the task of migrating all Cask Taps into the Homebrew organisation. Any objections to the
|
@reitermarkus I get a 404 with your GSOC link |
Should be working now. |
It errors if I try to access it when I'm already logged in to google, works when I log out.
Which commands? |
|
I already moved the |
The cask sub-team within |
@reitermarkus Happy to see the projects moving closer together! Having been a Cask maintainer since 2014 (with the odd hiatus), I’ve decided to commit to what the New Maintainer Checklist says. Looking forward to – finally – become part of the org 😊 |
@reitermarkus Thanks for adding me. I noticed I’ve been added to the cask team. I’ll do Cask maintenance if the project really needs it but I’m neither very skilled nor efficient at it. Working on the Cask core is what I’ve been good at though. That’s what I used to do (until the 2016 reorg came along) and what I’d like to pick up doing. What would be a good path to get me moved back to the (Cask) core team? |
I will add you to the |
I will begin moving over the taps later today. |
Questions:
|
|
There's no time limit; it'll be redirected as long as there's not a new repository created with the same name. |
Just noticed I only have read permissions on the repos. On another note, just did a quick update to Thank you, talk in a few hours! |
I've opened #47609 to discuss moving |
@vitorgalvao, the @Homebrew/cask team has write access to all Cask repos, so not sure why it's not working for you. @commitay, I also explicitly added read access for |
I added them yesterday, they were previously just Read. |
Thanks! |
@joshka Thanks! We'll note it as part of the next major release. |
On the versions part of this (and this may be something to cut off into another issue - please suggest we do so if this thread is not the right place for this). A particular use case that I'd like to be able to solve easily came up the other day in conversation. A music producer friend had an old track that he wrote using a specific version of a VST (a synthesizer) which he couldn't find again. It would have been nice to be able to say |
@joshka We’re talking about a change in nomenclature, meaning the rules on what old versions to actually include are not likely to change that much. I’d be surprised if in the case of your friend there were even two people in the exact same situation. Keeping multiple versions of plugins is not something we’ll aim for. |
It’s exceedingly common with both music software and development software able to run specific point versions of software for compatability reasons. I’m not suggesting that the policy of the main tap changes, more getting an understanding of how to implement this in my own taps where I want the policy to be different. |
Yeah I agree. I've had to switch away from homebrew for many of my development dependencies (e.g. postgresql) because I need precise control of versions. |
For "compatibility reasons" also read "to increase the change of having your machine owned by widely known, already patched security vulnerabilities (particularly on networked software)".
The same way you handle it on any formula/cask/tap: copy the file you want at the version you want to your own tap and then maintain it there yourself.
This is entirely off-topic to this conversation that's not about Homebrew. |
@joshka I recommend to do that as suggested in How to Create and Maintain a Tap. It’s an excellent one-pager, and applies for casks as well as formulas. |
@claui I created https://github.com/joshka/homebrew-audio last night as a response to and issue of putting all the VSTs that a manufacturer makes into homebrew-cask would blow out the count of casks in the core repo for little upside. In there there are a few examples of this problem on a v1 to v2 cask as well as many examples where I explicitly included every version of every plugin available from d16 in the git history (I scripted the repo creation, I’m not insane). This means a person who needs 1.0.0 when 1.1.0 is out installs from a github link, while a person requiring the latest v1 uses brew cask install foo, and a v2 user does brew cask install foo2. 3 ways to install depending on the version. When I’m near a computer I’ll raise a seperate issue to track this instead of continuing in this thread. Mike, |
As we're going off on a tangent here, I've moved over discussion to #47950. Thanks, |
This happened! Nice work @reitermarkus 👏 |
I think the Homebrew/brew merge of
brew cask
code has been a massive success. I'd like to propose that you consider moving caskroom/homebrew-cask into Homebrew/homebrew-cask. I think this would help unify the projects and communities a little bit more and generally strengthen both projects.I think it would be cool to also consider moving the other taps over, too. The only problem is a naming collision with caskroom/homebrew-versions and Homebrew/homebrew-versions but I'd also propose considering the addition of the versioned casks into caskroom/homebrew-cask (this would also be consistent with homebrew/homebrew-core).
Thoughts? Concerns? Feelings?
The text was updated successfully, but these errors were encountered: