Slashdot Mirror


Should Docker Move To a Non-Profit Foundation?

darthcamaro writes "Docker has become the new hotness in virtualization technology — but it is still a project that is led by the backing of a single vendor — Docker Inc. Is that a problem? Should there be an open-source Foundation to manage the governance and operation of the Docker project? In a video interview — Docker founder and Benevolent Dictator for Life Solomon Hykes says — No."

47 comments

  1. It's a very complex issue. by Anonymous Coward · · Score: 4, Funny

    I will wait to see what Bennett Haselton has to say about it.

    1. Re:It's a very complex issue. by Anonymous Coward · · Score: 0

      He's too busy writing a 4,000 word essay on whether it is best to turn the twist-ties closed on your bread bag clockwise or counterclockwise.

      Er, I mean "deasil" or "widdershins".

      Is there a correct answer? Bennett certainly believes there is, but damned if you will be able to tell what his position is simply by reading his novella about the subject.

    2. Re:It's a very complex issue. by Anonymous Coward · · Score: 0

      Solomon Hykes is a kid. I wouldn't trust any product from a company led by a kid.

  2. a foundation? surely a product should be first. by Anonymous Coward · · Score: 4, Insightful

    Foundations are used when an established product has such a broad userbase that representing it well requires an independent group of people.

    A foundation for a thing which is as of now just a tool to assist in using other tools seems overkill. Unless your point is to hype the company.

    I understand that this company just got another round of financing ... (according to wikipedia).

    Perhaps someone out there wants their stock to go up by discussing it.

    Rest assured, this company will fail or succeed on its own and will LIKELY BE REPLACED BY SOMETHING BETTER if the company starts acting like dicks...
    Or if their investors do.

    I hope it annoys you I didn't use the company name once in here.

    See OP.

    M

  3. I thought... by Anonymous Coward · · Score: 1

    Node.js was the problem, and Docker was just shifting that problem to another place in the pipeline.

  4. So, my product goes viral... by geekmux · · Score: 1

    ...and you now expect me to give it away?

    I really need to get to Starbucks and find out just what in the hell all the hipsters are sucking down. Apparently it's a Venti Capitalism with a New Math chaser that doesn't add up for shit.

    1. Re:So, my product goes viral... by OldSpiceAP · · Score: 2

      Actually, docker is already open source. The question is really whether something that's valueable to the open source community needs to be driven by a single company; it's an interesting question. The product though has always been free.

    2. Re:So, my product goes viral... by fuzzyfuzzyfungus · · Score: 2

      Given that it's both free, and free as in Apache 2.0, it's arguably a question that will sort itself out(though this doesn't make discussion and conjecture on the matter illegitimate or anything). Aside from the trademarks, there's nothing stopping anyone from striking out and having their own docker-in-all-but-name. So long as Docker, Inc. appears to be handling the benevolent dictatorship thing competently there isn't much incentive, though, unless you just adore maintaining a fork for the sake of it. If they upset people enough, without actually losing to another technology, we get an x11/Xorg style move; and if something displaces them, they just sink into the murky depths never to be heard from again...

      It doesn't solve any of the annoying questions of making people with disparate objectives and potential personality flaws play nicely with one another; but a liberal software license does lower the stakes: If the controlling entity exerts very substantial power, it really matters how that entity is constituted. If they don't, it just doesn't matter as much because their ability to mal-administer is lower and the potential that everyone will just wander away rather than having to go down with the ship is there.

    3. Re:So, my product goes viral... by Anonymous Coward · · Score: 0

      So you haven't put your lips to an Ariana Grande?

    4. Re:So, my product goes viral... by Anonymous Coward · · Score: 0

      So you haven't put your lips to an Ariana Grande?

      Dude, if and where I put my lips on Ariana Grande is between her and me...

    5. Re:So, my product goes viral... by Anonymous Coward · · Score: 0

      So you haven't put your lips to an Ariana Grande?

      Dude, if and where I put my lips on Ariana Grande is between her and me...

      Dammit, the crap innuendo there doesn't work as well now that I know "Ariana Grande" *is* actually the name of a person and yours was a joke in the first place. :-(

  5. No one cares enough to build a competitor. by visualight · · Score: 4, Informative

    Hype Shmype...

    LXC is the core technology, and the part that's actually revolutionary (for linux). Docker is a cool, well thought out, popular, easy-to-use (etc. ad nauseum) front end to LXC. Yes, I know there some interesting features, but I remain unimpressed. It's still a FRONT END to containers. Honestly I don't know why there aren't several competing front-ends like what happened with cd burning software. Maybe because the people competent to make one just don't care -they are still using LXC directly. It -is- drop dead simple.

    I know I for one don't want application containers anyway, what's it save me a few hundred MB of disk space? Whatever, I'm still using LXC extensively every day, and I still haven't gone past the front page of Dockers website.

    --
    Samsung took back my unlocked bootloader because Google wants me to rent movies. They're both evil.
    1. Re:No one cares enough to build a competitor. by ZeekWatson · · Score: 2

      LXC is the core technology, and the part that's actually revolutionary (for linux).

      LXC is not really revolutionary, OpenVZ and Linux-VServer provided linux containerization for many many years.

      I expect someone to come along any minute now and say that Docker no longer uses LXC anyway, now it uses libcontainer. This isn't true, libcontainer is just another frontend to LXC, libvirt being the first project to run a LXC without using the LXC userland.

      http://linux-vserver.org/

      http://openvz.org/

    2. Re:No one cares enough to build a competitor. by OldSpiceAP · · Score: 1

      In some ways it has some interesting usages. I can spin up a few hundred CentOS boxes (A lot of places use redhat even though I tend towards debian based distros personally) and have them configured with Salt to simulate a flexible cloud architecture, do integration tests, or a bazillion other things. As for the way it functions differently than the lxc containers, that's another story. It's build on aufs (though has support for other systems) and thus also does versionioning on write. I can tag anything at any point, rewind them, etc... but they behave exactly like virtual machines, right down to shells and package mangement. It's weird, but super cool.

    3. Re:No one cares enough to build a competitor. by gmuslera · · Score: 2

      LXC existed for some years so far, and the same for containers and similar technologies in other platforms. What Docker added over lxc is adding the use of an unionfs for reusing/improving containers, a simple way to share them, and a simple but powerful command line utility and api to manage them.

      There is nothing so special in sulphur, charcoal and salt peter, but do the right mix with them and you get something explosive (and used in revolutions, too)

    4. Re:No one cares enough to build a competitor. by csirac · · Score: 3, Interesting

      Before docker, as a (not necessarily web) developer I used vagrant to create reproducible environments and build artefacts from a very small set of files. The goal being: I should be able to git clone a very tiny repo tracking a few KiB of scripts and declartiive stuff/config, which - when run - pulls down dependencies, reproduces a build toolchain/environment, performs the build, and delivers substantially identical artefacts regardless of which machine I run it from. I should be able look at an artefact in 2-3 years time, look it up in our version history and reproduce it easily.

      Achieving this isn't so easy. Even if I had been using LXC all along I still wouldn't have had the main thing from Dockerfiles that I enjoy: cached build steps. I've been cornered due to time pressures in the past where I can't afford to tweak everything nicely so I've had to release build artefacts from a process which isn't captured in the automation (i.e. I manually babysat the build to meet a requirement on time). This is because hour-long builds make for maybe 3-4 iterations per day, so you have one thread of work where you're hacking interactively while you wait to see if the automation was able to deliver the result you were up to an hour or two ago. I still have this to an extent with Docker (adjust build step and re-run, or step in interactively to explore what's needed) but because Dockerfile steps are cached these iterations are massively accelerated and there's only a handful of occasions where I had to bypass this process now.

      I can't speak for using Docker to actually containerize running applications (that's not how I use it), but just this narrow usage of Docker has helped my productivity enormously.

    5. Re:No one cares enough to build a competitor. by westlake · · Score: 1

      Docker is a cool, well thought out, popular, easy-to-use (etc. ad nauseum) front end to LXC

      The front end is where open source tends to fail. Falls flat on its face. Have you ever wondered why?

    6. Re:No one cares enough to build a competitor. by Anonymous Coward · · Score: 0

      There's a open source project for a similar virtualization framework (OpenVZ) called Feathur: https://github.com/BlueVM/Feathur

      The framework is there for someone to add LXC as the internal structure was designed to handle multiple virtualization types... my understanding is they plan to add LXC, but that OpenVZ is a larger market base so they focused on that first.

    7. Re:No one cares enough to build a competitor. by visualight · · Score: 1

      I've never used Docker and I've always had cached build steps. It takes less than a second create a handful of [new] containers, making reusable containers basically useless.

      --
      Samsung took back my unlocked bootloader because Google wants me to rent movies. They're both evil.
    8. Re:No one cares enough to build a competitor. by Anonymous Coward · · Score: 0

      Hello. Just out of curiosity. What do you mean by "cached build"? An LVM snapshot for example?

      Thanks

    9. Re:No one cares enough to build a competitor. by Anonymous Coward · · Score: 0

      There are a bunch of systems in my datacenter that a vendor says "you want to run our tools, you can only run them on these systems". It's not just licensing. We bought and installed RHEL 5.8 with a list of packages they told us to install. Then their engineers came in and when the dust settled, RHEL 5.10 was running on those boxes. The application still crashes sometimes or the specialized hardware boards stop working "just because" and the support engineers are murffling.

      But we can't touch it. Software wanted to upgrade the python from 2.4 to 2.7 to run their packages of stuff. Nope.

      Containers would allow us (IT) to provide environments for this environment along with the 4 other Linux variants and versions software needs without buying a pricey virtualization solution. It's not about saving disk space for us, but about providing different environments for various clients in our enterprise and not spending $$$$.

      You don't see value in your use-case probably because there isn't any. Not so for me.

    10. Re:No one cares enough to build a competitor. by Anonymous Coward · · Score: 0

      This.

      Plus, since when has docker become the "hottest new technology" - I'm yet to know anyone who uses it, and I hadn't heard it's name in months before this article.

      Anyone after containers is already on BSD or solaris anyway, or those tied to linux have been using LXC+CGroups for years.

    11. Re:No one cares enough to build a competitor. by liquidweaver · · Score: 4, Informative

      Docker does not use LXC anymore by default, fwiw.

      --
      mov ah, 4ch
      int 21h
    12. Re:No one cares enough to build a competitor. by csirac · · Score: 1

      Docker's transparent caching of RUN/ADD/etc Dockerfile steps has nothing to do with reusable containers. That "it takes less than a second [to] create a handful of [new] containers" is just as true for docker as it is for plain old LXC.

      There are two sentences here but I'm not sure how they relate to each other, or the docker feature I'm discussing.

    13. Re:No one cares enough to build a competitor. by Anonymous Coward · · Score: 0

      "Hi everyone, look at me. I'm so terribly bored by things I don't use that I have to come tell you how they're useless to me on Slashdot." Let me guess - you're a second-rate sysadmin at third-rate company, who thinks that his 12-node web server farm is just about the most complex thing in the world?

      Maybe the features of Docker aren't for you... but their own FAQ outlines quite a few things that Docker adds on top of the base LXC functionality:

      What does Docker add to just plain LXC?
      Docker is not a replacement for LXC. "LXC" refers to capabilities of the Linux kernel (specifically namespaces and control groups) which allow sandboxing processes from one another, and controlling their resource allocations. On top of this low-level foundation of kernel features, Docker offers a high-level tool with several powerful functionalities:

      Portable deployment across machines. Docker defines a format for bundling an application and all its dependencies into a single object which can be transferred to any Docker-enabled machine, and executed there with the guarantee that the execution environment exposed to the application will be the same. LXC implements process sandboxing, which is an important pre-requisite for portable deployment, but that alone is not enough for portable deployment. If you sent me a copy of your application installed in a custom LXC configuration, it would almost certainly not run on my machine the way it does on yours, because it is tied to your machine's specific configuration: networking, storage, logging, distro, etc. Docker defines an abstraction for these machine-specific settings, so that the exact same Docker container can run - unchanged - on many different machines, with many different configurations.

      Application-centric. Docker is optimized for the deployment of applications, as opposed to machines. This is reflected in its API, user interface, design philosophy and documentation. By contrast, the lxc helper scripts focus on containers as lightweight machines - basically servers that boot faster and need less RAM. We think there's more to containers than just that.

      Automatic build. Docker includes a tool for developers to automatically assemble a container from their source code, with full control over application dependencies, build tools, packaging etc. They are free to use make, maven, chef, puppet, salt, Debian packages, RPMs, source tarballs, or any combination of the above, regardless of the configuration of the machines.

      Versioning. Docker includes git-like capabilities for tracking successive versions of a container, inspecting the diff between versions, committing new versions, rolling back etc. The history also includes how a container was assembled and by whom, so you get full traceability from the production server all the way back to the upstream developer. Docker also implements incremental uploads and downloads, similar to git pull, so new versions of a container can be transferred by only sending diffs.

      Component re-use. Any container can be used as a "base image" to create more specialized components. This can be done manually or as part of an automated build. For example you can prepare the ideal Python environment, and use it as a base for 10 different applications. Your ideal Postgresql setup can be re-used for all your future projects. And so on.

      Sharing. Docker has access to a public registry where thousands of people have uploaded useful containers: anything from Redis, CouchDB, Postgres to IRC bouncers to Rails app servers to Hadoop to base images for various Linux distros. The registry also includes an official "standard library" of useful containers maintained by the Docker team. The registry itself is open-source, so anyone can deploy their own registry to store and transfer private containers, for internal server deployments for example.

      Tool ecosystem. Docker defines an API for automating and customizing the creation and deployment of containers. Ther

    14. Re:No one cares enough to build a competitor. by coop247 · · Score: 1

      Docker defines an abstraction for these machine-specific settings, so that the exact same Docker container can run - unchanged - on many different machines, with many different configurations.

      So a newer, spiffier version of Java. Great!

      I know people who spend all this time "docker-ing" a web app, and I ask them why and they say "I can deploy it to any machine in like no time." Ok, so how many servers do you have. "One"

      --
      //TODO: Insert catchy phrase
    15. Re:No one cares enough to build a competitor. by visualight · · Score: 1

      AC, your inability to see below the surface abstraction layers is your defining characteristic.

      Portable deployment across machines. -- LXC templates accomplish this quite nicely, Docker is not needed.

      Application-centric. -- "Minimal image" vs "Strictly what's needed by the app" saves 1 or 2 hundred MB? Don't care.

      Automatic build. -- Anyone is free to use a state machine with LXC.

      Versioning. -- State machine + Git!

      Component re-use. -- You can cache with plain old LXC as well. Woot!

      Sharing. -- Put your template in GitHub Yay!

      Total Ecosystem. -- Don't need Docker to use any of those tools...

      --
      Samsung took back my unlocked bootloader because Google wants me to rent movies. They're both evil.
    16. Re:No one cares enough to build a competitor. by Coppit · · Score: 1

      What got me is that he admitted that he hadn't even tried the thing he's poo-pooing.

    17. Re: No one cares enough to build a competitor. by Anonymous Coward · · Score: 0

      I've no understanding of docker or what or does to cache building steps , but I'm important and would like to say something....

      Ftfy

    18. Re:No one cares enough to build a competitor. by visualight · · Score: 1

      ^^THIS! is the entire point of my original post, glad you understand that Docker just doesn't bring anything new or compelling to the world.

      --
      Samsung took back my unlocked bootloader because Google wants me to rent movies. They're both evil.
    19. Re:No one cares enough to build a competitor. by CyberLife · · Score: 1

      Yes, people can always roll their own solution ... if they want to.

    20. Re:No one cares enough to build a competitor. by Anonymous Coward · · Score: 0

      So what you're saying is:
      1) You've never used the tool.
      2) You claim you can roll your very own solution to every single one of these "things Docker adds on top of LXC".
      3) Therefore Docker is worthless.

      I trust you've rolled your own userland on top of the Linux kernel, as well? Or perhaps you've done away with the entire Kernel, and implemented your own from scratch? You know, since the tools to do so already exist, and you don't see the value in reusing already-written open source tools?

      Once again: the opinion of a clearly second-rate sysadmin at third-rate small company is pretty much irrelevant to this discussion. But thanks for chiming in with your "big knowledge."

    21. Re:No one cares enough to build a competitor. by Anonymous Coward · · Score: 0

      I think you misunderstand, friend. He clearly wasn't pointing out you were right - he was pointing out that your bloviating opinions are based on your own admittedly non-existent hands-on experience with the tool you're talking shit about.

      Try again, champ.

    22. Re:No one cares enough to build a competitor. by Anonymous Coward · · Score: 0

      And you're an idiot who doesn't know sarcasm when he reads it. Try again sport.

    23. Re:No one cares enough to build a competitor. by visualight · · Score: 1

      2) You claim you can roll your very own solution to every single one of these "things Docker adds on top of LXC".

      No dumbass. The solutions already exist. Man you're dense. Go back to your bandwagon junior.

      --
      Samsung took back my unlocked bootloader because Google wants me to rent movies. They're both evil.
    24. Re:No one cares enough to build a competitor. by Anonymous Coward · · Score: 0

      The solutions already exist.

      And since we already have the tools to compile assembly code to binary, why bother with higher level abstractions, amirite?

      If you don't see the value of composition and higher-level abstraction, then again: second rate sysadmin, third-rate infrastructure.

    25. Re:No one cares enough to build a competitor. by Anonymous Coward · · Score: 0

      You're an idiot.

  6. Let the man make his money by lseltzer · · Score: 2

    If he thinks he can make it successful as a commercial enterprise, why shouldn't he?

    1. Re:Let the man make his money by Noah+Haders · · Score: 1

      seriously. this guy made a product that everybody finds useful. it is now the default choice. Good for this guy and his hard work. he should make bank for his efforts; everybody else in SV is doing it. if some rich benefactor feels strongly enough that this should be managed by a foundation, then he or she can drop a several $m to buy this guy out and open it up. Or, perhaps the community cares enough to crowdsource some cash, but that's unlikely. The alternative choice is that oracle buys this guy's shizz and assimilates it into the borg collective.

  7. Re:a foundation? surely a product should be first. by jopsen · · Score: 1

    Rest assured, this company will fail or succeed on its own and will LIKELY BE REPLACED BY SOMETHING BETTER if the company starts acting like dicks...

    I agree... Another factor to consider is the fact the codebase is fairly small... I have first hand dived into because of lacking docs...
    Compared to a product like LibreOffice/OpenOffice, apache, Firefox, Linux, docker is very small project. So launching a competing product isn't that hard...

  8. Learned Hype like the Ruby on Rails folks by Anonymous Coward · · Score: 0

    Over Hyped like Ruby on Rails.

    The solution already exists - LXC or openvz or UML before those. It isn't point-n-click easy, so that makes it tooooooo hard for most of the world, I guess. Admins avoid PnC when possible. Slows things down.

    I think containers are interesting for development and internal applications. Don't think I'd ever deploy an internet facing application in a container. The security just isn't solid enough. There is a long history of containers being broken out of - I'd rather not have the base OS trashed.

    But that is just me, so perhaps it will make billions of $$$ for the man, which is fine. If he can make a market, good. I have noticed that lots of application developers seem to love it, but they don't know much about virtualization, as a group, from what I can see. Linux admins and people familar with Linux virtualization are NOT impressed. Seems like 99.999% marketing, 0.0001 technology.

  9. Non profit, bah, design by committee, ... by gwstuff · · Score: 1

    One of the reasons that OpenStack is such a mess is because it is a conglomeration of 1000 vested interests pulling it in a 1000 different directions. The same goes for numerous high profit non profits out there. The good thing about Docker Inc. running Docker is that it is a small team with a vision and one that knows what it wants.

    There's also the thing that 'non profits' that are established at an early stage to run a project aren't really non profits, because they are funded and consequently influenced by for profit companies. This leads to the *worst* case of design by committee possible. Remember that when the Linux Foundation took over Linux, Linux was a mature project with well defined governance and structure.

    1. Re:Non profit, bah, design by committee, ... by gwstuff · · Score: 1

      s,high profit non profits,high profile non profits ...although the mistyped version has some amusement and juice to it...

  10. Assuming it's open source, who cares. by ron_ivi · · Score: 1
    If it's managed well, who cares what the organization / tax structure of the backers are.

    If it gets mismanaged by an individual, you'll get dozens of non-profits as well as corporations that are welcome to fork it and try to convince people to use their own forks

    If it gets mismanaged by a non-profit, you'll get dozens of commercial companies and individuals that are welcome to fork it and try to convince people to use their own forks.

    In the end, the best managed fork will win; regardless of how it's taxed.

  11. Why should he listen? by rebelwarlock · · Score: 1

    Just because you once pushed a commit doesn't mean you get to tell the owner to go non-profit.

  12. Let me just end the thread... by Anonymous Coward · · Score: 0

    If anyone is truly concerned and would prefer this tool be developed in a more open and public fashion, click this link, sign-in, and click "fork":

    https://github.com/docker/docker

    Good luck with the whole getting people to help and shit. Cause no one cares. Docker is by far the less important piece of the technologies in question. The important chunks are in the Linux kernel itself. They're developed quite openly, and are not terribly difficult to use w/o Docker in the first place.

    Hykes is right.