Time to get rid of Docker in our world.
What a thing, docker. I can't get over the staying power it has had despite... Everything.
It's not just the runtime.
If so, I think Nix being able to create docker images addresses that specific concern.
See https://nix.dev/tutorials/building-and-running-docker-images
Or do you mean run as in "use docker image(s) within a nix expression". Like if you have a webapp with a nix devshell but want to start the docker postgres container for development?
You can do that too, yes.
I'm sorry, I don't understand what you mean.
Works like a charm on our macbooks, very neat.
Even if we need to pay, I’m looking for alternatives not Docker Inc. - There is only so much you can take.
I don’t want to rely on them anymore.
Way more enterprise appropriate, for example - granular control on caches
This is just a big "fuck you" to non company supported open source projects, as it turns out even ones labelled "sponsored css" on Docker Inc's own website.
Which are all clearly insignificant and unimportant, dumb little command line utilities and libraries like, say, curl...
https://github.com/docker/hub-feedback/issues/2314#issuecomm...
It's like saying I have to install `vi` via Docker... please don't tell me vim has a Docker hub repo too...
Free Team organizations are a legacy subscription tier that no longer exists. This tier included many of the same features, rates, and functionality as a paid Docker Team subscription.
After reviewing the list of accounts that are members of legacy Free Team organizations, we’ve identified yours as potentially being one of them.
If you own a legacy Free Team organization, access to paid features — including private repositories — will be suspended on April 14, 2023 (11:59 pm UTC). Upgrade your subscription before April 14, 2023 to continue accessing your organization.
If you don’t upgrade to a paid subscription, Docker will retain your organization data for 30 days, after which it will be subject to deletion. During that time, you will maintain access to any images in your public repositories, though rate limitations will apply. At any point during the 30-day period, you can restore access to your organization account if you upgrade to a paid subscription. Visit our FAQ [1] for more information.
[1] https://web.docker.com/rs/790-SSB-375/images/privatereposfaq...
"If you don’t upgrade to a paid subscription, Docker will retain your organization data for 30 days, after which it will be subject to deletion. During that time, you will maintain access to any images in your public repositories, though rate limitations will apply."
The cynical devil on my left shoulder is telling me "Some smartass in an emergency meeting noted the ambiguity in that second sentence, and suggested lets just claim that 'During that time you will maintain access to any images' did not actually mean it's obvious implication that 'after that time you will no linger have access to any images' and this is all just a big misunderstanding" - and that how we ended up with this new "clarification".
The even more cynical devil on my right shoulder is telling me some actively evil asshole intentionally wrote that ambiguous sentence to give themselves a 'get out of jail card' in case complaints went viral...
Pretty unambiguously means "after that period you may not have access to any of your public images".
Methinks that's exactly what they did
Not only that, they said access to your public images. Not "access to your account" or "access to your project". They explicitly mention "any images in your public repositories" as a thing that you will "maintain access" to "during that time".
I personally hate the term “gaslighting”, but it could be apt here.
https://news.ycombinator.com/item?id=29042583
Edit: I just took a look at your recent comments and they seem mostly fine—and some are very good (thank you!), so I've removed the rate limit from your account. I'm taking a bit of a risk in doing that but if you'd meet us halfway in good faith, that should be more than enough to solve the problem.
> Given these statements directly contradict each other
Actually... they aren't contradictory. The organization data will be retained for 30 days and is subject to deletion. That data includes the teams, memberships, etc. But, it wasn't clear what we were going to do about the images. Keeping the public images is important as many other images build on top of them.
> It feels like they changed the actual strategy
We recognize it might feel that way, so apologies. But, that's part of where we are recognize it wasn't clear the technical details... we didn't talk at all about the images. After the feedback, we recognized this, so wanted to make that clear.
I understand the need to make money as a company, but it really is biting the hand that fed messing with open source maintainers
Their goals are completely different. The latter is not there to give you services. It's there to maximize shareholder value.
It's sad to see that HN can't even tell the difference anymore.
Are they allowed to do it? Of course! Are we allowed them to call them out on their bait & switch tactics? Of course, what else are we supposed to do?
Just because something is common, like building a user base based on implicit promises and then pulling the rug once the service reaches critical mass, doesn't mean it should be accepted and normalized.
And GitHub is owned by Microsoft, duh. And they don't do this stuff out of the kindness of their hearts.
> what else are we supposed to do?
How about not falling for the same trap again and again instead?
> ... pulling the rug once the service reaches critical mass, doesn't mean it should be accepted and normalized.
Then don't sit on that rug.
Images are published wherever the author decides that they're published and these changes are going to affect everyone who relies on an image that used to be hosted on Docker Hub.
[1] Disclaimer: I don't know how the product is structured.
They are. Your intent may not have been contradictory, but the messages received by everyone else were contradictory. You should own that if you are serious about doing better. Your intent doesn't really matter in these situations.
This behavior is now demonstrated, it is the desired relationship, and it will be the baseline, all protestations aside.
The apology is meaningless. If this is not what you want, then take steps to limit the damage done to you, and do it now.
What did this mean in that case? That the images will continue to exist but the maintainers cannot update them? They'll just become orphaned?
"During that period" refers to the 30-day period. During that time, the images are accessible. After the 30-day period, they will still be pull-able, but not able to be updated.
>pull-able
To any reasonable average person, these mean the same thing.
Any smart FOSS maintainer will find alternate hosting...
I think that’s obviously the point of the whole exercise — pony up or leave. They’re just doing it in an annoying manner
In other words, the public repos are being archived. If I was a maintainer responsible for providing up-to-date and secure images, then I think it would indeed by my duty to delete them, if I am no longer able to update them.
Specifically (emphasis mine):
> During that time, you will maintain access to any images in your public repositories
So, the logical conclusion, which literally everyone else on HN had, was that after that time you will lose access to images in your public repositories; access meaning "we can get to the image" in this context, because that's what people f-n care about.
Not to mention the other part, about how Docker will still have images available for pull that can't be changed, for which there is no way to "forward" user pulls elsewhere if the developer chose to not pay the fee; so in affect you're capturing their user base with old software and almost no way to know that.
"DevRel" at Docker failed this week. Just own up to it, take the hit, and don't be evasive. Evasiveness is shady and no one trusts that bullshit.
Keeping them read only is literally the worst solution. Old images that can't be updated and accrue security flaws, all while uninformed users see address still work and assume nothing needs to be changed.
Your corporation picked literally worst way to do it.
I disagree. The worst way would be to make a blanket decision for all projects on their behalf.
This way they let the project maintainer decide.
For projects that don't get updated, it's better to leave them where they are.
For projects that are changing the maintainers can choose to delete (or move to a paid / OSS plan).
Choice is good, and giving that choice to maintainers is good.
The final act if goodness (and I'm not clear yet) is whether maintainers will be able to delete an image at some point in the future. Like say a year from now. Possibly by creating a paid account, and "reclaiming" that image.
Personally I agree that your advice to delete them may be the best option for most maintainers who have decided to leave. And they currently have the ability to do that.
Hence my assertion that your statement is incorrect.
Keeping the public images available in an archived state is okay for specific image references, but questionable for specific image tags and somewhat irresponsible for the `latest` tag. A `latest` tag that cannot be updated is ... worse than no `latest` tag.
Responsible maintainers that are unable to apply for open-source status or otherwise sponsor their usage of organization public repos should be advised to delete their public repos.
Responsible users of public images on Docker Hub need to have a way to determine which images will be affected, and which will continue to be maintained. Archiving the public repos gives an extended grace period, but users will still need to be prepared to notice if they end up using a now unmaintained, archived repo and migrate to alternative image sources.
What's irresponsible is relying on a "latest" tag for updates.
If you've been referencing org/image:tag where tag=major-minor, and gets updated when there's a patch, then that's going to stop getting updated.
Without either the tag being deleted (and thus your pulls failing), or going out to find updates on that container - you may not notice that it's fallen out of date and the image/tag is no longer being updated.
With the entire organisation being removed from Dockerhub, it sounds like there's not even going to be a way for people to say "We've moved off Dockerhub, our images/source/etc is now over here".
You'll just have to search and hope you can find where it's moved to.
Let's take for example the "jenkins/jenkins:latest" image.
Jenkins is notorious for having security updates, so in 2 years, if the latest tag is still there and frozen, it will be an attractive nuisance, causing people to download insecure software...
That's what the parent comment is trying to say. It's irresponsible to leave the image that implies it's "up to date and secure" because it's "latest", but is really insecure, and the organization owning it cannot change anything about that without paying $$. It's basically holding users of the image hostage.
Yes, obviously making existing tags immutable is bad. Nobody is disputing that.
My take on Jenkins with all its plugins is that it need to be properly shielded from external access anyways.
sometimes I want a container running the latest version of something. maybe i'm integration testing my stuff against that release to make sure stuff still works. or maybe I'm hoping a bug was fixed and will version pin later.
i agree that production software should version-pin all the things, but latest still has a place.
you're on the Docker DevRel team, why are you talking like this? why do you feel the need to be confrontational? not a good look.
With no way for the person who posted them to ask people not to use them?
The whole thing only needs docker infrastructure getting hacked because it used some of the now-orphaned containers to complete the shitshiw
BigCo or GovDepartment gets popped via a known exploit against a fixed bug in an OSS project, but GitHub has prohibited the project from updating the explicable image they host without paying a ransom of $420/year?
That seems an great way to take some very significant reputation hits.
> During that period you will maintain access to any of your public images.
The only reason that sentence would be in there is if after that period you would lose access to the public images! And from Merriam-Webster, "access", verb, definition two: "to open or load (a computer file, an Internet site, etc.) a file that can be accessed by many users at the same time".
> it wasn't clear what we were going to do about the images.
No, it was quite clear; after the 30 day period we would not be able to pull the images. That's what the announcement said. It was not ambiguous. That may not have been the policy or what was intended to be announced, but the issue here isn't a lack of clarity.
(Also, letting the images stay accessible but disallowing any changes is only marginally better than just removing them, so the current policy - whether or not it's the same as the originally announced policy - is still terrible.)
But yes, a missing word is certainly a plausible explanation for how they issued a statement that meant the opposite of what they apparently intended.
> During that period you will maintain access to any of your public images
Assuming that the you in that sentence is the organization and not the general public (given the use of your organization earlier in the paragraph), the logical interpretation is that they meant write access here, and not all access -- since read access is not limited in any way to the you in that sentence.
Yes, I agree the original messaging was terrible. But claiming that the original can only have meant all access is not consistent with the wording of the announcement.
It’s like watching a five year old who’s convinced he can fool his parents.
Many TT-RPG players enjoy reading rules carefully and figuring out fun ways to "exploit" them. So everyone jumped on WotC's changes and dissected the implications. And many companies in the larger ecosystem quickly announced plans to ship their own games competing with D&D.
WotC decided to back down and to just use Creative Commons, which largely resolved the immediate issue.
This kind of thing happens inside companies all the time, including the one you're probably working at right now.
No need to get up in arms over it.
People who are bored (like me) will post rants and accusations.
This is not just the wrong date for a convention in the newsletter. What impact does it have on the ecosystem they've built? Some really serious projects use Docker and even if they have their own repositories can they be sure the software they rely on can keep publishing containers?
Even at the tiny startups I've worked on I'm asked to proofread any technical stuff they want to publish, I assume Docker does too.
In reality they were probably just going to disable access to updating all along and then maybe someday delete things, but didn’t want to say exactly that.
So at best, they just tanked their reputation for... minimal cost savings?
I always am annoyed by how companies apologize for the communication or the confusion arising after the communication. As if we, the public, didn't understand properly or are too dumb to understand what they tried to say. We understood perfectly and the _message_ was dumb, not the communication around the message. It doesn't feel like an honest apology.
New communication: > We’d also like to clarify that public images will only be removed from Docker Hub if their maintainer decides to delete them. We’re sorry that our initial communications failed to make this clear.
Given these statements directly contradict each other I am a bit surprised this is called clarification. It feels like they changed the actual strategy, not just the communication around it.