carpentries-incubator / docker-introduction

Reproducible Computational Environments using Containers
https://carpentries-incubator.github.io/docker-introduction/
Other
47 stars 48 forks source link

Docker Desktop Licensing Change #255

Open sstevens2 opened 3 weeks ago

sstevens2 commented 3 weeks ago

Hi all! @ChristinaLK @dme26 @jcohen02 @aturner-epcc

@jsgro and I are going to teach the Docker lesson in a couple weeks and he noticed that the licensing for Docker Desktop is changing again. We may need to think about changing the lesson to use an open source alternative, like podman, instead.

BEFORE Nov 14th: https://www.docker.com/pricing/ AFTER Nov 14th: https://www.docker.com/pricing/november-2024-subscription-changes/ Note: In the new licensing there is no free tier exception for students, educators, and open source projects (except through their formal open source program it seems).

@jsgro has run the lesson through with podman and there is only one command he noted didn't work directly. Think we will probably send custom setup directions, instead of pointing people to the lesson and then have them create an alias where docker = podman and use that in the lesson.

Long term, maybe we should change our installation directions and consider switching the lesson?

aturner-epcc commented 3 weeks ago

I am being dense, I think. Why can't course attendees use the free "Docker Personal" tier?

jsgro commented 3 weeks ago

Greetings @ChristinaLK @dme26 @jcohen02 @aturner-epcc

While it seems that "Docker Personal" may be OK it might depend on how the students download the software itself.

It was reported to me that: ...the license for Docker Desktop only covers personal use, students/educators, and small businesses with fewer than 250 employees - which doesn't include our university.

Therefore there is an ambiguity in the sense that students could download, but can they use that as part of the University? Should they register with a private rather than university email. It is unclear.

Yesterday I tested most of the lesson commands after creating an alias with alias docker=podman to make it easier to copy/paste the commands from the lesson pages.

The one command that did not work with podman was (assuming the alias): docker container run -w /home/alice/ ubuntu pwd. But it does work with the "real" docker command. However, if we also share the current directory, then the -w option works: e.g. using the shorter -v option and assuming the alias to podman: docker container run -v ${PWD}:/home/alice -w /home/alice/ ubuntu pwd then works.

Therefore almost all command work the same and it would be easy to use podman instead. The main change would be to change the installation instructions to install Podman Desktop instead of Docker. Using an alias is a quick fix, but in the end it may be better to change the commands to actual podman command to replace docker commands.

aturner-epcc commented 3 weeks ago

While happy to move to 'podman-intro' in the longer term and agree we may need to do this anyway, I am not sure there is evidence there is a problem here right now.

The question seems to revolve around Docker Desktop. The quote you added:

the license for Docker Desktop only covers personal use, students/educators, and small businesses with fewer than 250 employees - which doesn't include our university.

is from the current pricing T&C's, not the new one. For University of Edinburgh (definitely more than 250 employees!) , they have interpreted this as they are covered by the "students/educators" clause and so it is fine to use Docker Desktop in a university setting at the free tier.

I have had a look around and cannot find the new T&C's up anywhere yet (just summaries of the new price plans). I guess they will be available once the new pricing goes live and we can revisit this then and this may provide more clarity. FWIW, the blog posts describing the new price plans seem to stress that availability of Docker Personal subscription is not changing, just the level of feature availability within the free tier (I do not think the feature changes affect this workshop). However, reading the update T&C's will be required to bottom this out properly. If you have a location for them already, I would be interested to read them.

sstevens2 commented 2 weeks ago

Hi @aturner-epcc! I'm not sure about the new T&C's but the new pricing linked in my first post removes the options for students/educators and open source to use the free tier from my reading of it.

On the current license, I think there is still an issue if you aren't doing open source development. Docker desktop could be used for free for students and educators which covers our learners and instructors in the training but once they leave the classroom and use it for their research it would only be covered if they are working on open source projects. I've not worried about it in the past other than telling learners that if they are not developing open source, they should look into the licensing. I would prefer to give learners an option they can use for their research outside of the workshop without breaking the Terms of Service.

colinsauze commented 2 weeks ago

Could the open source Docker Engine not be used instead of Docker Desktop? It is a bit harder to install this on Windows but is possible (see https://medium.com/@rom.bruyere/docker-and-wsl2-without-docker-desktop-f529d15d9398). On Mac it can be installed using Brew.

aturner-epcc commented 2 weeks ago

Ok, I am convinced we need to move to podman at soon as feasible. The installation on MacOS is straightforward and Linux is what linux does... I think the hardest part of the switch is going to be that the Windows Podman install is more complex than the equivalent for Docker Desktop. Documentation looks ok - I'll have a run through on the windows and MacOS systems I have and see how smooth the process is.

I am not sure Docker Engine is a great fallback option here - I would not feel particularly comfortable recommending to MacOS people that they use homebrew. Podman is a better alternative, I think.

aturner-epcc commented 2 weeks ago

I also think we should get all the extant lesson review issues sorted before we start a Podman port of the material. These all have the "peer review:editorial comment" tag.

sstevens2 commented 1 week ago

I agree it would be good to finish those too.

I'm conflicted about the release after the changes though. We could...

Think we probably need a maintainer meeting to discuss this since it is a big one.

sstevens2 commented 1 week ago

This week is super busy for me as I'm teaching a bunch, next week is only slightly better but I'll try to get a poll out to maintainers next week.